Skip to main content

Dependabot pull request について

バージョンとセキュリティ更新プログラムのプル要求の頻度とカスタマイズ オプションについて理解します。

セキュリティ更新のプルリクエスト

セキュリティ更新プログラムを有効にした場合、セキュリティ更新プログラムのプル要求は、既定のブランチへの依存関係に対する Dependabot アラートによってトリガーされます。 Dependabot はプルリクエストを自動的に生成し、脆弱性のある依存関係を更新します。

各プルリクエストには、提案された修正を迅速かつ安全に確認してプロジェクトにマージするために必要なすべてのものが含まれています。 これには、リリースノート、変更ログエントリ、コミットの詳細などの脆弱性に関する情報が含まれます。 プルリクエストが解決する脆弱性の詳細は、リポジトリの Dependabot alerts にアクセスできないユーザには表示されません。

セキュリティアップデートを含むプルリクエストをマージすると、対応する Dependabot アラートがリポジトリに対して解決済みとしてマークされます。 Dependabot pull request の詳細については、「依存関係の更新に関するPull Requestを管理する」をご覧ください。

メモ

自動テストと受け入れプロセスを用意しておいて、pull request がマージされる前にチェックが実行されるようにすることをお勧めします。 これは特に、アップグレードが提案されたバージョンに追加機能があったり、プロジェクトのコードを破壊するような変更がある場合に重要です。 継続的インテグレーションの詳細については、「継続的インテグレーション」を参照してください。

セキュリティ更新プログラムのプル要求のカスタマイズ

プロジェクトのセキュリティの優先順位とプロセスにとって最適になるように、Dependabot によってセキュリティ更新プログラムの pull request を生成する方法をカスタマイズできます。 例えば次が挙げられます。 * Dependabot の pull request を最適化し、重要な更新プログラムを優先するには、複数の更新プログラムを 1 つの pull request にグループ化します。

  • カスタム ラベルを適用して 、 Dependabot の pull request を既存の ワークフローに統合します。

バージョン更新プログラムと同様に、セキュリティ更新プログラム用のカスタマイズ オプションは dependabot.yml ファイルで定義します。 dependabot.yml をバージョン更新プログラム用に既にカスタマイズしている場合、定義済み構成オプションの多くがセキュリティ更新プログラムにも自動的に適用されます。 ただし、注意すべき重要な点がいくつかあります。

  • Dependabot security updates は、バージョン更新プログラム用の **** で設定した schedule に従って実行されるのではなく、dependabot.yml
  • Dependabot により、既定のブランチのみに対してセキュリティ更新プログラム用の pull request が生成されます。 構成で target-branch の値を設定している場合、そのパッケージ エコシステムのカスタマイズは、既定でバージョン更新プログラムにのみ適用されます。

詳しくは、「Dependabot セキュリティ更新プログラム用に pull request をカスタマイズする」をご覧ください。

バージョン更新のプル要求

バージョンの更新では、構成ファイル内の新しいバージョンの各エコシステムを確認する頻度を指定します (日単位、週単位、月単位)。

最初にバージョンアップデートを有効にすると、古くなった依存関係が大量にあり、中には最新バージョンまでにいくつものバージョンが存在しているものもあるかもしれません。 Dependabotは、有効化されるとすぐに古くなった依存関係をチェックします。 設定が更新するマニフェストファイルの数に応じて、設定ファイルの追加後数分のうちに、バージョンアップデートの新しいプルリクウェストが発行されるかもしれません。 Dependabotは、設定ファイルに対するその後の変更に対しても更新を実行します。

プルリクウェストを管理可能でレビューしやすく保つために、Dependabotは依存関係を最新バージョンにし始めるためのプルリクウェストを最大で5つまで発行します。 次にスケジュールされているアップデートの前にこれらの最初のプルリクウェストの一部をマージした場合、残りのプルリクウェストは上限まで次のアップデート時にオープンとなります。 オープンプルリクウェストの最大数は、open-pull-requests-limit 構成オプションを設定することで変更できます。

表示される pull request の数をさらに減らすには、groups 構成オプションを使って、依存関係のセットを (パッケージ エコシステムごとに) グループ化することができます。 次に、Dependabot により、1 つの pull request が生成され、グループ内のできるだけ多くの依存関係が一度で最新バージョンに更新されます。 詳細については「Dependabot バージョン更新プログラムに合わせて pull request の作成を最適化する」を参照してください。

Dependabot プルリクエストに対するコマンド

Dependabot はコメント内の単純なコマンドに応答します。 それぞれのPull Requestには、"Dependabot commands and options"セクションの下に、そのPull Requestを処理するのに使えるコマンド(たとえばPull Requestのマージ、squash、再オープン、クローズ、リベース)の詳細があります。 これらの自動生成されたPull Requestをできるだけ簡単にトリアージできるようにすることが目的です。 詳しくは、「Dependabotのプルリクエストコメントコマンド」をご覧ください。