使用 GraphQL 列出项目的分支规则
- 引入于极狐GitLab 15.8。
您可以使用如下方法来查询给定项目的分支规则:
- GraphiQL。
-
cURL
。 - 极狐GitLab Development Kit (GDK)。
使用 GraphiQL
您可以使用 GraphiQL 来查询给定项目的分支规则。
- 打开 GraphiQL:
- 对 GitLab.com,使用:
https://jihulab..com/-/graphql-explorer
- 对私有化部署的 GitLab,使用:
https://gitlab.example.com/-/graphql-explorer
- 对 GitLab.com,使用:
-
将以下代码摘录复制到 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 } } } } } } } }
- 选择 运行。
如果没有展示任何分支规则,可能是因为:
- 没有配置分支规则。
- 您的角色没有权限查看分支规则。管理员可以访问所有资源。
使用 GDK
相比请求访问,可能在极狐GitLab Development Kit(GDK) 中运行查询更加容易一些。
- 以默认管理员登录,即
root
,并使用来自 GDK 文档中的凭据。 - 确保您为
flightjs/Flight
项目配置了分支规则。 - 在 GDK 实例中打开 GraphiQL:
http://gdk.test:3000/-/graphql-explorer
。 - 复制查询并将其粘贴到左侧窗口。
-
使用如下路径替换完成路径。
query { project(fullPath: "flightjs/Flight") {
- 选择 运行。