GitHub project integration (PREMIUM)
Introduced in GitLab Premium 10.6.
GitLab provides an integration for updating the pipeline statuses on GitHub. This is especially useful if using GitLab for CI/CD only.
This project integration is separate from the instance wide GitHub integration and is automatically configured on GitHub import.
Configuration
Complete these steps on GitHub
This integration requires a GitHub API token
with repo:status
access granted:
- Go to your "Personal access tokens" page at https://github.com/settings/tokens
- Click "Generate New Token"
- Ensure that
repo:status
is checked and click "Generate token" - Copy the generated token to use on GitLab
Complete these steps on GitLab
- Navigate to the project you want to configure.
- Navigate to the Integrations page
- Click "GitHub".
- Ensure that the Active toggle is enabled.
- Paste the token you've generated on GitHub
- Enter the path to your project on GitHub, such as
https://github.com/username/repository
- Optionally uncheck Static status check names checkbox to disable static status check names.
- Save or optionally click "Test Settings".
Once the integration is configured, see Pipelines for external pull requests to configure pipelines to run for open pull requests.
Static / dynamic status check names
- Introduced in GitLab 11.5: using static status check names as opt-in option.
- In GitLab 12.4, static status check names is default behavior for new projects.
This makes it possible to mark these status checks as Required on GitHub. With Static status check names enabled on the integration page, your GitLab instance host name is appended to a status check name, whereas in case of dynamic status check names, a branch name is appended.