# Issue にラベルを追加する

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

> \[!NOTE]
> GitHub Enterprise Server ホステッド ランナーは、現在 GitHub ではサポートされていません。

## はじめに

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

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

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

## ワークフローの作成

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

2. リポジトリに `.github/workflows/YOUR_WORKFLOW.yml` というファイルを作成します (`YOUR_WORKFLOW` は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub での新しいファイルの作成について詳しくは、「[新しいファイルの作成](/ja/enterprise-server@3.22/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/enterprise-server@3.22/issues/using-labels-and-milestones-to-track-work/managing-labels)」をご覧ください。

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

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

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

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

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

## 次のステップ

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