List branch rules for a project by using GraphQL
- Introduced in GitLab 15.8.
You can query for branch rules in a given project by using:
- GraphiQL.
-
cURL
. - The GitLab Development Kit (GDK).
Use GraphiQL
You can use GraphiQL to list the branch rules for a project.
- Open GraphiQL:
- For GitLab.com, use:
https://gitlab.com/-/graphql-explorer
- For self-managed GitLab, use:
https://gitlab.example.com/-/graphql-explorer
- For GitLab.com, use:
-
Copy the following text and paste it in the left window. This query searches for a project by its full path, for example
gitlab-org/gitlab-docs
. It requests all configured branch rules for the project.query { project(fullPath: "gitlab-org/gitlab-docs") { branchRules { nodes { name isDefault isProtected matchingBranchesCount createdAt updatedAt branchProtection { allowForcePush codeOwnerApprovalRequired mergeAccessLevels { nodes { accessLevel accessLevelDescription user { name } group { name } } } pushAccessLevels { nodes { accessLevel accessLevelDescription user { name } group { name } } } unprotectAccessLevels { nodes { accessLevel accessLevelDescription user { name } group { name } } } } externalStatusChecks { nodes { id name externalUrl } } approvalRules { nodes { id name type approvalsRequired eligibleApprovers { nodes { name } } } } } } } }
- Select Play.
If no branch rules are displayed, it might be because:
- No branch rules are configured.
- Your role doesn’t have permission to view branch rules. Administrators have access to all resources.
Use the GDK
Instead of requesting access, it may be easier for you to run the query in the GitLab Development Kit (GDK).
- Sign in as the default admin,
root
, with the credentials from the GDK documentation. - Ensure you have some branch rules configured for the
flightjs/Flight
project. - In your GDK instance, open GraphiQL:
http://gdk.test:3000/-/graphql-explorer
. - Copy the query and paste it in the left window.
-
Replace the full path with the following path:
query { project(fullPath: "flightjs/Flight") {
- Select Play.