はじめに
このチュートリアルでは、ワークフローで actions/github-script
アクションを使用して、新しくオープンまたは再オープンした Issue にラベルを付ける方法を示します。 たとえば、Issue をオープンまたは再オープンするたびに triage
ラベルを追加できます。 次に、triage
ラベルで Issue をフィルター処理して、トリアージする必要のあるすべての Issue を確認できます。
actions/github-script
アクションを使うと、ワークフローで GitHub API を簡単に使用できます。
チュートリアルでは、actions/github-script
アクションを使用するワークフロー ファイルをまず作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。
ワークフローの作成
-
このプロジェクト管理ワークフローを適用したいリポジトリを選択してください。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成について詳しくは、「新しいリポジトリの作成」をご覧ください。
-
リポジトリに
.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: - uses: actions/github-script@v6 with: script: | github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ["triage"] })
name: Label issues on: issues: types: - reopened - opened jobs: label_issues: runs-on: ubuntu-latest permissions: issues: write steps: - uses: actions/github-script@v6 with: script: | github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ["triage"] })
-
ワークフロー ファイルの
script
パラメーターをカスタマイズします。issue_number
、owner
、repo
の値は、context
オブジェクトを使って自動的に設定されます。 これらを変更する必要はありません。labels
の値を、Issue に追加するラベルのリストに変更します。 複数のラベルはコンマで区切ります。 たとえば、「["help wanted", "good first issue"]
」のように入力します。 ラベルについて詳しくは、「ラベルを管理する」をご覧ください。
-
ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳しくは、「新しいファイルの作成」を参照してください。
ワークフローのテスト
リポジトリ内の Issue をオープンするか再オープンするたびに、このワークフローは指定したラベルを Issue に追加します。
リポジトリに Issue を作成して、ワークフローをテストします。
- リポジトリで Issue を作成します。 詳しくは、「Issue の作成」を参照してください。
- Issue の作成によってトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しくは、「ワークフロー実行の履歴を表示する」を参照してください。
- ワークフローが完了すると、作成した Issue に指定されたラベルが追加されます。
次の手順
actions/github-script
アクションで実行できる追加の機能について詳しくは、actions/github-script
アクションのドキュメントにアクセスしてください。- ワークフローをトリガーできるさまざまなイベントの詳細については、「ワークフローをトリガーするイベント」を参照してください。
- このアクションを使用するワークフローの例については GitHub を検索してください。