プロジェクトのブランチ制限を設定する

プロジェクト ブランチ制限は、管理者がプロジェクト内のすべてのリポジトリでブランチ権限を設定し、設定をマージする方法です。注: プロジェクト ブランチ制限の適用と管理は、リポジトリ ブランチ制限と何ら変わりありません。

管理者は、プロジェクト内でブランチ制限を設定して、プロジェクトのすべてのリポジトリで一貫したブランチ権限とマージ チェックを行うことをおすすめします。つまり、プロジェクト内で設定されたすべてのブランチ制限は、そのプロジェクトのすべてのリポジトリに適用されるため、リポジトリごとにブランチ制限を設定する必要はありません。

プロジェクト ブランチ制限にアクセスして制限を追加する

  1. 上部のナビゲーション バーで [プロジェクト] を選択して、ワークスペース内のプロジェクトにアクセスします。

  2. ブランチ制限を追加するプロジェクトを選択します。

  3. 左側のナビゲーション サイドバーで [プロジェクト設定] を選択します。

  4. 左側のナビゲーション サイドバーで [ブランチ制限] を選択します。

  5. [Add a branch restriction (ブランチ制限を追加)] を選択します。

ブランチ タイプ、ブランチ パターン、マージ チェックの設定など、ブランチ権限の使用に関する詳細は、次のセクションをご参照ください。

ブランチ権限を使用する

ブランチ権限は、特定のワークフローを強制してワークスペースの新しいメンバーがメイン ブランチを削除してしまうようなエラーを防ぐために役立ちます。

ブランチ制限では、次のことを実行できます。

  • 任意のブランチに書き込みまたはマージできるユーザー/グループを厳密にコントロールします。

  • 特定のブランチ タイプやパターンに対応する権限を作成します。たとえば、PROJECT-* は、PROJECT-1234 などの名前を持つすべてのブランチへのアクセスを制限します。

ブランチ権限の優先度に関するルール (施行される内容の要約版)

  • ユーザーとグループのアクセスは他のものを上書きします (ここでは既存のコードが ALLOW しか使用しないため、ALLOW vs DENY は指定されません)

  • DENY は ALLOW をオーバーライドします

  • 非ブランチ固有のアクセスは、あらゆるものに上書きされます

  • 競合が発生した場合、最も高い追加価値が優先されます (他のルールには干渉しません)

ワークスペースのワークフローをさらに厳密に管理したい場合はマージ チェックについて確認してください。マージ チェックでは、個別のブランチやブランチ パターンのマージについて、特定の条件を推奨または要求することができます。マージ チェックについて詳細を読む

マージ チェックは、Bitbucket Cloud のプレミアム機能です。Bitbucket プレミアムについて詳細を読む

ブランチ タイプ

ブランチ モデル を有効にしている場合、特定のタイプのすべてのブランチに対するアクセス権限を構成できます。これは、たとえば、すべてのリリース ブランチでマージ アクセスを制限したい場合などに便利です。

ブランチ パターン

タイプよりもさらに細かくする必要がある場合は、文字列のいずれかの端にワイルドカード文字 (*) を追加することで、特定のパターンのブランチ名 (PROJECT- など) に対する権限を設定することもできます。例:

PROJECT-*: "PROJECT-*" という名前のブランチと一致します (名前空間を含む)。したがって、制限は次のようなブランチに適用されます。

  • PROJECT-1234

  • PROJECT-new

  • PROJECT-1.1

ブランチ権限の重複

ブランチ権限が誤って重複する可能性があります。たとえば、ブランチ名 main に専用のブランチ権限を作成したが、ブランチ パターン * によって権限を作成した場合は、両権限 (main*) がメイン ブランチに適用されます。

次の表に、権限定義が重複した場合の結果の例を示します。

ワイルドカード (*) ブランチ パターン

特定の ("main") ブランチ名

両方の制限に含まれるブランチに適用される制限

ユーザーまたはグループ制限 (書き込みまたはマージ アクセス)

ユーザーまたはグループがリストされていない

Alana

Alana のみがアクセス権を保持

全員

Alana

Alana のみがアクセス権を保持

Alana

Harvey

Alana と Harvey の両方がアクセス権を保持

Alana

ユーザーまたはグループがない

Alana のみがアクセス権を保持

Alana

全員

Alana のみがアクセス権を保持


マージ前にチェックを提案または要求する

Bitbucket Premium

ユーザーにチェックを推奨し、全員にマージが許可されるようになる前に内容の検証を依頼できます。アトラシアンでは、プレミアム プラン向けのマージ チェックもいくつか提供しています。

  • マージ チェックを適用して、すべてのプル リクエストがマージされる前に完全に審査されていることを確認します。

  • プル リクエストのソース ブランチが変更される場合は、レビュアーに再度承認を要求します。

    • ファイルが未変更な場合は承認を保持する

Bitbucket プレミアムについて詳細を読む

マージ チェックでは、個別のブランチやブランチ パターンのマージについて、特定の条件を推奨または要求することができます。マージ チェックはブランチ権限と連携して機能し、柔軟性と開発ワークフローの制御機能をワークスペースのメンバーに提供します。

マージ チェックの目的

依存関係のマージ

コードレビューの完了

  • マージをコードレビューに関連付けます。

  • 同僚が協力してプル リクエストに取り組むようにします。

  • マージを行うために必要な作業を開発者が把握できるよう、ワークフローに一貫性を持たせます。

タスクの完了

  • プルリクエストでタスクを作成し、必要な変更をマークします。

  • プルリクエストが承認に進行するまで管理します。

  • マージの前にプルリクエストのすべてのタスクが完了していることを確認します。

マージ チェック

マージ チェックを使用して、マージ前に次の条件を推奨または要求できます。

プレミアム プランではない場合にこれらのいずれかのオプションを選択すると、未解決のマージ チェックがある状態でマージ可能なときに、ユーザーに警告が表示されます。ユーザーがマージを行うのを防ぐためには、プレミアムへアップグレードし、[未解決のマージ チェックがある場合はマージを行わない] を選択します。プレミアムの詳細についてはこちらをご参照ください。

設定

結果

承認の最小数

プルリクエストの承認の数がその数を下回った場合、ユーザーに通知されます。

既定のレビュー担当者による承認の最小数

プル リクエストの承認数がデフォルトのレビュアー数を下回った場合、ユーザーに通知されます。

変更がリクエストされていない

プル リクエストでレビュアーのいずれかに「変更をリクエスト済み」が関連付けられている場合は、ユーザーに通知されます。

未解決のプル リクエスト タスクがない

オープンなプルリクエストのタスクがあった場合、ユーザーに通知されます。

最後のコミットで失敗したビルドのない、成功したビルドの最小数

最後のコミットで成功したビルドの数がこの数を下回った場合、ユーザーに通知されます。

ソース ブランチが変更された際にリクエスト済みの変更をリセットする

ソース ブランチが変更されると「変更をリクエスト済み」ステータスを自動でリセットします。

ビルドが成功したら自動マージを許可

PR の作成者または管理者がこの機能を有効化し、すべてのマージ チェックを通過したら保留中のマージを自動的にトリガーするようにできます。

プレミアム プランの場合、次の設定にもアクセスできます。

設定

結果

ソース ブランチが変更されたら承認をリセットする

プルリクエストのソース ブランチに変更があった場合、プルリクエストは承認無しで更新され、レビューアはプルリクエストを再びレビューして承認する必要があります。

ファイルが未変更な場合は承認を保持する

ファイルに変更がない場合は、それまで行われた承認をキープします。

未解決のマージ チェックとのマージを防止する

プル リクエストに未解決のマージ チェックがある場合、ユーザーはマージできません。マージを実行する前に解決が必要な項目のチェックリストが表示されます。

ブランチ権限とマージ設定の例

詳細と例については、アトラシアンのブランチ権限とマージ設定に関するサポート ドキュメントをご参照ください。

プロジェクト権限

ユーザーまたはグループにプロジェクトへのアクセス権と権限を付与したいですか? ヘルプ ドキュメント「ユーザーとグループのプロジェクト権限を設定する」をご参照ください。

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。