使用 GraphQL 列出项目的分支规则

  • 引入于极狐GitLab 15.8。

您可以使用如下方法来查询给定项目的分支规则:

使用 GraphiQL

您可以使用 GraphiQL 来查询给定项目的分支规则。

  1. 打开 GraphiQL:
    • 对 GitLab.com,使用:https://jihulab..com/-/graphql-explorer
    • 对私有化部署的 GitLab,使用:https://gitlab.example.com/-/graphql-explorer
  2. 将以下代码摘录复制到 GraphiQL 左侧窗口。此查询通过完整路径查找项目,比如 gitlab-org/gitlab-docs。它会查询为项目配置的所有分支规则。

    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. 选择 运行

如果没有展示任何分支规则,可能是因为:

  • 没有配置分支规则。
  • 您的角色没有权限查看分支规则。管理员可以访问所有资源。

使用 GDK

相比请求访问,可能在极狐GitLab Development Kit(GDK) 中运行查询更加容易一些。

  1. 以默认管理员登录,即 root,并使用来自 GDK 文档中的凭据。
  2. 确保您为 flightjs/Flight 项目配置了分支规则。
  3. 在 GDK 实例中打开 GraphiQL:http://gdk.test:3000/-/graphql-explorer
  4. 复制查询并将其粘贴到左侧窗口。
  5. 使用如下路径替换完成路径。

    query {
      project(fullPath: "flightjs/Flight") {
    
  6. 选择 运行

相关主题