Dependabot のPull Requestについて
Dependabot は、依存関係を更新するPull Requestを生成します。 リポジトリの設定によっては、Dependabot がバージョン更新やセキュリティアップデートのPull Requestを発行する場合があります。 これらのPull Requestは、他のPull Requestと同じ方法で管理しますが、追加のコマンドもいくつか用意されています。 Dependabot の依存関係更新プログラムの有効化については、「Configuring Dependabot security updates (Dependabot セキュリティ アップデートの構成)」と「Dependabot のバージョン アップデートの設定」を参照してください。
Dependabot がPull Requestを発行すると、リポジトリに対して選択した方法で通知されます。 各Pull Requestには、パッケージマネージャーから取得した、提案された変更に関する詳細情報が含まれています。 これらのPull Requestは、リポジトリで定義されている通常のチェックとテストに従います。 さらに、十分な情報が利用可能な場合は、互換性スコアが表示されます。 これは、変更をマージするかどうかを決める際にも役立ちます。 このスコアについては、「Dependabot のセキュリティ アップデート」を参照してください。
管理する依存関係が多数ある場合は、各パッケージマネージャーの設定をカスタマイズして、プルリクエストに特定のレビュー担当者、アサインされた人、ラベルを付けることができます。 詳しくは、「依存関係の更新をカスタマイズする」を参照してください。
注: 90 日間、リポジトリに対する Dependabot pull request を操作しない場合、Dependabot はリポジトリを非アクティブと見なし、Dependabot updates を自動的に一時停止します。 非アクティブ状態の条件の詳細については、「GitHub Dependabot のバージョンアップデートについて」と「Dependabot のセキュリティ アップデート」を参照してください。
Dependabot のPull Requestを表示する
-
GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [pull request] をクリックします。
-
セキュリティまたはバージョン更新の pull requests は、簡単に特定できます。
- 作成者は dependabot です。これは、Dependabot によって使用されるボット アカウントです。
- 既定では、
dependencies
ラベルが付けられています。
Dependabot Pull Requestのリベース戦略を変更する
デフォルトでは、Dependabot は自動的にPull Requestをリベースして競合を解決します。 If a pull request has not been merged for 30 days, Dependabot will stop rebasing the pull request. You can still manually rebase and merge the pull request.マージの競合を手動で処理する方がよい場合は、rebase-strategy
オプションを使ってこれを無効にできます。 詳細については、「dependabot.yml ファイルの構成オプション」を参照してください。
リベースと追加コミットに対するプッシュの適用を Dependabot に許可する
既定では、追加コミットがプッシュされると Dependabot によって pull request のリベースが停止されます。 そのブランチに追加されたコミットにプッシュを適用することを Dependabot に許可するには、文字列 [dependabot skip]
、[skip dependabot]
、[dependabot-skip]
、または [skip-dependabot]
を小文字または大文字でコミット メッセージに追加します。
Dependabot Pull Requestをコメントコマンドで管理する
Dependabot はコメント内の単純なコマンドに応答します。 それぞれのPull Requestには、"Dependabot commands and options"セクションの下に、そのPull Requestを処理するのに使えるコマンド(たとえばPull Requestのマージ、squash、再オープン、クローズ、リベース)の詳細があります。 これらの自動生成されたPull Requestをできるだけ簡単にトリアージできるようにすることが目的です。
Dependabot Pull Requestでは、以下のいずれのコマンドを使うこともできます。
@dependabot cancel merge
は、以前に要求されたマージを取り消します。@dependabot close
は、pull request をクローズし、Dependabot がその pull request を再生成しないようにします。 同じ結果は、Pull Requestを手動でクローズしても得られます。@dependabot ignore this dependency
は、pull request をクローズし、Dependabot がこの依存関係に対してそれ以上 pull request を生成しないようにします (pull request を再オープンするか、提案されたバージョンの依存関係にアップグレードしないかぎり)。@dependabot ignore this major version
は、pull request をクローズし、Dependabot がこのメジャー バージョンに対してそれ以上 pull request を生成しないようにします (pull request を再オープンするか、このメジャー バージョンにアップグレードしないかぎり)。@dependabot ignore this minor version
は、pull request をクローズし、Dependabot がこのマイナー バージョンに対してそれ以上 pull request を生成しないようにします (pull request を再オープンするか、このマイナー バージョンにアップグレードしないかぎり)。@dependabot merge
は、CI テストに合格すると pull request をマージします。@dependabot rebase
は、pull request をリベースします。@dependabot recreate
は pull request を再作成し、pull request に対して行われたすべての編集を上書きします。@dependabot reopen
は、pull request がクローズされた場合に pull request を再オープンします。@dependabot squash and merge
は、CI テストに合格すると pull request をスカッシュしてマージします。
Dependabotはコマンドを認識すると"thumbs up"の絵文字で反応し、Pull Requestのコメントで応答することがあります。 Dependabotは通常すぐに反応しますが、コマンドによってはDependabotが他の更新やコマンドを処理するのに忙しい場合、完了に数分かかることがあります。
依存関係やバージョンを無視するコマンドを実行すると、Dependabot はリポジトリの設定を一元的に保存します。 これは簡単な解決策ですが、複数のコントリビューターがいるリポジトリの場合は、設定ファイルで無視する依存関係とバージョンを明示的に定義することをお勧めします。 これにより、特定の依存関係が自動的に更新されない理由をすべてのコントリビューターが簡単に確認できます。 詳しくは、「dependabot.yml ファイルの構成オプション」を参照してください。