List branch rules for a project by using GraphQL

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
History

You can query for branch rules in a given project by using:

Use GraphiQL

You can use GraphiQL to list the branch rules for a project.

  1. Open GraphiQL:
    • For GitLab.com, use: https://gitlab.com/-/graphql-explorer
    • For self-managed GitLab, use: https://gitlab.example.com/-/graphql-explorer
  2. 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
                  }
                }
              }
            }
          }
        }
      }
    }
    
  3. 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).

  1. Sign in as the default admin, root, with the credentials from the GDK documentation.
  2. Ensure you have some branch rules configured for the flightjs/Flight project.
  3. In your GDK instance, open GraphiQL: http://gdk.test:3000/-/graphql-explorer.
  4. Copy the query and paste it in the left window.
  5. Replace the full path with the following path:

    query {
      project(fullPath: "flightjs/Flight") {
    
  6. Select Play.