はじめに
このチュートリアルでは、ワークフローで GitHub CLI を使用して、新しくオープンまたは再オープンした Issue にラベルを付ける方法を示しています。 たとえば、Issue をオープンまたは再オープンするたびに triage
ラベルを追加できます。 次に、triage
ラベルで Issue をフィルター処理して、トリアージする必要のあるすべての Issue を確認できます。
GitHub CLI を使うと、ワークフローで GitHub API を簡単に使用できます。
このチュートリアルでは、まず GitHub CLI を使用するワークフロー ファイルを作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。
ワークフローの作成
-
このプロジェクト管理ワークフローを適用したいリポジトリを選択してください。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成について詳しくは、「新しいリポジトリの作成」をご覧ください。
-
リポジトリに
.github/workflows/YOUR_WORKFLOW.yml
というファイルを作成します (YOUR_WORKFLOW
は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub で新しいファイルを作成する方法について詳しくは、「新しいファイルの作成」を参照してください。 -
次の 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
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
-
ワークフロー ファイルの
env
値をカスタマイズします。GH_TOKEN
、GH_REPO
、NUMBER
の値は、github
およびsecrets
コンテキストを使って自動的に設定されます。 これらを変更する必要はありません。LABELS
の値を、Issue に追加するラベルのリストに変更します。 リポジトリのラベルが存在する必要があります。 複数のラベルはコンマで区切ります。 たとえば、help wanted,good first issue
のようにします。 ラベルについて詳しくは、「ラベルを管理する」をご覧ください。
-
ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳しくは、「新しいファイルの作成」を参照してください。
ワークフローのテスト
リポジトリ内の Issue をオープンするか再オープンするたびに、このワークフローは指定したラベルを Issue に追加します。
リポジトリに Issue を作成して、ワークフローをテストします。
- リポジトリで Issue を作成します。 詳しくは、「Issue の作成」をご覧ください。
- Issue の作成によってトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しくは、「ワークフロー実行の履歴を表示する」をご覧ください。
- ワークフローが完了すると、作成した Issue に指定されたラベルが追加されます。
次のステップ
- GitHub CLI で実行できるその他の機能の詳細については、「GitHub CLI マニュアル」を参照してください
- ワークフローをトリガーできるさまざまなイベントについて詳しくは、「ワークフローをトリガーするイベント」をご覧ください。
gh issue edit
を使用するワークフローの例については GitHub を検索してください。