プロジェクトのブランチルール一覧

GitLab 15.8で導入されました

このガイドでは、GraphiQL エクスプローラーを使ってプロジェクト内のブランチルールをクエリする方法を説明します。

このクエリの例では、GitLabインスタンス内のプロジェクトをフルパス(例えばgitlab-org/gitlab-docs)で探します。クエリでは、プロジェクトに設定されているすべてのブランチルールを要求します。

note
同じクエリを HTTP エンドポイントから直接実行するには、cURLを使います。詳しくは、コマンドラインから始めるためのガイダンスをご覧ください。

GraphiQLエクスプローラの設定

この手順では、GraphiQLエクスプローラーのインスタンスにコピー&ペーストできる実質的な例を示します:

  1. 以下のコードをコピーしてください:

    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
                  }
                }
              }
            }
          }
        }
      }
    }
    
  2. GraphiQLエクスプローラーツールを開きます。
  3. GraphiQL エクスプローラー ツールの左ウィンドウに上記のquery を貼り付けます。
  4. 再生」を選択すると、このような結果が得られます:

    GraphiQL explorer query for branch rules

ブランチ・ルールが表示されない場合は、以下の理由が考えられます:

  • ブランチルールが設定されていません。
  • ロールにはブランチルールを表示する権限がありません。管理者はすべてのレコードにアクセスできます。

GDKでクエリを実行します。

アクセスをリクエストする代わりに、GitLab Development Kit(GDK) でクエリを実行する方が簡単かもしれません。

  1. GDK ドキュメントにある認証情報を使って、デフォルトの管理者root としてサインインします。
  2. flightjs/Flight プロジェクトのブランチルールが設定されていることを確認してください。
  3. クエリのフルパスを置き換えてください:

    query {
      project(fullPath: "flightjs/Flight") {
    
  4. GDKインスタンスで、GraphiQLエクスプローラツールにアクセスします:http://gdk.test:3000/-/graphql-explorer.
  5. GraphiQL エクスプローラー ツールの左ウィンドウに上記のquery を貼り付けます。
  6. Playを選択すると結果が表示されます。

各フィールドの詳細については、GraphQL APIリソースを参照してください。