# dependabot.yml ファイルについて

dependabot.ymlは、リポジトリ内の依存関係の自動更新を制御します。

`dependabot.yml` ファイルはオプションの構成ファイルであり、リポジトリ内の依存関係 (主にDependabot更新プログラムだけでなく\_セキュリティ\_更新プログラム) を監視および更新\_\_ 方法をきめ細かく制御できます。

`dependabot.yml` ファイルがない場合でも、リポジトリの設定でDependabotを有効にしている場合、Dependabot security updatesは脆弱な依存関係のセキュリティ更新プログラムを作成できます。 ただし、自動バージョンの更新プログラムを受け取ったり、更新スケジュールやその他の構成オプションを制御したりすることはありません。

`dependabot.yml` ファイルでは YAML 構文が使用されます。 YAML を初めて使う場合、詳しくは「[YAML を 5 分で学習する](https://learnxinyminutes.com/yaml/)」をご覧ください。

> \[!NOTE]
> Dependabot alerts は、 `dependabot.yml` ファイルではなく、リポジトリまたは組織の \[設定] タブで構成されます。 [Dependabot アラートの構成](/ja/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-dependabot-alerts) を参照してください。

## `dependabot.yml` ファイルの機能

`dependabot.yml` ファイルは、依存関係Dependabot更新を実行する方法を制御します。 このファイルを使用すると、次のことができます。

### バージョンアップデートの場合

* 自動バージョン更新を有効にする
* 監視するパッケージ エコシステムとディレクトリを指定する
* 更新スケジュールを設定する
* pull request ラベル、担当者、レビュー担当者、およびコミット メッセージをカスタマイズする
* 更新または無視する依存関係を制御する
* プライベート レジストリの認証を構成する

### セキュリティ更新のために

* ラベル、担当者、レビュー担当者を使用してセキュリティ更新プログラムのプル要求をカスタマイズする
* セキュリティ更新プログラムのターゲット ブランチを定義する
* プライベート レジストリ認証を構成する
* 開いている pull request に制限を設定する

## `dependabot.yml` ファイルを格納する場所

このファイルは、`.github`または`main`の既定のブランチ (通常は`.github/dependabot.yml`) のリポジトリの`.github/dependabot.yaml` ディレクトリに格納する必要があります。

## `dependabot.yml` ファイルのしくみ

リポジトリ内の `dependabot.yml` ファイルを追加または更新すると、 Dependabot 構成が読み取られ、定義されたスケジュールに従って指定されたパッケージ エコシステムの監視が開始されます。 使用可能な更新プログラム Dependabot 検出されると、構成で指定したカスタマイズ 規則に従って、依存関係の変更を含むプル要求が作成されます。

構成ファイルを監視するには、各パッケージ エコシステムに対して次のキーが必要です。

* **`version`**: Dependabot 構成構文のバージョンを指定する最上位フィールド。
* **`updates`**: 更新プログラムを監視する各パッケージ エコシステムを定義する最上位セクション。
* **`package-ecosystem`**: `updates`で定義され、更新するパッケージ マネージャー (npm、pip、Docker など) を指定します。
* **`directories` または `directory`**: 各 `package-ecosystem` エントリで定義され、マニフェストまたは依存関係定義ファイルの場所を指定します。
* **`schedule.interval`**: 各 `package-ecosystem` エントリの下で定義され、バージョンの更新 (`daily`、 `weekly`、または `monthly`) を確認する頻度を設定します。

## 基本的な例

npm の依存関係を毎日監視する最小限の `dependabot.yml` ファイルを次に示します。

```yaml copy
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
```

## 次のステップ

* 使用するパッケージが Dependabot によって自動的に更新されるようにリポジトリを構成する([Dependabot バージョンの更新の構成](/ja/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates) を参照)