【GitHub】特定のリポジトリにissueが作成されたら、自動で Project(GitHub Projects)に追加されるようにする【GitHub Projects】
ポイント
以下のものを利用しました。
GitHub Actions
「Add To GitHub projects」(※classicのGitHub projectsはサポートしてないので注意)
手順
アクセストークンを生成しておく
GitHubの右上のアカウントメニューのSettingsをクリックし
Settings左メニュー一番下の「Developer settings」をクリック
左メニューのPersonal access tokensのTokens(classic)をクリック
「Generate new token」をクリックし、「Generate new token(classic)」を選択します。
各項目を入力してtokenを作成します。
scopesは以下のようにしました。
これについては、個人アカウントのリポジトリで行うかorgで利用するかで異なると思うので各自調整してください。
tokenを生成すると最初にtokenを表示してくれますが、以降リロード等すると二度と表示されないので、コピーして控えておきます。
目的のリポジトリのSecretsにtokenを登録する
今回はOrganizationで行いたいのでOrganizationのSecretsでもいいのですが、リポジトリのSecretsで行いたいと思います。
監視対象のリポジトリのページにアクセスして「Settings」をクリックします。
遷移先ページ左メニューのSecrets > Actionsをクリックします。
表示されたページの「New Repository secret」をクリックします。
Nameは「GHPROJECT_TOKEN」とでもして(なんでも良いです)
Secretに先程コピーして控えておいたtokenを入力し、「Add secret」をクリックしてsecretに登録します。
Workflowを作成
リポジトリにissueが作成されたらActionsで実行されるworkflowを作成します。先程作成したtokenやsecretはここの処理で必要になります。
監視するリポジトリのページにアクセスし、「Actions」をクリックします。
左メニューの「New workflow」をクリックします。
表示されたページの「set up a workflow yourself」をクリックします。
workflowのエディタが開かれるので、以下のように入力します。
ファイル名(〇〇.yml)も各々で自由につけてokです。
name: 'Your workflow name'
on:
issues:
types: [opened]
jobs:
add-issue-to-project:
runs-on: ubuntu-latest
steps:
- uses: actions/add-to-project@vX.X.X ←バージョンは各々確認
id: add-issue-to-project
with:
project-url: 自分のGitHub ProjectのURL(〇〇/projects/[project No.] まででok)
github-token: ${{ secrets.GHPROJECT_TOKEN }} ←自分で付けたtokenの名前にしてください
↑各項目は各々の環境に合わせて変更してください。
「actions/add-to-project@vX.X.X」のバージョンは↓で確認できます。
https://github.com/marketplace/actions/add-to-github-projects
書き終わったら右上の「Start commit」でcommitしてymlを保存しましょう。
これで準備は完了です。
確認
最後に対象のリポジトリでissueを作成してProjectに追加されるか確認し、できてればokです。
以上です。
Advanced
趣味とか私用でないOrganizationにおいては、個人のアクセストークンの利用はやはり避けた方が良いと思います。今回は試験的な試みというか私自身がやりたくてやっているだけなので、参考にする場合は自己責任でお願いします。
どのようなルールで組織のトークンを管理するかは議論するといろんな意見が出てきそうですね。
Share this post