Skip to main content

Issue にラベルを追加する

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

はじめに

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

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

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

ワークフローの作成

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

  2. リポジトリに .github/workflows/YOUR_WORKFLOW.yml というファイルを作成します (YOUR_WORKFLOW は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub で新しいファイルを作成する方法について詳しくは、「新しいファイルの作成」を参照してください。

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

    YAML
    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_TOKENGH_REPONUMBER の値は、github および secrets コンテキストを使って自動的に設定されます。 これらを変更する必要はありません。
    • LABELS の値を、Issue に追加するラベルのリストに変更します。 リポジトリのラベルが存在する必要があります。 複数のラベルはコンマで区切ります。 たとえば、help wanted,good first issue のようにします。 ラベルについて詳しくは、「ラベルを管理する」をご覧ください。
  5. ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳しくは、「新しいファイルの作成」を参照してください。

ワークフローのテスト

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

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

  1. リポジトリで Issue を作成します。 詳しくは、「Issue の作成」を参照してください。
  2. Issue の作成によってトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しくは、「ワークフロー実行の履歴を表示する」を参照してください。
  3. ワークフローが完了すると、作成した Issue に指定されたラベルが追加されます。

次のステップ

  • GitHub CLI で実行できるその他の機能の詳細については、「GitHub CLI マニュアル」を参照してください
  • ワークフローをトリガーできるさまざまなイベントの詳細については、「ワークフローをトリガーするイベント」を参照してください。
  • gh issue edit を使用するワークフローの例については GitHub を検索してください。