Integrations

GitHub Integration

4min

The GitHub integration allows you to connect your GitHub account so you can Run a QuickScan, automatically trigger scans for every commit via GitHub webhooks, create GitHub Issues from SOOS issues, and create pull requests.

Connecting more than one GitHub account requires the Organization Management add on.

Integration Steps

After navigating to the Integrate page and External Connections tab, select the GitHub tab and click Authorize. This will redirect you to GitHub. You may be prompted to sign in to GitHub at this point.

GitHub External Connections


Select Configure, to proceed and configure the SOOS GitHub App.

SOOS GitHub App


Select the GitHub Organization you wish to link to your SOOS account.

If you are linking a GitHub Organization and you select your personal GitHub user, you will not have access to the organization's repositories, even if your user is a member. Select the GitHub Organization instead.

GitHub organization selection


Review the access permissions and select All repositories to grant SOOS access to all repositories under the GitHub Organization selected in the previous step, or select a subset by choosing Only select repositories and then choosing the specific repositories to allow access to. After clicking Save you will be redirected back to SOOS.

The SOOS GitHub App requires read and write access in order to create pull requests. If you do not wish to allow this level of access, we suggest you use the GitHub Actions integration.

GitHub repository selection


Additional Configuration

After returning to SOOS, additional configuration is required for some SOOS features.

Scanning on Each Commit via WebHooks

Under GitHub Configurations enable GitHub WebHooks so that scans are run for every commit. Additionally, you may need to adjust your Branch Scan Configurations to enable the branches you would like to scan.

GitHub Issues

Configure GitHub as your issue manager under Issue Management Configurations.

We recommend setting each repository as a project level configuration, unless you wish to collect all issues under a single repo.