2020-07-20 21:09:23 +00:00
---
2021-08-02 15:08:56 +00:00
stage: Ecosystem
group: Integrations
2020-11-26 06:09:20 +00:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-07-20 21:09:23 +00:00
---
2019-07-08 08:50:38 +00:00
# GitHub project integration **(PREMIUM)**
2019-05-05 15:26:15 +00:00
2020-05-22 03:08:28 +00:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3836) in GitLab Premium 10.6.
2019-05-05 15:26:15 +00:00
GitLab provides an integration for updating the pipeline statuses on GitHub.
This is especially useful if using GitLab for CI/CD only.
2021-09-04 00:11:27 +00:00
This project integration is separate from the [instance wide GitHub integration ](../import/github.md#mirror-a-repository-and-share-pipeline-status )
2019-05-05 15:26:15 +00:00
and is automatically configured on [GitHub import ](../../../integration/github.md ).
![Pipeline status update on GitHub ](img/github_status_check_pipeline_update.png )
## Configuration
2021-10-18 06:12:21 +00:00
This integration requires a [GitHub API token ](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token )
2021-03-31 12:08:55 +00:00
with `repo:status` access granted.
Complete these steps on GitHub:
2019-05-05 15:26:15 +00:00
2021-03-31 12:08:55 +00:00
1. Go to your **Personal access tokens** page at < https: // github . com / settings / tokens > .
1. Select **Generate new token** .
1. Under **Note** , enter a name for the new token.
1. Ensure that `repo:status` is checked and select **Generate token** .
1. Copy the generated token to use in GitLab.
2019-05-05 15:26:15 +00:00
2021-03-31 12:08:55 +00:00
Complete these steps in GitLab:
2019-05-05 15:26:15 +00:00
2021-03-31 12:08:55 +00:00
1. Go to the project you want to configure.
1. Go to the [Integrations page ](overview.md#accessing-integrations )
1. Select **GitHub** .
2020-04-15 12:09:18 +00:00
1. Ensure that the **Active** toggle is enabled.
2021-03-31 12:08:55 +00:00
1. Paste the token you generated on GitHub.
1. Enter the path to your project on GitHub, such as `https://github.com/username/repository` .
2021-10-20 18:12:31 +00:00
1. (Optional) To disable static status check names, clear the **Enable static status check names** checkbox.
2021-03-31 12:08:55 +00:00
1. Select **Save changes** or optionally select **Test settings** .
2019-05-05 15:26:15 +00:00
2021-03-31 12:08:55 +00:00
After configuring the integration, see [Pipelines for external pull requests ](../../../ci/ci_cd_for_external_repos/#pipelines-for-external-pull-requests )
2019-12-03 00:06:28 +00:00
to configure pipelines to run for open pull requests.
2021-10-20 18:12:31 +00:00
### Static or dynamic status check names
2019-05-05 15:26:15 +00:00
2019-09-11 19:24:06 +00:00
> - Introduced in GitLab 11.5: using static status check names as opt-in option.
2020-05-22 03:08:28 +00:00
> - [In GitLab 12.4](https://gitlab.com/gitlab-org/gitlab/-/issues/9931), static status check names is default behavior for new projects.
2019-05-05 15:26:15 +00:00
2021-03-31 12:08:55 +00:00
This makes it possible to mark these status checks as **Required** on GitHub.
2021-10-20 18:12:31 +00:00
When **Enable static status check names** is checked on the integration page, your
2021-03-31 12:08:55 +00:00
GitLab instance host name is appended to a status check name.
2019-05-05 15:26:15 +00:00
2021-10-20 18:12:31 +00:00
When unchecked, it uses dynamic status check names and appends the branch name.