`dependabot.yml` ファイルについて
`dependabot.yml` ファイルで、Dependabot がバージョン更新プログラムを使って依存関係を保持する方法を定義します。 さらに、<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg> アイコンが表示されているいずれのオプションを使っても、Dependabot がセキュリティ更新プログラムに対する pull request の作成方法を変更できます。ただし、`target-branch` が使われている場合は除きます。
Dependabot の構成ファイルである dependabot.yml では、YAML 構文を使います。 YAML を初めて使う場合、詳細については、「Learn YAML in five minutes」(5 分で学ぶ YAML) を参照してください。
このファイルは、既定のブランチにリポジトリの .github ディレクトリに保存する必要があります。
dependabot.yml ファイルを追加または更新すると、バージョン更新の即時チェックがトリガーされます。 詳細と例については、「Dependabot のバージョン アップデートの設定」を参照してください。
メモ
Dependabot alerts は、dependabot.yml ファイルではなく、リポジトリまたは organization の [Settings] タブで構成されます。「Dependabot アラートの構成」を参照してください。
必須のキー
| キー | Location | パーパス |
|---|---|---|
version | 最上位レベル | 使う Dependabot 構成構文。 常に 2 です。 |
updates | 最上位レベル | 更新する各 package-ecosystem を定義するセクション。 |
package-ecosystem |
`updates` の下 | 更新するパッケージ マネージャーを定義します。 |
|
directories または directory | 各 package-ecosystem エントリの下 | 更新するマニフェストまたはその他の定義ファイルの場所を定義します。 |
| schedule.interval | 各 package-ecosystem エントリの下 | バージョン更新プログラムを検索するかどうかを定義します (daily、weekly、または monthly)。 |
必要に応じて、最上位レベルの registries キーを含めて、プライベート レジストリのアクセス詳細を定義することもできます。「最上位レベルの registries キー」を参照してください。
# Basic `dependabot.yml` file with
# minimum configuration for two package managers
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/"
# Check the npm registry for updates every day (weekdays)
schedule:
interval: "daily"
# Enable version updates for Docker
- package-ecosystem: "docker"
# Look for a `Dockerfile` in the `root` directory
directory: "/"
# Check for updates once a week
schedule:
interval: "weekly"
# Basic `dependabot.yml` file with
# minimum configuration for two package managers
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/"
# Check the npm registry for updates every day (weekdays)
schedule:
interval: "daily"
# Enable version updates for Docker
- package-ecosystem: "docker"
# Look for a `Dockerfile` in the `root` directory
directory: "/"
# Check for updates once a week
schedule:
interval: "weekly"
`dependabot.yml` ファイルの実際の例については、[Dependabot 自体の構成ファイル](https://github.com/dependabot/dependabot-core/blob/main/.github/dependabot.yml)のページを参照してください。
`allow` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
パッケージ エコシステムに対してどの依存関係を保持するかを正確に定義するために使います。 多くの場合、ignore オプションと共に使われます。 例については、「Dependabot で更新する依存関係を制御する」を参照してください。
Dependabot の既定の動作:
-
マニフェストで明示的に定義されているすべての依存関係は、バージョン更新プログラムによって最新の状態に保たれます。
-
脆弱な依存関係を含むロック ファイルで定義されているすべての依存関係は、セキュリティ更新プログラムによって更新されます。
`allow` を指定した場合、Dependabot によって次のプロセスが使われます。
-
明示的に許可した依存関係をすべてチェックします。
-
次に、無視された依存関係またはバージョンを除外します。
依存関係が
allowとignoreステートメントと一致する場合、依存関係は無視されます。
| パラメーター | パーパス |
|---|---|
dependency-name | 名前が一致する依存関係の更新を許可します。必要に応じて、* を使って 0 個以上の文字と一致させることができます。 |
dependency-type | 特定の種類の依存関係の更新を許可します。 |
`dependency-name` (`allow`)
ほとんどのパッケージ マネージャーでは、ロックまたはマニフェスト ファイルで指定された依存関係名と一致する値を定義する必要があります。 一部のシステムには、より複雑な要件があります。
| パッケージ マネージャー | 必須の形式 | 例 |
|---|---|---|
| Gradle と Maven | groupId:artifactId | org.kohsuke:github-api |
| イメージ タグ用の Docker | リポジトリの完全な名前 |
`<account ID>.dkr.ecr.us-west-2.amazonaws.com/base/foo/bar/ruby:3.1.0-focal-jemalloc` のイメージ タグには、`base/foo/bar/ruby` を使います。|
`dependency-type` (`allow`)
| 依存関係の種類 | パッケージマネージャーによるサポート | 更新の許可 |
|---|---|---|
direct | すべて | 明示的に定義されたすべての依存関係。 |
indirect |
`bundler`、`pip`、`composer`、`cargo`、`gomod` | 直接依存関係 (サブ依存関係または推移的依存関係とも呼ばれます) の依存関係。|
| all | すべて | 明示的に定義されたすべての依存関係。
bundler、pip、composer、cargo、gomod の場合は、直接依存関係の依存関係も。|
| production |
bundler、composer、mix、maven、npm、pip (すべてのマネージャーではない) | パッケージ マネージャーによって運用依存関係として定義された依存関係のみ。 |
| development|
bundler、composer、mix、maven、npm、pip (すべてのマネージャーではない) | パッケージ マネージャーによって開発依存関係として定義された依存関係のみ。 |
`assignees` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
パッケージ エコシステムに対して生成されたすべての pull request に個別の担当者を指定します。 例については、「実際のプロセスに合わせて Dependabot pull request をカスタマイズする」を参照してください。
Dependabot の既定の動作:
-
Pull request は担当者なしで作成されます。
`assignees` が定義されている場合: -
バージョン更新プログラムのすべての pull request は、選ばれた担当者を使って作成されます。
-
target-branchで既定ではないブランチに対する更新プログラムが定義されていない場合、セキュリティ更新プログラムのすべての pull request は、選ばれた担当者を使って作成されます。
担当者はリポジトリへの書き込みアクセス権限を持っている必要があります。 Organization が所有するリポジトリの場合、読み取りアクセス権を持つ organization メンバーも有効な担当者です。
`commit-message` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
コミット メッセージの形式を定義します。 Pull request のタイトルはコミット メッセージに基づいて記述されるため、この設定は pull request のタイトルにも影響します。 例については、「実際のプロセスに合わせて Dependabot pull request をカスタマイズする」を参照してください。
Dependabot の既定の動作:
-
コミット メッセージは、リポジトリで検出されたものと同様のパターンに従います。
`commit-message` が定義されている場合: -
すべてのコミット メッセージは、定義されたパターンに従います。
-
target-branchで既定ではないブランチに対する更新プログラムが定義されていない場合、すべてのコミット メッセージは定義されたパターンに従います。
| パラメーター | パーパス |
|---|---|
prefix | すべてのコミット メッセージと pull request のタイトルのプレフィックスを定義します。 |
prefix-development | サポートされているシステム上で、Development 依存関係グループ内の依存関係を更新するコミットに使う別のプレフィックスを定義します。 |
include | コミット メッセージのプレフィックスの後にその他の情報を入力します。 |
ヒント
グループ化された更新に対して pull request が生成されると、ブランチ名と pull request のタイトルはグループ IDENTIFIER によって定義されます。「groups」を参照してください。
prefix
-
`prefix-development` も定義されていない場合、すべてのコミット メッセージに使われます。 - 値は最長 50 文字です。
- 値の末尾が文字、数字、終わり丸かっこ、または終わり角かっこである場合、メインのコミット メッセージを追加する前に、Dependabot によってプレフィックスの後にコロンが挿入されます。
- コロンの追加を停止するには、値の末尾を空白文字にします。
prefix-development
サポートしているもの: bundler、composer、mix、maven、npm、pip。
- Development 依存関係グループ内の依存関係を更新するコミット メッセージにのみ使われます。
- それ以外の場合、パラメーターは
prefixパラメーターとまったく同じように動作します。
include
- 値
scopeのみをサポートします - 定義すると、プレフィックスの後にコミットで更新される依存関係の種類 (
depsまたはdeps-dev) が続きます。
`cooldown` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
依存関係の更新のクールダウン期間を定義し、構成可能な日数だけ更新を延期することができます。
cooldown オプションは、_バージョン_更新プログラムでのみ使用でき、_セキュリティ_更新プログラムでは使用できません。
ユーザーはこの機能を使い、Dependabot によって新しいバージョンの更新が生成される頻度をカスタマイズし、更新頻度をより細かく制御できるようになります。 例については、「Dependabot バージョン更新プログラムに合わせて pull request の作成を最適化する」を参照してください。
Dependabot の既定の動作:
-
`schedule.interval` で定義したスケジュールに従って更新がチェックされます。 -
すべての新しいバージョンはすぐに更新対象として検討されます。
** `cooldown` ** が定義されている場合:
- Dependabot により、定義した
schedule.interval設定に従って更新がチェックされます。 - クールダウン設定がある場合は、Dependabot によってチェックされます。
- 依存関係の新しいリリースがクールダウン期間内にある場合、Dependabot により、その依存関係のバージョンの更新はスキップされます。
- クールダウン期間のない依存関係、またはクールダウン期間を過ぎた依存関係は、構成した
versioning-strategy設定に従って最新バージョンに更新されます。 - 依存関係のクールダウンが終了すると、Dependabot により、
dependabot.ymlに定義した標準の更新戦略に従って依存関係の更新が再開されます。
**
`cooldown` の構成**
以下のオプションを使ってクールダウンの期間を指定できます。
| パラメーター | 説明 |
|---|---|
default-days | 特定の規則のない依存関係の既定のクールダウン期間 (省略可能)。 |
semver-major-days |
**メジャー バージョン更新**のクールダウン期間 (省略可能。SemVer をサポートするパッケージ マネージャーにのみ適用されます)。 |
| semver-minor-days |
マイナー バージョン更新のクールダウン期間 (省略可能。SemVer をサポートするパッケージ マネージャーにのみ適用されます)。 |
| semver-patch-days |
パッチ バージョン更新のクールダウン期間 (省略可能。SemVer をサポートするパッケージ マネージャーにのみ適用されます)。 |
| include |
クールダウンを適用する依存関係のリスト (最大 150 項目)。 ワイルドカード (*) をサポートします。 |
| exclude |
クールダウンから除外する依存関係のリスト (最大 150 項目)。 ワイルドカード (*) をサポートします。 |
以下の表は、SemVer をサポートするパッケージ マネージャーをまとめたものです。
| パッケージ マネージャー | SemVer がサポートされています |
|---|---|
| Bazel | |
| Bundler | |
| Bun | |
| Cargo | |
| Composer | |
| Devcontainers | |
| Docker | |
| Docker Compose | |
| Dotnet SDK | |
| Elm | |
| GitHub Actions | |
| Gitsubmodule | |
| Gomod (Go モジュール) | |
| Gradle | |
| Helm | |
| 16 進 (16 進) | |
| Maven | |
| NPM と Yarn | |
| NuGet | |
| pip | |
| Pub | |
| Swift | |
| Terraform | |
| UV |
メモ
`semver-major-days`、`semver-minor-days`、または `semver-patch-days` が定義されていない場合、クールダウンベースの更新では `default-days` 設定が優先されます。
`exclude` リストは常に `include` リストよりも優先されます。 依存関係が両方のリストに指定されている場合、その依存関係は**クールダウンから除外**され、すぐに更新されます。
`directories` または `directory` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg> <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
**必須のオプション**。 各パッケージ マネージャー (_package.json_ や _Gemfile_ など) のパッケージ マニフェストの場所を定義するために使用します。 この情報がないと、Dependabot ではバージョン更新プログラムの pull request を作成できません。 例については、「[マニフェスト ファイルの複数の場所を定義する](/code-security/dependabot/dependabot-version-updates/controlling-dependencies-updated#defining-multiple-locations-for-manifest-files)」を参照してください。
*
directory を使って、マニフェストのディレクトリを 1 つ定義します。
*
directories を使って、マニフェストの複数のディレクトリで構成されるリストを定義します。
-
ほとんどのパッケージ マネージャーのリポジトリのルートに対して相対的なディレクトリを定義します。
-
GitHub Actions には、値
/を使います。 Dependabot は、/.github/workflowsディレクトリとルート ディレクトリのaction.yml/action.yamlファイルを検索します。
構成ファイル内で複数のブロックを使ってエコシステムの 1 つのターゲット ブランチの更新を定義する必要がある場合は、すべての値が一意であり、定義したディレクトリに重複がないことを確認する必要があります。
メモ
`directories` キーはグロビングとワイルドカード文字 `*` をサポートしています。 これらの機能は `directory` キーではサポートされていません。
`enable-beta-ecosystems` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
現在使用できません。
`groups` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
パッケージ マネージャーによって管理される 1 つ以上の依存関係のセットを作成し、更新プログラムを少数の対象を絞った pull request にグループ化するようにルールを定義します。 例については、「Dependabot バージョン更新プログラムに合わせて pull request の作成を最適化する」を参照してください。
Dependabot の既定の動作:
-
バージョン更新とセキュリティ更新の場合、新しいバージョンに更新する必要がある依存関係ごとに 1 つの pull request を開きます。
`groups` を使ってルールを定義する場合: -
規則と一致する依存関係のすべての更新は、1 つの pull request に結合されます。
-
依存関係が複数のルールと一致する場合、その依存関係は最初に一致したグループに含まれます。
-
一致するルールがない古い依存関係は、個別の pull request で更新されます。
| パラメーター | パーパス |
|---|---|
IDENTIFIER | ブランチ名と pull request のタイトルで使うグループの識別子を定義します。 この先頭と末尾は文字にする必要があります。また、文字、パイプ |、アンダースコア _、またはハイフン - を含めることができます。 |
applies-to | グループが適用される更新プログラムの種類を指定します。 未定義の場合、既定でバージョン更新プログラムになります。 サポートされる値: version-updates または security-updates。 |
dependency-type | グループを 1 つの種類に制限します。 サポートされる値: development または production。 |
patterns | 名前が一致する依存関係を含めるパターンを 1 つ以上定義します。 |
exclude-patterns | グループから依存関係を除外するパターンを 1 つ以上定義します。 |
update-types | グループを 1 つ以上のセマンティック バージョニング レベルに制限します。 サポートされる値: minor、patch、major。 |
`dependency-type` (`groups`)
サポートしているもの: bundler、composer、mix、maven、npm、pip。
既定では、グループにはすべての種類の依存関係が含まれます。
- "Development dependency group" に依存関係のみを含めるには、
developmentを使います。 - "Production dependency group" に依存関係のみを含めるには、
productionを使います。
`patterns` と `exclude-patterns` (`groups`)
どちらのオプションも、依存関係名との一致を定義する際にワイルド カードとして * を使用できます。 依存関係がパターンと除外パターンの両方と一致する場合は、グループから除外されます。
`update-types` (`groups`)
既定では、グループにはすべてのセマンティック バージョン (SemVer) 更新プログラムが含まれます。 SemVer は、x.y.z の形式でソフトウェア パッケージのバージョンを定義するための標準として認められています。 Dependabot は、この形式のバージョンが常に major.minor.patch であると想定します。
- パッチ リリースを含めるには、
patchを使います。 - マイナー リリースを含めるには、
minorを使います。 - メジャー リリースを含めるには、
majorを使います。
例については、「Dependabot で更新する依存関係を制御する」を参照してください。
`ignore` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
パッケージ エコシステムに対してどの依存関係を保持するかを正確に定義するには、allow オプションと共に使います。 Dependabotは許可されたすべての依存関係をチェックし、それから無視された依存関係やバージョンをフィルタリングします。 そのため、許可と無視の両方と一致する依存関係は無視されます。 例については、「Dependabot で更新する依存関係を制御する」を参照してください。
Dependabot の既定の動作:
-
マニフェストで明示的に定義されているすべての依存関係は、バージョン更新プログラムによって最新の状態に保たれます。
-
脆弱な依存関係を含むロック ファイルで定義されているすべての依存関係は、セキュリティ更新プログラムによって更新されます。
`ignore` を使うと、Dependabot によって次のプロセスが使われます。
-
明示的に許可した依存関係をすべてチェックします。
-
次に、無視された依存関係またはバージョンを除外します。
依存関係が
allowとignoreステートメントと一致する場合、依存関係は無視されます。
| パラメーター | パーパス |
|---|---|
dependency-name | 名前が一致する依存関係の更新を無視します。必要に応じて、* を使って 0 個以上の文字と一致させることができます。 |
versions | 特定のバージョンまたはバージョンの範囲を無視します。 |
update-types | 1 つ以上のセマンティック バージョニング レベルへの更新プログラムを無視します。 サポートされる値: version-update:semver-minor、version-update:semver-patch、version-update:semver-major。 |
`dependency-name` (`ignore`)
ほとんどのパッケージ マネージャーでは、ロックまたはマニフェスト ファイルで指定された依存関係名と一致する値を定義する必要があります。 一部のシステムには、より複雑な要件があります。
| パッケージ マネージャー | 必須の形式 | 例 |
|---|---|---|
| Gradle と Maven | groupId:artifactId | org.kohsuke:github-api |
| イメージ タグ用の Docker | リポジトリの完全な名前 |
`<account ID>.dkr.ecr.us-west-2.amazonaws.com/base/foo/bar/ruby:3.1.0-focal-jemalloc` のイメージ タグには、`base/foo/bar/ruby` を使います。|
`versions` (`ignore`)
特定のバージョンまたはバージョン範囲を無視するために使います。 範囲を定義する場合は、パッケージ マネージャーの標準パターンを使います。 次に例を示します。
- npm:
^1.0.0を使います - Bundler:
~> 2.0を使います - Docker: Bundler バージョンの構文を使います
- NuGet:
7.*を使います - Maven:
[1.4,)を使用する
例については、「Dependabot で更新する依存関係を制御する」を参照してください。
`update-types` (`ignore`)
無視するセマンティック バージョン (SemVer) を指定します。 SemVer は、x.y.z の形式でソフトウェア パッケージのバージョンを定義するための標準として認められています。 Dependabot では、この形式のバージョンは常に major.minor.patch.
- パッチ リリースを含めるには、
version-update:semver-patchを使います。 - マイナー リリースを含めるには、
version-update:semver-minorを使います。 - メジャー リリースを含めるには、
version-update:semver-majorを使います。
`insecure-external-code-execution` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
サポート: bundler、mix、および pip。
更新時に、Dependabot がマニフェスト内の外部コードを実行できるようにします。 例については、「外部コードの実行を許可する」を参照してください。
Dependabot の既定の動作:
-
Dependabot に 1 つ以上のレジストリへのアクセスを許可すると、侵害されたパッケージからコードを保護するために、外部コードの実行は自動的に無効になります。
-
コードを実行できないと、バージョン更新プログラムが失敗する場合があります。
`insecure-external-code-execution` を許可する場合: -
Dependabot により、バージョン更新プログラム プロセスの一部としてマニフェスト内のコードが実行されます。
-
コードは、その
updatesの設定に関連付けられたレジストリ内のパッケージ マネージャーにのみアクセスできます。 最上位のregistries構成で定義されているレジストリへのアクセスは許可されません。 -
そのため、更新プログラムは成功するはずですが、侵害されたパッケージが資格情報を盗んだり、構成済みのレジストリにアクセスしたりする可能性もあります。
サポートされる値: allow。
`labels` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
パッケージ マネージャーに対して発行されるすべての pull request に独自のラベルを指定します。 例については、「実際のプロセスに合わせて Dependabot pull request をカスタマイズする」を参照してください。
Dependabot の既定の動作:
-
すべての pull request には
dependenciesラベルが付いています。 -
複数のパッケージ マネージャーを定義すると、エコシステムまたは言語の追加ラベルが各 pull request に追加されます。 例: Gradle の更新プログラムの場合は
java、git サブモジュールの更新プログラムの場合はsubmodulesです。 -
セマンティック バージョン (SemVer) ラベルがリポジトリに存在する場合は、バージョン更新の種類 (
major、minor、またはpatch) を示すために自動的に適用されます。 -
Dependabotは、リポジトリ中の必要に応じて自動的にこれらのデフォルトラベルを作成します。
`labels` が定義されている場合: -
指定したラベルは、既定のラベルの代わりに使われます。
-
SemVer ラベル (リポジトリに存在する場合) は、定義されているカスタム ラベルに加えて適用されます。
-
これらのラベルのいずれかがリポジトリで定義されていない場合は無視されます。
-
`labels: [ ]` を使うと、既定のラベルを含むすべてのラベルを無効にできます。
target-branch を使って既定以外のブランチのバージョン アップデートをチェックしないかぎり、このオプションの設定も、このパッケージ マネージャーのマニフェスト ファイルに対するセキュリティ更新プログラムの pull request に影響します。
`milestone` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
パッケージ マネージャーに対して生成されたすべての pull request をマイルストーンに関連付けます。 例については、「実際のプロセスに合わせて Dependabot pull request をカスタマイズする」を参照してください。
Dependabot の既定の動作:
-
マイルストーンは使われません。
`milestone` が定義されている場合: -
パッケージ マネージャーに対するすべての pull request がマイルストーンに追加されます。
サポートされる値: マイルストーンの数値識別子。
ヒント
マイルストーンを表示した場合、ページURL の milestone より後の最後の部分が識別子になります。 例: https://github.com/<org>/<repo>/milestone/3。「マイルストーンの進捗状況を表示する」を参照してください。
`multi-ecosystem-groups` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
複数のパッケージ エコシステムにまたがるグループを定義すると、サポートされているすべてのパッケージ エコシステムを更新する 1 つの Dependabot pull request を取得できます。 このアプローチにより、受け取る Dependabot pull request 数を削減し、依存関係の更新ワークフローを効率化できます。
Dependabot の既定の動作:
-
依存関係の更新があるパッケージ エコシステムごとに個別の pull request が作成されます。
`multi-ecosystem-groups` を使った場合: -
同じグループ内の複数のパッケージ エコシステムにまたがる更新が、1 つの pull request に結合されます。
-
グループには独自のスケジュールがあり、個々のエコシステム設定を継承するか、オーバーライドすることができます。
multi-ecosystem-group
`multi-ecosystem-group` 構成で `updates` パラメーターを使って、個々のパッケージ エコシステムをマルチエコシステム グループに割り当てます。
重要
マルチエコシステムの更新には、特定の構成パターンが必要であり、独自のパラメーター マージ動作があります。 詳細なセットアップ手順、構成例、詳細なパラメーター リファレンスについては、「Dependabot 用にマルチエコシステム更新を構成する」を参照してください。
# Basic `dependabot.yml` file defining a multi-ecosystem-group
version: 2
multi-ecosystem-groups:
infrastructure:
schedule:
interval: "weekly"
updates:
- package-ecosystem: "docker"
directory: "/"
patterns: ["nginx", "redis"]
multi-ecosystem-group: "infrastructure"
- package-ecosystem: "terraform"
directory: "/"
patterns: ["aws"]
multi-ecosystem-group: "infrastructure"
# Basic `dependabot.yml` file defining a multi-ecosystem-group
version: 2
multi-ecosystem-groups:
infrastructure:
schedule:
interval: "weekly"
updates:
- package-ecosystem: "docker"
directory: "/"
patterns: ["nginx", "redis"]
multi-ecosystem-group: "infrastructure"
- package-ecosystem: "terraform"
directory: "/"
patterns: ["aws"]
multi-ecosystem-group: "infrastructure"
`open-pull-requests-limit` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
開いているバージョン更新プログラムの pull request の最大数に関する制限はいつでも変更できます。
Dependabot の既定の動作:
-
バージョン更新プログラムを含む pull request が 5 つ開いている場合、それらの開いている request の一部がマージまたは終了されるまで、それ以上の pull request は生成されません。
-
セキュリティ更新プログラムには、開いている pull request は 10 件という別の内部制限があり、変更できません。
`open-pull-requests-limit` が定義されている場合: -
Dependabot により、定義した整数値までの pull request が開かれます。
-
このオプションを 0 に設定すると、パッケージ マネージャーのバージョン更新プログラムを一時的に無効にできます。「Dependabot version updates を無効にする」を参照してください。
`package-ecosystem` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
**必須のオプション。** Dependabot で新しいバージョンを監視するパッケージ マネージャーごとに、`package-ecosystem` 要素を 1 つ定義します。 リポジトリには、各パッケージ マネージャーの依存関係マニフェストまたはロック ファイルも含める必要があります。「[`dependabot.yml` ファイルの例](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates#example-dependabotyml-file)」を参照してください。
| パッケージ マネージャー | YAML値 | サポートされているバージョン |
|---|---|---|
| Bazel | bazel | v7、v8、v9 |
| Bun | bun | >=v1.2.5 |
| Bundler | bundler | v2 |
| Cargo | cargo | v1 |
| Composer | composer | v2 |
| Conda | conda | 適用なし |
| 開発コンテナー | devcontainers | 適用なし |
| Docker | docker | v1 |
| Docker Compose | docker-compose | v2、v3 |
| .NET SDK | dotnet-sdk | >=.NET Core 3.1 |
| Helm チャート | helm | v3 |
| Hex | mix | v1 |
| elm-package | elm | v0.19 |
| Gitサブモジュール | gitsubmodule | 適用なし |
| GitHub Actions | github-actions | 適用なし |
| Go モジュール | gomod | v1 |
| Gradle | gradle | 適用なし |
| Maven | maven | 適用なし |
| npm | npm | v7、v8、v9、v10 |
| NuGet | nuget | <=6.12.0 |
| pip | pip | v24.2 |
| pip-compile | pip | 7.4.1 |
| pipenv | pip | <= 2024.4.1 |
| pnpm | npm | v7、v8 v9、v10 (バージョン更新プログラムのみ) |
| poetry | pip | v2 |
| pub | pub | v2 |
| Rust ツールチェーン | rust-toolchain | 適用なし |
| Swift | swift | v5 |
| Terraform | terraform | >= 0.13、<= 1.10.x |
| uv | uv | v0 |
| vcpkg | vcpkg | 適用なし |
| yarn | npm | v1、v2、v3、v4 |
`pull-request-branch-name.separator` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
ブランチ名の生成時に使う区切り記号を指定します。 例については、「実際のプロセスに合わせて Dependabot pull request をカスタマイズする」を参照してください。
Dependabot の既定の動作:
-
次の形式のブランチ名を生成します:
dependabot/PACKAGE_MANAGER/DEPENDENCY`pull-request-branch-name.separator` が定義されている場合: -
`/` ではなく指定した文字を使います。
サポートされる値: "-"、_、/
ヒント
ハイフン記号は、空の YAML リストの開始として解釈されないようにエスケープする必要があります。
`rebase-strategy` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
Dependabot によって生成された pull request の自動リベースを無効にします。
Dependabot の既定の動作は、Dependabot がバージョンまたはセキュリティ更新プログラムの pull request に対する変更を検出したときに、開いている pull request をリベースすることです。 次の場合、Dependabot によって変更がチェックされます。
-
バージョン更新プログラムをチェックするスケジュールが実行される。
-
終了した Dependabot pull request を再度開く。
-
Dependabot 構成ファイル内の
target-branchの値を変更する (「target-branch」を参照してください)。 -
ターゲット ブランチへの最近のプッシュ後に、Dependabot pull request に競合が発生した。
`rebase-strategy` が `disabled` に設定されている場合、Dependabot では pull request のリベースを停止します。
メモ
リベースを無効にする前に開かれていた pull request は、開かれてから 30 日後までリベースされ続けます。 これは、ターゲット ブランチと競合するすべての pull request と、バージョン更新プログラムのすべての pull request に影響します。
`registries` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
Dependabot がより広範囲の依存関係を更新できるように、プライベート パッケージ レジストリへのアクセスを構成します。「Dependabot のプライベート レジストリへのアクセスの構成」と「Dependabot のプライベート レジストリの構成に関するガイダンス」を参照してください。
`dependabot.yml` ファイルには、`registries` キーを使用できる場所が 2 つあります。
- 最上位レベルには、使うプライベート レジストリとそのアクセス情報を定義します。「Dependabot のプライベート レジストリへのアクセスの構成」を参照してください。
-
`updates` ブロック内で、各パッケージ マネージャーが使うプライベート レジストリを指定できます。
Dependabot の既定の動作では、パブリックにアクセスできるレジストリに格納されている依存関係を更新する場合にのみ、pull request を生成します。
Dependabot 構成ファイルに、1 つ以上のプライベート レジストリへのアクセスを定義する最上位レベルの registries セクションがある場合、これらのプライベート レジストリの 1 つ以上を使うように各 package-ecosystem を構成できます。
`registries` がパッケージ マネージャーに対して定義されている場合:
- パッケージ マネージャーに指定された各プライベート レジストリのバージョンとセキュリティの更新がチェックされます。
- 最上位レベルの
registriesセクションで定義されたアクセスの詳細が Dependabot によって使われます。
サポートされる値: REGISTRY_NAME または "*"
`schedule` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
**必須のオプション。**
`interval` パラメーターを使って、構成する各パッケージ マネージャーの新しいバージョンをチェックする頻度を定義します。 必要に応じて、日単位と週単位の間隔で、Dependabot で更新プログラムをチェックするタイミングをカスタマイズできます。 例については、「[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/optimizing-pr-creation-version-updates)」を参照してください。
| パラメーター | パーパス |
|---|---|
interval |
**必須**。 Dependabot の頻度を定義します。 |
| day |
週単位の間隔で実行する日を指定します。 |
| time | 実行する時刻を指定します。 |
| |
| cronjob | 間隔の種類が cron の場合の cron 式を定義します。 |
| |
| timezone |
time 値のタイムゾーンを指定します。 |
interval
サポートされる値: daily、weekly、monthly、quarterly、semiannually、yearly、またはcron
各パッケージ マネージャーでスケジュール間隔を定義する必要があります。
- 月曜日から金曜日までの平日に実行するには、
dailyを使います。 - 週 1 回 (既定では月曜日) 実行するには、
weeklyを使います。 - 毎月 1 日に実行するには、
monthlyを使います。 - 各四半期 (1 月、4 月、7 月、10 月) の初日に実行するには、
quarterlyを使います。 - 6 か月ごと (1 月と 7 月) の初日に実行するには、
semiannuallyを使います。 - 1 月 1 日に実行するには、
yearlyを使います。 - cron 式ベースのスケジュール オプションには
cronを使います。 以下を参照してください。cronjob
デフォルトでは、Dependabotは設定ファイル中のすべての更新を適用する時間をランダムに割り当てます。 すべての間隔に特定のランタイムを設定するには、time および timezone パラメーターを使用できます。 cron 間隔を使用する場合は、 cronjob 式を使用して更新時刻を定義できます。
day
サポートされる値: monday、tuesday、wednesday、thursday、friday、saturday、またはsunday
必要に応じて、特定の曜日にパッケージ マネージャーの更新プログラムを毎週実行します。
time
形式: hh:mm
必要に応じて、パッケージ マネージャーのすべての更新プログラムを特定の時間に実行します。 既定では、時刻は UTC として解釈されます。
cronjob
サポートされる値: cron 構文または自然な表現での有効な cron 式。
クーロン構文では、スペースで分けられた 5 つのフィールドがあり、各フィールドは時間の単位を表わします。
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of the month (1 - 31)
│ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
│ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
│ │ │ │ │
* * * * *
例: 0 9 * * *、every day at 5pm
`0 9 * * *` は "毎日午前 9 時" に相当します。
`every day at 5pm` は `0 17 * * *` と等価です。
メモ
`cronjob` 間隔を使うには、`cron` 型のスケジュールが必要です。
# Basic `dependabot.yml` file for cronjob
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/"
# Check the npm registry for updates based on `cronjob` value
schedule:
interval: "cron"
cronjob: "0 9 * * *"
# Basic `dependabot.yml` file for cronjob
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/"
# Check the npm registry for updates based on `cronjob` value
schedule:
interval: "cron"
cronjob: "0 9 * * *"
timezone
`time` 値のタイム ゾーンを指定します。
タイム ゾーン識別子は、iana によって管理されているデータベース内のタイム ゾーンと同じにする必要があります。「List of tz database time zones」(tz データベースのタイム ゾーン一覧) を参照してください。
`target-branch` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
バージョン更新プログラムをチェックし、バージョン更新プログラムの pull request をターゲットにするように特定のブランチを定義します。 例については、「実際のプロセスに合わせて Dependabot pull request をカスタマイズする」を参照してください。
Dependabot の既定の動作:
-
Dependabot によって、リポジトリの既定のブランチが使われます。「既定のブランチについて」を参照してください。
`target-branch` が定義されている場合: -
バージョン更新プログラムがチェックされるのは、ターゲット ブランチ上のマニフェスト ファイルのみです。
-
バージョン更新プログラムのすべての pull request は、指定したブランチを対象として開かれます。
-
この
package-ecosystemに対して定義されたオプションはセキュリティ更新プログラムには適用されなくなります。セキュリティ更新プログラムには、常にリポジトリの既定のブランチが使われるためです。
`exclude-paths` <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-versions" aria-label="versions icon" role="img"><path d="M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z"></path></svg>
マニフェストと依存関係をスキャンするときに Dependabot が無視するディレクトリとファイルのパスを指定するために使います。 このオプションは、テスト資産、ベンダー コード、特定のファイルなど、特定の場所にある依存関係の更新を防ぐ場合に役立ちます。
Dependabot の既定の動作:
-
このオプションで除外されない限り、指定された
directory内のすべてのディレクトリとファイルは更新スキャンに含まれます。`exclude-paths` が定義されている場合: -
指定されたパスに一致するすべてのファイルとディレクトリは、指定された
package-ecosystemエントリの更新スキャン中に無視されます。
| パラメーター | パーパス |
|---|---|
exclude-paths | 無視するファイルまたはディレクトリの glob パターンのリスト。 |
再帰マッチング用の ** や単一セグメントのワイルドカード用の * などの glob パターンがサポートされています。 パターンは、更新構成で指定された directory に対する相対パスになります。 各エコシステムは独自の exclude-paths 設定を持つことができます。
例
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
exclude-paths:
- "src/test/assets"
- "vendor/**"
- "src/*.js"
- "src/test/helper.js"
# Sample patterns that can be used-
# Pattern: docs/*.json
# Matches: docs/foo.json, docs/bar.json
# Pattern: *.lock
# Matches: Gemfile.lock, package.lock, foo.lock (in any directory)
# Pattern: test/**
# Matches: test/foo.rb, test/bar/baz.rb, test/any/depth/file.txt
# Pattern: config/settings.yml
# Matches: config/settings.yml
# Pattern: **/*.md
# Matches: README.md, docs/guide.md, any/depth/file.md
# Pattern: src/*
# Matches: src/main.rb, src/app.js
# Does NOT match: src/utils/helper.rb
# Pattern: hidden/.*
# Matches: hidden/.env, hidden/.secret
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
exclude-paths:
- "src/test/assets"
- "vendor/**"
- "src/*.js"
- "src/test/helper.js"
# Sample patterns that can be used-
# Pattern: docs/*.json
# Matches: docs/foo.json, docs/bar.json
# Pattern: *.lock
# Matches: Gemfile.lock, package.lock, foo.lock (in any directory)
# Pattern: test/**
# Matches: test/foo.rb, test/bar/baz.rb, test/any/depth/file.txt
# Pattern: config/settings.yml
# Matches: config/settings.yml
# Pattern: **/*.md
# Matches: README.md, docs/guide.md, any/depth/file.md
# Pattern: src/*
# Matches: src/main.rb, src/app.js
# Does NOT match: src/utils/helper.rb
# Pattern: hidden/.*
# Matches: hidden/.env, hidden/.secret
この例では、Dependabot は、更新をスキャンするときに、src/test/assets ディレクトリ、vendor/ の下にあるすべてのファイル、src/ の直下にあるすべての JavaScript ファイル、特定のファイル src/test/helper.js を無視します。
`vendor` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
サポートしているもの: bundler と gomod のみ。
ベンダリングされた依存関係と、マニフェスト ファイルで定義された依存関係を保持するように Dependabot に指示します。 コードをリポジトリ内に格納すると、依存関係は "ベンダリングされている" または "キャッシュされている" と記述されます。bundle cache ドキュメントと go mod vendor ドキュメントを参照してください。
例については、「Dependabot で更新する依存関係を制御する」を参照してください。
Dependabot の既定の動作:
-
マニフェストに記録された依存関係のみを保持し、Bundler 用として識別されたファイルをロックします。
-
マニフェストとロック ファイルに記録されているバージョン番号を更新する、セキュリティおよびバージョン更新プログラムの pull request を生成します。
-
Go モジュールの場合、ベンダリングされた依存関係はすべて、
vendorが有効になっているかのように自動的に特定され、保持されます。`vendor` が有効な場合: -
Dependabot により、リポジトリの
_vendor/cache_ディレクトリに格納されている Bundler の依存関係も保持されます。 -
Pull request には、リポジトリに格納されている依存関係の更新が含まれる場合があります。
サポートされる値: true または false
`versioning-strategy` <svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-versions" aria-label="Version updates" role="img"><path d="M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z"></path></svg><svg version="1.1" width="24" height="24" viewBox="0 0 24 24" class="octicon octicon-shield-check" aria-label="Security updates" role="img"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path></svg>
サポートしているもの: bundler、cargo、composer、mix、npm、pip、pub
Dependabot でマニフェスト ファイルを編集する方法を定義します。 例については、「Dependabot で更新する依存関係を制御する」を参照してください。
Dependabot の既定の動作:
-
アプリとライブラリの依存関係を区別するようにしてください。
-
アプリの場合は、新しいバージョンに合わせて最小バージョン要件を常に引き上げてください。
increase戦略。 -
ライブラリの場合は、可能であれば、新旧両方のバージョンを含むように、許可するバージョン要件を広げます。
widen戦略。`versioning-strategy` を定義した場合、その指定した戦略が Dependabot によって使われます。
| 値 | 動作 |
|---|---|
auto | 既定の動作 |
increase | 常に、新しいバージョンと一致するように、最低バージョン要件を追加します。 範囲が既に存在する場合は、通常、下限を増やすだけです。 |
increase-if-necessary | バージョン要件で新しいリリースが既に許可されている場合は、変更せずそのままにします (その場合でも Dependabot は解決済みのバージョンを更新します)。 そうでない場合は、要件をさらに広くします。 |
lockfile-only | ロックファイルを更新する pull request のみを作成します。 パッケージマニフェストの変更が必要になる新しいバージョンは無視します。 |
widen | 可能であれば、許可されるバージョンの要件を広げて、新旧両方のバージョンを含めます。 通常は、許可される最大バージョン要件のみが追加されます。 |
たとえば、現在のバージョンが 1.0.0 であり、現在の制約が ^1.0.0 の場合、複数の戦略によって次の更新が行われます。
新しいバージョン 1.2.0
-
`increase`: 新しい制約 `^1.2.0` -
`increase-if-necessary`: 新しい制約 `^1.0.0` -
`widen`: 新しい制約 `^1.0.0`
新しいバージョン 2.0.0
-
`increase`: 新しい制約 `^2.0.0` -
`increase-if-necessary`: 新しい制約 `^2.0.0 ` -
`widen`: 新しい制約 `>=1.0.0 <3.0.0`
メモ
使っているパッケージ マネージャーが versioning-strategy パラメーターの構成をまだサポートしていない場合、または必要な値をサポートしていない場合。 戦略コードはオープンソースであるため、特定のエコシステムで新しい戦略をサポートしたい場合は、いつでも https://github.com/dependabot/dependabot-core/ で pull request をお送りください。
バージョン管理タグ
- アルファ、ベータ、安定バージョンなど、ソフトウェア リリース ライフサイクルのステージを表します。
- 発行者は、パッケージをいっそう効率的に配布できます。
- バージョンの安定性を示し、機能と安定性に関してユーザーが予期する必要があることを伝えます。
Dependabot は、異なるエコシステムで、プレリリース、安定バージョン、カスタムのタグのさまざまなバージョン管理タグを認識します。
`dependabot.yml` ファイルでは使用できるバージョン管理タグは制御されませんが、サポートされているバージョン管理タグのうち更新を無視するものを、[`ignore`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#ignore--) などの構成オプションで定義できます。
サポートされているバージョン管理タグ
|
パッケージ マネージャー |
YAML の値 |
サポートされるタグ |
使用例 |
|---------------------|----------------|--------------------|--------------|
| Maven | maven | alpha, a, beta, b, milestone, m, rc, cr, sp, ga, final, release, snapshot |
[email protected]、[email protected] |
| npm | npm |
alpha、beta、canary、dev、experimental、latest、legacy、next、nightly、rc、release、stable |
lodash@beta、react@latest、express@next |
| pnpm | npm |
alpha、beta、canary、dev、experimental、latest、legacy、next、nightly、rc、release、stable |
[email protected]、react@alpha、vue@next |
| yarn | npm |
alpha、beta、canary、dev、experimental、latest、legacy、next、nightly、rc、release、stable |
[email protected]、axios@latest、moment@nightly |
バージョン管理タグ用語集
-
** `alpha`:** 初期バージョン。不安定であり、不完全な機能がある可能性があります。 -
** `beta`:** アルファより安定していますが、バグが残っている可能性があります。 -
** `canary`:** テストのために定期的に更新されるプレリリース バージョン。 -
** `dev`:** 開発バージョンを表します。 -
** `experimental`:** 試験的な機能を備えたバージョン。 -
** `latest`:** 最新の安定したリリース。 -
** `legacy`:** 古い、または非推奨のバージョン。 -
** `next`:** 次回のリリース バージョン。 -
** `nightly`:** 夜間にビルドされるバージョン。多くの場合、最新の変更が含まれます。 -
** `rc`:** 安定リリースに近いリリース候補。 -
** `release`:** 公式のリリース バージョン。 -
** `stable`:** 最も信頼性が高く、運用に対応したバージョン。
最上位レベルの registries キー
Dependabot が、プライベート パッケージ レジストリ (GitLab または Bitbucket でホストされているレジストリなど) にアクセスするために使用できる認証の詳細を指定します。
`registries` キーの値は連想配列で、その各要素は、特定のレジストリを指定するキーと、そのレジストリへのアクセスに必要な設定を指定する連想配列の値により構成されます。 次の `dependabot.yml` ファイルでは、ファイルの `dockerhub` セクションで `registries` として指定されたレジストリが構成された後、ファイルの `updates` セクションでそれが参照されています。
# Minimal settings to update dependencies stored in one private registry
version: 2
registries:
dockerhub: # Define access for a private registry
type: docker-registry
url: registry.hub.docker.com
username: octocat
password: ${{secrets.DOCKERHUB_PASSWORD}}
updates:
- package-ecosystem: "docker"
directory: "/docker-registry/dockerhub"
registries:
- dockerhub # Allow version updates for dependencies in this registry
schedule:
interval: "monthly"
# Minimal settings to update dependencies stored in one private registry
version: 2
registries:
dockerhub: # Define access for a private registry
type: docker-registry
url: registry.hub.docker.com
username: octocat
password: ${{secrets.DOCKERHUB_PASSWORD}}
updates:
- package-ecosystem: "docker"
directory: "/docker-registry/dockerhub"
registries:
- dockerhub # Allow version updates for dependencies in this registry
schedule:
interval: "monthly"
以下のオプションを使用して、アクセス設定を指定します。 レジストリの設定には、type と url、そして通常は username と password の組み合わせまたは token を含める必要があります。
| パラメーター | パーパス |
|---|---|
REGISTRY_NAME | 必須: レジストリの識別子を定義します。 |
type | 必須: レジストリの種類を特定します。 |
| 認証の詳細 | 必須: 認証の詳細を指定するためにサポートされるパラメーターは、レジストリの種類によって異なります。 |
url | 必須: このレジストリ内の依存関係にアクセスするために使う URL。 プロトコルはオプションです。 指定しないと、https:// が想定されます。 Dependabot が必要に応じて末尾のスラッシュを追加または無視します。 |
replaces-base | ブール値が true の場合、Dependabot により、そのエコシステムのベース URL ではなく、指定した url を使って依存関係が解決されます。 |
使用可能なオプションの詳細と、プライベート レジストリを構成するときの推奨事項とアドバイスについては、「Dependabot のプライベート レジストリの構成に関するガイダンス」を参照してください。
`type` と認証の詳細
プライベート レジストリにアクセスするための認証の詳細を指定するために使われるパラメーターは、レジストリ type によって異なります。
レジストリ type | 必須の認証パラメーター |
|---|---|
cargo-registry | token |
composer-repository |
`username` と `password` |
| docker-registry |
username と password |
| git |
username と password |
| hex-organization |
organization と key |
| hex-repository |
repo と auth-key (必要に応じて、対応する public-key-fingerprint と共に使用します) |
| maven-repository |
username と password |
| npm-registry |
username と password
または token |
| nuget-feed |
username と password
または token |
| pub-registry | token |
| python-index |
username と password
または token |
| rubygems-server |
username と password
または token |
| terraform-registry | token |
認証に使われるすべての機密データを安全に格納し、その安全な場所から参照する必要があります。「Dependabot のプライベート レジストリへのアクセスの構成」を参照してください。
ヒント
アカウントが GitHub アカウントの場合は、パスワードの代わりに GitHub personal access token を使用できます。
`url` と `replaces-base`
`url` パラメーターを使って、レジストリにアクセスする場所を定義します。 省略可能な `replaces-base` パラメーターが有効な場合 (`true`)、Dependabot により、その特定のエコシステムのベース URL ではなく、`url` の値を使って依存関係が解決されます。