alex-page/github-project-automation-plus

特定のプロジェクトの特定のカラムに Issue or Pull Request を突っ込む Action.

内部的には GitHub API GraphQL 版を叩いているようだ(REST の API だとそれっぽいのがないのかな?)。

ちなみにREST API Referenceは下記。

Projects - GitHub Docs

GitHub Actions で Issue を Project に追加する - GeekFactory

こんな感じで mutation を query として gh api graphql を叩けば issue を Project に追加することができる。

on:
  issues:
    types:
      - opened
      - labeled

env:
  GITHUB_TOKEN: ${{ secrets.YOUR_TOKEN }}
  MUTATION: |
    mutation($projectColumnId: ID!, $issueID: ID!) {
      addProjectCard(input: {projectColumnId: $projectColumnId, contentId: $issueID}) {
        projectColumn {
          name
        }
      }
    }

jobs:
  my-kanban:
    runs-on: ubuntu-latest
    env:
      PROJECT_COLUMN_ID: MDSOMEPROJECTCOLUMNID
    steps:
      - run: gh api graphql -F "projectColumnId=$PROJECT_COLUMN_ID" -F 'issueID=$' -f query="$MUTATION"