# Issue にラベルを追加する

GitHub Actions を使用して、問題に自動的にラベルを付けることができます。

## はじめに

このチュートリアルでは、ワークフローで  GitHub CLI を使用して、新しくオープンまたは再オープンした Issue にラベルを付ける方法を示しています。 たとえば、Issue をオープンまたは再オープンするたびに `triage` ラベルを追加できます。 次に、`triage` ラベルで Issue をフィルター処理して、トリアージする必要のあるすべての Issue を確認できます。

GitHub CLI を使うと、ワークフローで GitHub API を簡単に使用できます。

このチュートリアルでは、まず GitHub CLI を使用するワークフロー ファイルを作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。

## ワークフローの作成

1. このプロジェクト管理ワークフローを適用したいリポジトリを選択してください。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成について詳しくは、「[新しいリポジトリの作成](/ja/repositories/creating-and-managing-repositories/creating-a-new-repository)」をご覧ください。

2. リポジトリに `.github/workflows/YOUR_WORKFLOW.yml` というファイルを作成します (`YOUR_WORKFLOW` は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub での新しいファイルの作成について詳しくは、「[新しいファイルの作成](/ja/repositories/working-with-files/managing-files/creating-new-files)」をご覧ください。

3. 次の YAML コンテンツをワークフローファイルにコピーします。

   ```yaml copy
   name: Label issues
   on:
     issues:
       types:
         - reopened
         - opened
   jobs:
     label_issues:
       runs-on: ubuntu-latest
       permissions:
         issues: write
       steps:
         - run: gh issue edit "$NUMBER" --add-label "$LABELS"
           env:
             GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
             GH_REPO: ${{ github.repository }}
             NUMBER: ${{ github.event.issue.number }}
             LABELS: triage
   ```

4. ワークフロー ファイルの `env` 値をカスタマイズします。
   * `GH_TOKEN`、`GH_REPO`、`NUMBER` の値は、`github` および `secrets` コンテキストを使って自動的に設定されます。 これらを変更する必要はありません。
   * `LABELS` の値を、問題に追加したいラベルのリストに変更してください。 リポジトリのラベルが存在する必要があります。 複数のラベルはコンマで区切ります。 たとえば、「 `help wanted,good first issue` 」のように入力します。 ラベルについて詳しくは、「[ラベルを管理する](/ja/issues/using-labels-and-milestones-to-track-work/managing-labels#applying-labels-to-issues-and-pull-requests)」をご覧ください。

5. ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳しくは、「[新しいファイルの作成](/ja/repositories/working-with-files/managing-files/creating-new-files)」をご覧ください。

## ワークフローのテスト

リポジトリ内の Issue をオープンするか再オープンするたびに、このワークフローは指定したラベルを Issue に追加します。

リポジトリに Issue を作成して、ワークフローをテストします。

1. リポジトリで Issue を作成します。 詳しくは、「[課題の作成](/ja/issues/tracking-your-work-with-issues/creating-an-issue)」をご覧ください。
2. Issue の作成によってトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しくは、「[ワークフロー実行の履歴を表示する](/ja/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)」をご覧ください。
3. ワークフローが完了すると、作成した Issue に指定されたラベルが追加されます。

## 次のステップ

* GitHub CLI で実行できるその他の操作の詳細については、[GitHub CLI のマニュアル](https://cli.github.com/manual/)を参照してください。
* ワークフローをトリガーできるさまざまなイベントについて詳しくは、「[ワークフローをトリガーするイベント](/ja/actions/using-workflows/events-that-trigger-workflows#issues)」をご覧ください。
* [Search GitHub](https://github.com/search?q=path%3A.github%2Fworkflows+gh+issue+edit\&type=code)`gh issue edit` を使用したワークフローの例を示します。