Dependabot security updates の設定について
Dependabot alerts と依存関係グラフを使用する任意のリポジトリで Dependabot security updates を有効にすることができます。 詳しくは、「Dependabot のセキュリティ アップデート」をご覧ください。
個々のリポジトリまたは個人アカウントやOrganization が所有するすべてのリポジトリについて、Dependabot security updates を有効または無効にできます。 Organization 内のセキュリティ機能を有効にする方法の詳細については、「組織でセキュリティ機能を有効にする」を参照してください。
Note
リポジトリに対して Dependabot security updates が有効になっている場合、Dependabot は、使用可能なパッチを持つすべての開いている Dependabot アラートを解決するために pull request を自動的に開こうとします。 どのアラートに対して Dependabot が pull request を開くかカスタマイズする場合は、Dependabot security updates を [無効] のままにし、オート トリアージ ルールを作成する必要があります。 詳しくは、「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。
Dependabot とすべての関連する機能は、GitHub の利用規約でカバーされています。
サポートされているリポジトリ
個人アカウントまたは Organization で Dependabot security updates の [新しいリポジトリに対して自動的に有効する] が有効になっている場合、新しく作成されたリポジトリの Dependabot security updates が、GitHub によって、自動的に有効になります。 詳しくは、「リポジトリの Dependabot security updates の管理」を参照してください。
セキュリティ更新が有効になっているリポジトリのフォークを作成すると、GitHub によってフォークの Dependabot security updates が自動的に無効になります。 その後、特定のフォークで Dependabot security updates を有効にするかどうかを決定できます。
リポジトリでセキュリティアップデートが有効になっておらず、理由が不明の場合は、まず以下の手順のセクションに記載されている指示に従って有効にしてみてください。 セキュリティ更新プログラムがまだ機能していない場合は、GitHub サポート ポータル に問い合わせてください。
リポジトリの Dependabot security updates を管理する
個人アカウントまたは Organization が所有するすべての対象のリポジトリの Dependabot security updates を有効または無効にすることができます。 詳しくは、「個人アカウントのセキュリティと分析設定を管理する」または「組織のセキュリティおよび分析設定を管理する」を参照してください。
個別のリポジトリに対して Dependabot security updates を有効または無効にすることもできます。
個別のリポジトリに対して Dependabot security updates を有効または無効にする
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [Security] セクションで、[ Code security] をクリックします。
-
[Code security] の [Dependabot security updates] の右側で、機能を有効にするには [Enable] を、無効にするには [Disable] をクリックします。 パブリック リポジトリの場合、機能が常に有効になっていると、このボタンは無効になります。
Dependabot security updates を 1 つの pull request にグループ化する
表示される可能性がある pull request の数を減らすために、リポジトリまたは Organization のグループ化されたセキュリティ アップデートを有効にすることができます。 これを有効にすると、Dependabot は、パッケージ エコシステムごとにセキュリティ アップデートを 1 つの pull request にグループ化します。 グループ化されたセキュリティ アップデートを使用するには、まず次の機能を有効にする必要があります。
- 依存関係グラフ 詳しくは、「依存関係グラフを設定する」をご覧ください。
- Dependabot alerts。 詳しくは、「Dependabot アラートの構成」をご覧ください。
- Dependabot security updates。 詳しくは、「Configuring Dependabot security updates (Dependabot セキュリティ アップデートの構成)」をご覧ください。
Note
グループ化されたセキュリティ更新プログラムを最初に有効にすると、Dependabot はすぐにグループ化された pull request の作成を試みます。 Dependabot が古い pull request を閉じ、新しい pull request を開くことに気付く場合があります。
Dependabot security updates のグループ化された pull request は、以下の方法のいずれかまたは両方で有効にすることができます。
- ディレクトリ全体とエコシステム単位で、リリースされているセキュリティ更新プログラムをできるだけ多くグループ化するには、リポジトリの [Code security] 設定または organization の [Code security] の下にある [Global settings] でグループ化を有効にします。
- パッケージ名、開発/運用の依存関係によるグループ化、 SemVer レベル、またはエコシステムごとの複数のディレクトリ全体 など、グループ化をより細かく制御するには、リポジトリの
dependabot.yml
構成ファイルに構成オプションを追加します。
Note
dependabot.yml
ファイル内で Dependabot security updates のグループルールを構成した場合、使用できるすべての更新は、指定したルールに従ってグループ化されます。 Dependabot は、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートの設定も有効になっている場合、dependabot.yml
で構成されていないディレクトリ間でのみグループ化されます。
個別のリポジトリに対してグループ化された Dependabot security updates を有効または無効にする
リポジトリ管理者は、リポジトリのグループ化されたセキュリティ アップデートを有効または無効にすることができます。 リポジトリ設定を変更すると、既定の Organization 設定がオーバーライドされます。 dependabot.yml
ファイルで構成されたグループ ルールは、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートを有効または無効にするためのユーザー インターフェイス設定をオーバーライドします。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [Security] セクションで、[ Code security] をクリックします。
-
[Code security] の [Grouped security updates] の右側で、機能を有効にするには [Enable] を、無効にするには [Disable] をクリックします。
Organization に対してグループ化された Dependabot security updates を有効または無効にする
グループ化された Dependabot security updates を 1 つの pull request に有効にすることができます。 詳しくは、「組織のグローバル セキュリティ設定の構成」をご覧ください。
構成ファイルを使用した既定の動作のオーバーライド
リポジトリに dependabot.yml
ファイルを追加することで、Dependabot security updates の既定の動作をオーバーライドできます。 dependabot.yml
ファイルを使用すると、グループ化をより細かく制御し、Dependabot security updates 設定の既定動作をオーバーライドできます。
groups
オプションを applies-to: security-updates
キーと共に使用して (パッケージ マネージャーごとに) 依存関係のセットを作成し、Dependabot が 1 つの pull request を開いて複数の依存関係を同時に更新できるようにします。 パッケージ名 (patterns
や exclude-patterns
キー)、依存関係の種類 (dependency-type
キー)、SemVer (update-types
キー) でグループを定義できます。
Dependabot は、dependabot.yml
ファイルに表示される順序でグループを作成します。 依存関係の更新が複数のグループに属している可能性がある場合、一致する最初のグループにのみ割り当てられます。
セキュリティ アップデートのみを必要とし、_バージョン_更新を除外する場合は、特定の package-ecosystem
のバージョン更新を防ぐために open-pull-requests-limit
を 0
に設定できます。
セキュリティ アップデートに対して使用できる構成オプションについて詳しくは、「Dependabot options reference」を参照してください。
# Example configuration file that:
# - Has a private registry
# - Ignores lodash dependency
# - Disables version-updates
# - Defines a group by package name, for security updates for golang dependencies
version: 2
registries:
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
- example
- package-ecosystem: "gomod"
groups:
golang:
applies-to: security-updates
patterns:
- "golang.org*"
Note
Dependabot でセキュリティ更新プログラムにこの構成を使用するには、directory
をマニフェスト ファイルへのパスにする必要があります。target-branch
は指定しないでください。