日本語

AutoFix PRのデフォルトレビュアーを割り当てる

Aikidoは現在、AutoFixプルリクエストのデフォルトレビュアーの設定をサポートしていません。AutoFixはSCMでPRを作成しますが、Aikidoの設定からレビュアーを割り当てることはありません。

現時点での実用的な方法は、CODEOWNERSと必須レビューを使用して、リポジトリ自体でレビュアーを強制することです。

GitHubでの回避策

GitHubネイティブのCODEOWNERSサポートとブランチ保護を使用すると、AutoFixが担当ファイルを変更するたびに、適切な担当者にレビューがリクエストされ(かつ必須化され)ます。

  1. CODEOWNERSファイルを追加する

    .github/、リポジトリのルート、またはdocs/にCODEOWNERSファイルを作成します。AutoFixが通常変更するパス(ロックファイルやパッケージマニフェストなど)を、それらのPRをレビューすべきユーザーまたはチームに対応付けます。

    # Dependency files commonly changed by AutoFix
    package.json @your-org/security-team
    package-lock.json @your-org/security-team
    yarn.lock @your-org/security-team
    pnpm-lock.yaml @your-org/security-team
    requirements.txt @your-org/security-team
    poetry.lock @your-org/security-team
    Cargo.lock @your-org/security-team
    go.sum @your-org/security-team

    パスとオーナーは、リポジトリの構成に合わせて調整してください。構文の詳細については、コードオーナーについてを参照してください。

  2. コードオーナーによるレビューを必須にする

    対象ブランチに対するリポジトリのブランチ保護ルール(またはルールセット)で、次を設定します。

    1. マージ前にプルリクエストを必須にする
    2. Require review from Code Ownersを有効にする

    これを有効にすると、GitHubは該当するCODEOWNERSにレビューをリクエストし、それらのレビューが満たされるまでマージをブロックします。AutoFix PRにも、他のPRと同じルールが適用されます。

GitHubは、マージにコードオーナーのレビューを必須にしていなくても、PRが担当ファイルに変更を加えた場合にCODEOWNERSへ自動的にレビューをリクエストできます。承認を必須にするのは、コードオーナーレビューの必須化設定です。

GitLab

GitLabでは、変更されたファイルのCODEOWNERSが10人未満の場合、Aikido AutoFixはCODEOWNERSをマージリクエストのレビュアーとして追加します。この動作は、リポジトリの.aikidoファイルでdisable_codeowners_as_reviewersを使用して無効にできます。CODEOWNERSをレビュアーとして追加しないようにするを参照してください。

マージ前にそれらのレビューを必須にするには、GitLab自体で承認ルールまたはCODEOWNERの承認を設定してください。

BitBucket

BitBucketでは、変更されたファイルのCODEOWNERSが10人未満の場合、AutoFixは.bitbucket/CODEOWNERSファイルに基づいてCODEOWNERSをレビュアーとして追加します。

これには、account:read権限を持つWorkspace Access Tokenが必要です。

サポートされているオーナー識別子は、メールアドレス、チーム、ユーザー名です。ワークスペースグループは現在サポートされていません。BitBucketは代わりにチームを使用することを推奨しています。

この動作は、リポジトリの.aikidoファイルでdisable_codeowners_as_reviewersを使用して無効にできます。CODEOWNERSをレビュアーとして追加しないようにするを参照してください。