はじめに
GitHub Actions を使って、リポジトリで issue を作成したら自動で project に追加する workflow を作成しました。
背景
自分が今開発しているリポジトリでは、GitHub の project (classic じゃないほう)を使って、issue をカンバン形式で管理しています。
しかし、GitHub リポジトリの現時点の仕様では、issue を作成した時に自動でプロジェクトに追加するような設定ができません。
そのため、issue を作成するたびに手動で追加先 project を指定する必要があり、指定し忘れるとカンバンから漏れてしまうという課題がありました。
そこで、GitHub Actions で自動化しました。
※ GitHubのフォーラムでも、追加先 project を issue template で指定できるようにしてほしいという要望が上がっていますが、現時点ではまだ対応されていないようです。
workflow の作成
こちらの workflow ファイルを作成・配置します。
利用している add-to-project アクションは、GitHub認証済みアクションなので安心です。
# .github/workflows/add_issues_to_project.yml name: Add issues to project on: issues: types: [opened] jobs: add-to-project: name: Add issue to project runs-on: ubuntu-latest steps: - uses: actions/add-to-project@v0.4.0 with: project-url: https://github.com/users/[ユーザー名]/projects/[プロジェクトID] github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
personal access token の作成・設定
トークンの作成
1. Tokens(classic) の作成画面を開く
personal access tokenは、GitHub アカウントの Settings (リポジトリの Settings ではなく)を開き、
Developper settings > Personal access tokens > Tokens(classic)
のメニューから、作成画面を開くことができます。
今回利用しているアクションは、現時点ではFine-grained tokens
のほうには対応していないので注意してください。
Fine-grained tokens
を使うと、アクションの実行時にPersonal access tokens with fine grained access do not support the GraphQL API
というエラーが出ます。
2. 権限設定・トークン作成
下記の権限を設定し、「Generate token」をクリックするとトークンが作成されます。
- repo(配下すべて)
- project(配下すべて)
注意:
作成したトークンの文字列は、このあと利用するのでメモしておいてください。
一度画面を閉じると再表示されません。
リポジトリへの登録
トークンを作成できたら、リポジトリの Settings を開き、
Security > Secrets and variables > Actions
のメニューから、作成したトークンを登録します。
項目名に任意の名前(今回はADD_TO_PROJECT_PAT
)をつけ、Valueには生成したトークンの文字列をペーストして、登録完了です。
確認方法
ここまでの手順を完了すると、このリポジトリで issue を作成した時に workflow が動き、project が自動で指定されるようになります。
issue を作成したら、リポジトリの Actions タブで、Add issues to project
のワークフローが動いているかを確認してみてください。