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

Bitbucket Premium

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

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

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

    • Keep approvals if there is no change to the diff in the pull request.

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

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

マージ チェックの目的

依存関係のマージ

コードレビューの完了

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

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

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

タスクの完了

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

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

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

マージ チェック

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

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

設定

結果

承認が {#} 以上あるかどうかをチェック

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

既定のレビュアーからの承認が {#} 以上あるかどうかをチェック

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

変更がリクエストされていないことを確認する

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

未解決のプルリクエストのタスクをチェック

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

直近のコミットで {#} 個のビルドがパスして、失敗したビルドがないことをチェックする

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

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

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

すべてのチェックを通過したプル リクエストを自動的にマージ

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

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

設定

結果

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

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

Keep approvals if there is no change to the diff in the pull request

Ensures that any approvals that were made are kept intact if there are no changes to the existing diff in the pull request. For example, when an empty commit is added to the branch or no new changes are introduced when rebasing the source branch.

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

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

セットアップの例

マージ チェックは、ブランチ権限と連携して個別ブランチまたはブランチ パターンに適用されます。このセクションの残りの部分では、ブランチ権限の説明に使用した例と、マージ チェックについて説明します。

たとえば、Alana (主任エンジニア)、Harvey (QA リード)、およびその他の 5 人のエンジニアが Teams in Space プロジェクトに携わっているとします。すべてのユーザーがリポジトリへの書き込みアクセス権を持っていますが、既定のブランチと開発ブランチへのアクセスを制限する必要があります。ブランチ権限ダイアログから、次のような権限を割り当てることができます。

ブランチ

ブランチの権限

マージ チェック

既定

書き込みアクセス権限: Alana

プルリクエスト経由でのマージ: Alana、Harvey

  • 最後のコミットで 2 件のビルドが成功していることをチェック

develop

書き込みアクセス権限: Alana、Harvey

プルリクエスト経由でのマージ: Alana、Harvey、
teamsinspace:developers (グループ)

  • 最後のコミットで 3 件のビルドが成功していることをチェック

  • 承認が 2 つ以上あることをチェック

  • 未解決のプルリクエストのタスクをチェック

Start by navigating to the repository where you want to add a branch restrictions, then go to Repository settings > Branch restrictions.

Add branch permissions and merge checks to the main branch

  1. Click Add a branch restriction.

  2. 各フィールドに以下を入力します。

    1. ブランチまたはパターン: main

    2. On the Branch permissions tab under Write access, select Only specific people or groups have write access: Alana (Alana automatically gets merge via pull request permissions)

    3. On the Branch permissions tab under Merge access via pull requests, select Only specific people or groups have merge access: Harvey

  3. [マージ チェックの追加] を展開します。

    1. Select Minimum number of successful builds for the last commit with no failed builds.

    2. ドロップダウンから 2 を選択します。

  4. [保存] をクリックします。

このセットアップによって、ワークスペースのメンバーは main ブランチへのアクセスをコントロールできます。本番対応のコードのみを main にマージするため、成功したビルドに対してのみマージ チェックを行います。

Add branch permissions and merge checks to the develop branch

  1. Click Add a branch restriction.

  2. 各フィールドに以下を入力します。

    1. ブランチまたはパターン: develop

    2. On the Branch permissions tab under Write access, select Only specific people or groups have write access: Alana and Harvey Persona (Alana and Harvey automatically get merge via pull request permissions)

    3. On the Branch permissions tab under Merge access via pull requests, select Only specific people or groups have merge access: teamsinspace:developers

  3. Select the Merge settings tab, and select the following:

    1. Select Minimum number of approvals and select 2 from the dropdown.

    2. Select Minimum number of approvals from default reviewers and select the number of default reviewers, if you have set any for this pull request, you want to approve the pull request.

    3. Select No unresolved pull request tasks.

    4. Select Minimum number of successful builds for the last commit with no failed builds and select 3 from the dropdown.

  4. 保存をクリックします。

その他のヘルプ