Skip to content

Integrations

The Integrations tab is where a GitHub account gets connected — the device flow or a pasted personal access token — so the rest of the app (Launchpad, drafting a PR, a GitHub-backed board) has an account to act as.

Starting the GitHub OAuth device flow shows a real device code, and it can be cancelled

Connecting GitHub uses the same device flow GitHub's own CLI does: click Connect, get a short code and a link to enter it at github.com, and the app polls in the background until you do — no browser popup, no pasted token. Changing your mind mid-flow is one click back to the start.

Starting the GitHub OAuth device flow shows a real device code, and it can be cancelled

Captured from the running app by this scenario.

Do this

  1. Reload the application
  2. Open the settings
  3. Open the integrations settings tab
  4. Click the GitHub OAuth login button
  5. Cancel the GitHub OAuth login

You should see

  • The GitHub device code and activation link are shown
  • The GitHub login options are shown again

Connecting GitHub with a personal access token instead

"Login with a PAT token" is the other way in: paste a token instead of going through the device flow, useful on a machine where opening a browser isn't convenient. An invalid token is rejected with the reason GitHub gave rather than a generic failure, and "Back to options" returns to the choice without losing anything else on the page.

Connecting GitHub with a personal access token instead

Captured from the running app by this scenario.

Do this

  1. Reload the application
  2. Open the settings
  3. Open the integrations settings tab
  4. Click the login-with-PAT button
  5. Enter the PAT not-a-real-token
  6. Submit the PAT
  7. Go back to the GitHub login options

You should see

  • A GitHub connection error is shown
  • The GitHub login options are shown again

Connecting GitHub with a valid personal access token

A token GitHub actually recognizes succeeds immediately — the account appears in the list the moment its login is known, the same list Disconnect and every account-scoped feature (the Launchpad, drafting a PR, a GitHub-backed board) read from.

Connecting GitHub with a valid personal access token

Captured from the running app by this scenario.

Do this

  1. Reload the application
  2. Open the settings
  3. Open the integrations settings tab
  4. Click the login-with-PAT button
  5. Enter the PAT fake-e2e-valid-token
  6. Submit the PAT

You should see

  • The GitHub account octocat is shown

Disconnecting a GitHub account

Removing an account here forgets it everywhere: the entry disappears from this list and its token is deleted from the keychain in the same click, rather than just hiding a name the app still remembers. Launchpad, drafting a PR and a GitHub-backed board all lose whatever that account gave them access to the moment it goes.

Disconnecting a GitHub account

Captured from the running app by this scenario.

Do this

  1. Reload the application
  2. Open the settings
  3. Open the integrations settings tab
  4. Disconnect the GitHub account octocat-e2e

You should see

  • The GitHub account octocat-e2e is shown
  • The GitHub account octocat-e2e is no longer connected
  • No error notification is displayed

This page is generated from apps/e2e/features/settings-integrations.feature, the end-to-end test that drives the feature it describes.

MIT licensed · Screenshots exported from the real app by the end-to-end suite.