Setting up GitHub integration features at the project level
This section explains how to set up various GitHub integration features for a given project.
Preventing pull request merges when the quality gate fails
In GitHub, you can block pull requests from being merged if it is failing the quality gate. To do this:
- In GitHub, go to Your repository > Settings > Branches > Branch protection rules and select either the Add rule or Edit button if you already have a rule on the branch you wish to protect.
- Complete the Branch protection rule form:
- Define the Branch name pattern (the name of the branch you wish to protect)
- Select Require status checks to pass before merging to open supplementary form fields.
- In the Search for status checks in the last week for this repository field, select Require branches to be up to date before merging, then find
SonarQube Code Analysis
and add it to the list of required checks.
Showing your analysis summary under the GitHub Conversation tab
For bound projects, the pull request analysis can also be shown under the Conversation tab in addition to the Checks tab in GitHub.
To show the analysis summary of a bound project in GitHub also under the Conversation tab:
- In Project settings > General settings > Enable analysis summary under the GitHub Conversation tab, make sure that the Enable analysis summary under the GitHub Conversation tab option is on (default value).
Reporting your quality gate status in GitHub for unbound projects
On SonarQube projects bound to their GitHub repository, SonarQube automatically sets up the report of your quality gate status and analysis metrics directly to your GitHub pull requests. For unbound projects, you must set up the quality gate status manually as explained below.
SonarQube can also report your quality gate status to GitHub pull requests for existing and manually created projects provided the integration of SonarQube with GitHub has been properly set up. Proceed as follows:
- In the SonarQube UI page of your project, select Project Settings > General Settings > DevOps Platform Integration.
- Set:
- Configuration name: The name of your GitHub instance's Configuration record set in Step 3 of Setting up a GitHub App to integrate SonarQube with GitHub (Ask your admin.).
- Repository identifier: The path of your repository URL.
Was this page helpful?