プル リクエストのマージ チェック

お困りですか?

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

コミュニティに質問

Pull requests provide a way to do peer code reviews and merges as part of a branch-based development workflow. As your team grows, you may need to set restrictions about when pull requests can be merged to protect your production code and keep code quality high. Merge checks can help you do this.

このページの内容

マージ チェック

Merge checks stop pull requests from being merged until they meet requirements that you’ve set. Your requirements can be based a range of things, including the number of reviewers who have approved the pull request, or the result of a Code Insights report. This ensures that pull requests are fully vetted before they’re merged. It also helps to avoid the problem of code review blockages and the need to completely lock down a repository.

既定のマージ チェック

Bitbucket Server comes with some default merge checks. These can be enabled (or disabled) at the project level for all repositories in a project, or for individual repositories.

Bitbucket Server に付属する既定のマージ チェックは次のとおりです。

  • すべてのレビュアーが承認します - マージ前にすべてのレビュアーが承認する必要があります。
  • 最小承認数 - マージ前に指定した数の承認が必要です。
  • 最小限の成功ビルド - マージ前に指定した数の成功ビルドが必要です。
  • 未完了のタスクはありません - マージ前にすべてのタスクが完了されている必要があります。

In addition to minimum approvals for a pull request, you can also set default reviewers. If both of these checks have been configured, they both need to be met in order to merge. In other words, meeting the minimum number of approvals won't be enough to merge if the default reviewers have not approved the pull request.

プロジェクトのすべてのリポジトリにマージ チェックを構成

プロジェクト レベルでマージ チェックを有効化 (または無効化) すると、プロジェクト設定を継承するよう設定されたリポジトリのマージ チェックが変更されます。個々のリポジトリのマージ チェックを変更したことがある場合、プロジェクト レベルでマージ チェックを設定してもそのリポジトリの設定は変更されません。

プロジェクト内のリポジトリに対してマージ チェックを有効化 (または無効化) する方法 (プロジェクト管理権限が必要)

  1. [プロジェクト設定] > [マージ チェック] に移動します。
  2. トグルをクリックしてマージ チェックを有効化 (または無効化) します。

プロジェクトで継承に設定されたリポジトリのマージ チェックは、この新しい設定を反映するようになります。リポジトリ レベルで明示的に設定されているマージ チェックは影響を受けません。 

個々のリポジトリ用にマージ チェックを構成

リポジトリ レベルでマージ チェックを有効化 (または無効化) すると、そのリポジトリで作成されるすべてのプル リクエストでマージ チェックが有効化されす。リポジトリ レベルでマージ チェックを構成すると、プロジェクト レベルで構成されたマージチェックがオーバーライドされます。個々のリポジトリにマージ チェックを構成していない場合、プロジェクト レベルで有効化されたマージ チェックが継承されます。

1 つのリポジトリでマージ チェックを有効化 (または無効化) する方法 (リポジトリ管理権限が必要)

  1. [リポジトリ設定] > [マージ チェック] に移動します。
  2. マージ チェックの右側のドロップ メニューを使用して設定します。
    1. 継承 - プロジェクト レベルで設定された構成を使用します。
    2. 有効 - マージ チェックの条件を適用します。
    3. 無効 - マージ チェックの条件を無視します。

設定すると、プロジェクト レベルでマージ チェック構成に加えられたあらゆる変更は、プロジェクト構成とは独立して変更されるため、このリポジトリでは無視されます。

マージ チェック構成の継承

既定は、Bitbucket Server にはプロジェクトおよびリポジトリ レベルで無効化されたマージ チェックが付属します。リポジトリ レベルでマージ チェックが構成されていた場合を除き、プロジェクト レベルでマージ チェックを有効化または無効化すると、リポジトリ レベルの構成が継承されます。 

たとえば、プロジェクトで [未完了のタスクはありません] マージ チェックを有効化して、リポジトリのマージ チェック構成が変更されなかった場合、それぞれのリポジトリでは [未完了のタスクはありません] マージ チェックが有効化されます。

マージ チェックが無効 (プロジェクト レベル)

マージ チェックが無効 (リポジトリ レベル)

マージ チェックが有効 (プロジェクト レベル)

マージ チェックが有効 (リポジトリ レベル)

ある特定のリポジトリで [未完了のタスクはありません] マージ チェックが適切でないと判断したとします。プロジェクト レベルでの構成内容を問わず、個々のリポジトリのマージ チェックを変更できます。プロジェクト レベルで [未完了のタスクはありません] マージ チェック構成に加えられた変更は、プロジェクト構成とは独立して変更されるため、このリポジトリでは無視されます。

マージ チェックが有効 (プロジェクト レベル)

マージ チェックが無効 (リポジトリ レベル)

新しいマージ チェックの追加

追加のマージ チェックはシステム管理者がインストールでき、プロジェクト内のすべてのリポジトリに対して有効化することも、個々のリポジトリに対して有効化することもできます。

Atlassian Marketplace からマージ チェックを追加する方法 (システム管理者権限が必要)

  1. [プロジェクト設定] > [マージ チェック] に移動します。
  2. [マージ チェックの追加] をクリックします。
  3. 追加するマージ チェックを検索し、[インストール] をクリックします。 

新しいマージ チェックを追加したら、既定のマージ チェックと同じように有効化 (または無効化) できます。

マージ チェックの作成

独自のマージ チェック プラグインを作成することもできます。

Code Insights merge checks

You can block pull requests from being merged until their Code Insights reports meet your requirements. You can set these merge checks for all the repositories in a project, or a single repository, and your requirements can be based on whether:

  • a specific report is present
  • the report passes or fails
  • the report adds annotations of a certain severity to the diff

Annotations only block merging if they are on the diff. If they’re somewhere else on a changed file, or on a file that hasn’t changed they won’t block the merge.

To add a Code Insights merge check for all the repositories in a project (requires project admin permissions):

  1. Go to Project settings > Code Insights.
  2. Enter the report key of your required report. You can find this on the report in the bottom right.
  3. Enter its required status and its annotation requirements.
  4. Click add.

To add a Code Insights merge check for a repository (requires repository admin permissions):

  1. Go to Repository settings > Code Insights.
  2. Enter the report key of your required report. You can find this on the report in the bottom right.
  3. Enter its required status and its annotation requirements.
  4. Click add.
最終更新日: 2019 年 12 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.