保護ブランチをCLIで設定する
以下を実行するとCLIで保護ブランチを設定できます。
OWNER_NAME
とREPO_NAME
は適宜変更が必要です。
protect-branch.sh
owner="OWNER_NAME"
repo="REPO_NAME"
repositoryId="$(gh api graphql -f query='{repository(owner:"'$owner'",name:"'$repo'"){id}}' -q .data.repository.id)"
gh api graphql -f query='
mutation($repositoryId:ID!,$branch:String!,$requiredReviews:Int!) {
createBranchProtectionRule(input: {
repositoryId: $repositoryId
pattern: $branch
requiresApprovingReviews: true
requiredApprovingReviewCount: $requiredReviews
isAdminEnforced: true
}) { clientMutationId }
}' -f repositoryId="$repositoryId" -f branch="main" -F requiredReviews=1
実行後は以下のように設定されmain
ブランチには直接push
できなくなります。
上記以外の設定をしたい場合には以下のページを参照して設定を追加します。