Skip to content

Connect your app to GitHub API

Connect your app to GitHub by signing in with your GitHub account or with a personal access token, to read repositories, manage issues and pull requests, and build automations with the GitHub REST API.

Updated View as Markdown

GitHub hosts repositories, issues, pull requests, and CI workflows for engineering teams. The GitHub API connector lets your RShift Sites app call the GitHub REST API from server code. It’s designed for apps that read or update GitHub data, such as issue dashboards, PR trackers, and automation workflows.

GitHub is available as two connection types in RShift Sites:

Use If you want to
App + chat connector (this page) Work with a shared GitHub connection in the project chat and in your published apps
App user connector Let each user of your published app connect their own GitHub account and work with their own repositories, issues, and pull requests

With GitHub, your app can:

  • List and read repositories, branches, and file contents
  • Create and update issues and pull requests
  • Read commits, releases, and workflow runs
  • Build internal tools and automations on top of GitHub data

It’s a good fit for internal engineering tools, team dashboards, and apps that automate work around your repositories.

Common use cases and example apps

These examples show what you can build with GitHub, each with a prompt to start from.

Example app Example prompt Description
Issue triage board Use GitHub and build a dashboard that lists open issues across my repositories, grouped by label. Surface open work without leaving your app.
The app reads issues from GitHub and presents them in a filterable board.
PR status hub Use GitHub and build a page that shows open pull requests with review status and age. Give reviewers a live view of in-flight code review.
The app fetches pull requests and highlights stale or blocked reviews.
Release tracker Use GitHub and build a tool that lists recent releases and workflow results for our main repos. Track shipping activity from GitHub data.
The app combines release and Actions metadata in one view.
Repo health dashboard Use GitHub and build an admin page that shows repository stats and open issue counts. Monitor repository health at a glance.
The app aggregates GitHub API responses into summary cards.
Feedback-to-issue form Use GitHub and build a feedback form that creates a GitHub issue when someone submits it. Turn app events into GitHub issues automatically.
The app validates the input and creates the issue through the GitHub REST API.
Contributor activity feed Use GitHub and build a page that shows recent commits and pull requests across our team repositories. Give stakeholders a single view of recent engineering activity.
The app fetches commits and pull requests and groups them by repository or author.

How to connect GitHub API

Who can create GitHub API connections depends on your plan and workspace settings. App + chat connectors are available by default on Free, Pro, and Business plans. On Enterprise plans, they are effectively disabled at first: Who can create connections and clients defaults to No one until an admin changes it in Connectors → Admin settings → App + chat connectors.

When adding a connection, you can choose between:

  • GitHub: sign in with your GitHub account in one click (OAuth)
  • Use your own credentials: connect with a personal access token you create in GitHub

You can create multiple GitHub API connections using different GitHub accounts or tokens, which is useful for separating environments (for example, development and production) or using different permission scopes.

When the connection is created, you can link it to the projects where you want to use it. Anyone building in a project can ask RShift Sites in the project chat to link their project to it.

Prerequisites

Before connecting GitHub API, make sure you have:

Follow the setup steps below based on how you want to connect GitHub.

Connect with your GitHub account

Choose this option for the fastest setup. You authorize RShift Sites with your GitHub account, and no personal access token is needed. In the connection form, this option is labeled GitHub.

Open GitHub API in Connectors

Open Connectors and select GitHub API. For the other places to open the catalog from, see Where to find connectors.

The first time you open GitHub API, RShift Sites asks what you want to do. Choose Use the connector. The other option, Sync my code, sets up GitHub Git sync instead.

Add a connection

Click Add connection and select App + chat connector.

Name the connection

In Display name, name the connection (for example, GitHub Prod). This name is only used inside RShift Sites to identify the connection.

Choose GitHub authentication

Under Authentication, select GitHub. This is the OAuth option.

Review scopes (optional)

Under Scopes, review the permissions your app requests. Read user profile is always included, and Repositories is selected by default.

Scope Description Default
Read user profile (read:user) Read the authenticated user’s profile data Required
Repositories (repo) Full access to public and private repositories, including code, issues, and pull requests On
Public repositories (public_repo) Access limited to public repositories Off
Workflows (workflow) Update GitHub Actions workflow files Off
Gists (gist) Create and manage gists Off
Notifications (notifications) Access notification marks and threads Off
Email (user:email) Read the authenticated user’s email addresses Off
Read organizations (read:org) Read organization and team membership Off
Projects (project) Full control of projects Off

For full scope documentation, see Scopes for OAuth apps.

Choose who can use this connection

Under Sharing, the connection is private to you by default and shows a Private label. To share it, click Share with others. Then add workspace members by email, or click Invite entire workspace to make the connection available to everyone in your RShift Sites workspace.

See Who can use connections and clients for more information.

Connect to GitHub and authorize

Click Connect. The GitHub authorization window opens, so make sure your browser doesn’t block pop-ups. If it does, RShift Sites redirects you instead.

Sign in to GitHub if prompted, review the requested permissions, and authorize the app.

You’ll be redirected back to RShift Sites with a confirmation.

Use your own credentials

Use a personal access token if you want to control the exact token, limit it to specific repositories with a fine-grained token, or manage rotation yourself.

Step 1: Create a GitHub personal access token

A personal access token lets your RShift Sites app authenticate with the GitHub REST API as the GitHub account that owns the token.

To create a GitHub personal access token:

Open GitHub token settings

Sign in to GitHub and open Settings → Developer settings → Personal access tokens.

Generate a token

Create a fine-grained or classic token. Give it a descriptive name, for example RShift Sites integration. Fine-grained tokens can be limited to specific repositories. Classic tokens use scope lists such as repo or public_repo.

Select permissions

Grant only the permissions your app needs. For private repositories, include repository read or write access. For public data only, public_repo can be enough on classic tokens.

Copy the token

Copy the token when GitHub shows it and store it securely. GitHub does not show it again.

See GitHub documentation for more: Managing your personal access tokens.

Step 2: Connect GitHub API to RShift Sites

With your token ready, add the connection in RShift Sites. You can create multiple connections using different personal access tokens.

Open GitHub API in Connectors

Open Connectors and select GitHub API. For the other places to open the catalog from, see Where to find connectors.

The first time you open GitHub API, RShift Sites asks what you want to do. Choose Use the connector. The other option, Sync my code, sets up GitHub Git sync instead.

Add a connection

Click Add connection and select App + chat connector.

Name the connection

In Display name, name the connection (for example, GitHub Prod). This name is only used inside RShift Sites to identify the connection.

Choose your own credentials

Under Authentication, select Use your own credentials. Then paste the token you created in step 1 in Personal access token.

Choose who can use this connection

Under Sharing, the connection is private to you by default and shows a Private label. To share it, click Share with others. Then add workspace members by email, or click Invite entire workspace to make the connection available to everyone in your RShift Sites workspace.

See Who can use connections and clients for more information.

Connect

Click Connect. RShift Sites verifies the token against the GitHub API before saving the connection.

When connected, anyone building in a project can ask RShift Sites in the project chat to link their project to GitHub API (based on configured connection-level access). Your RShift Sites apps can then read and update repositories, issues, pull requests, and other GitHub resources.

Limitations

The GitHub API app + chat connector documented on this page cannot:

  • Replace GitHub Git sync for exporting or syncing your RShift Sites project’s codebase
  • Use GitHub App installation tokens. Connections authenticate as a GitHub account, with an OAuth sign-in or a personal access token.
  • Call endpoints your granted scopes or token permissions do not cover. If a call returns 403, review the OAuth scopes on the connection or the permissions on your personal access token.
  • Support per-end-user GitHub login. Each connection represents a single GitHub account shared across all projects linked to it. If you need each user of your app to sign in with their own GitHub account, use the GitHub app user connector.

If GitHub authorization is revoked from the GitHub side, you’ll need to reconnect the integration in RShift Sites before API calls can succeed again. If a personal access token expires or is revoked, update the token on the connection in RShift Sites.

Manage your {connector_0} connection

Connections are managed from Connectors: select {connector_0}, then open the connection.

  • Unlink projects to remove {connector_0} access from specific projects while keeping the connection available for others. See Unlink projects from a connection for the steps.
  • Delete the connection to remove it from the workspace entirely. Deleting is permanent. It removes the credentials from all linked projects, and app features that use {connector_0} stop working until a new connection is added. See Delete a connection for the steps and who can delete.
Navigation

Search for a question, a feature, or a task.

↑↓ to navigate↵ to openEsc to close