GitHub (PREMIUM)

You can update GitHub with pipeline status updates from GitLab. The GitHub integration can help you if you use GitLab for CI/CD.

Pipeline status update on GitHub

This project integration is separate from the instance-wide GitHub integration and is automatically configured when you import a GitHub project.

Configure the integration

This integration requires a GitHub API token with repo:status access granted.

Complete these steps on GitHub:

  1. Go to your Personal access tokens page at https://github.com/settings/tokens.
  2. Select Generate new token.
  3. Under Note, enter a name for the new token.
  4. Ensure repo:status is selected and select Generate token.
  5. Copy the generated token to use in GitLab.

Complete these steps in GitLab:

  1. On the top bar, select Main menu > Projects and find your project.
  2. On the left sidebar, select Settings > Integrations.
  3. Select GitHub.
  4. Ensure the Active checkbox is selected.
  5. In Token, paste the token you generated on GitHub.
  6. In Repository URL, enter the path to your project on GitHub, such as https://github.com/username/repository.
  7. Optional. To disable static status check names, clear the Enable static status check names checkbox.
  8. Optional. Select Test settings.
  9. Select Save changes.

After configuring the integration, see Pipelines for external pull requests to configure pipelines to run for open pull requests.

Static or dynamic status check names

Changed in GitLab 12.4 to make static status check names the default behavior for new projects.

A status check name can be static or dynamic:

  • Static: The hostname of your GitLab instance is appended to the status check name.

  • Dynamic: The branch name is appended to the status check name.

The Enable static status check names option enables you to configure required status checks in GitHub, which need a consistent (static) name to work correctly.

If you disable this option, GitLab uses dynamic status check names instead.