🤖 Automate GitHub Project cards with any webhook event
This action allows you to use any of the pull_request and issue webhook events to automate your project cards. For example when an issue
is opened
create a card in the Backlog project, Triage column.
If the pull_request
or issue
card already exists it will be moved to the column provided. Otherwise the card will be created in the column.
Create a project with columns in your repository, user profile or organisation.
Create a new workflow .yml
file in the .github/workflows/
directory. In the .yml
file you have to decide what webhook events going move or create a card in a column. For more detailed explanation of the workflow file, check out the GitHub documentation. See the examples below to get started quickly.
Move opened issues into the Triage column of the Backlog project
name: Move new issues into Triage
on:
issues:
types: [opened]
jobs:
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@v0.1.3
with:
project: Backlog
column: Triage
repo-token: ${{ secrets.GITHUB_TOKEN }}
Add assigned pull requests into the To Do column of the Backlog project
name: Move assigned pull requests into To do
on:
pull_request:
types: [assigned]
jobs:
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@v0.1.3
with:
project: Backlog
column: To do
repo-token: ${{ secrets.GITHUB_TOKEN }}
Change these options in the workflow .yml
file to meet your GitHub project needs.
Setting | Description | Values |
---|---|---|
on |
When the automation is ran | issues pull_request |
types |
The types of activity that will trigger a workflow run. | opened , assigned |
project |
The name of the project | Backlog |
column |
The column to create or move the card to | Triage |
repo-token |
The personal access token | ${{ secrets.GITHUB_TOKEN }} |
on-new |
Only run rules if a card does not already exist in the project | false |
In some cases you may want to do add this functionality for a private repository or one you do not have admin rights to. You may get an error like:
GraphqlError: Resource not accessible by integration
When this happens you will need to:
- Create a personal access token
- Create a secret containing the personal access token, call it
GH_PAT
- Change the
repo-token
in the workflow.yml
to reference your new token name:
repo-token: ${{ secrets.GH_PAT }}
With certain organisations there may be SAML enforcement. This means you will need to Enable SSO
when you create the personal access token.
GraphqlError: Resource protected by organization SAML enforcement. You must grant your personal token access to this organization
- v0.1.3 - Exact match for project names
- v0.1.2 - Fix action not running for a card that exists in multiple projects
- v0.1.1 - Document type filter so action runs once
- v0.1.0 - Add support for user projects
- v0.0.3 - Automatic build before commit
- v0.0.2 - Error handling using GitHub actions
- v0.0.1 - Update icon and color for GitHub actions
- v0.0.0 - Initial release