{"id":13529498,"url":"https://github.com/alex-page/github-project-automation-plus","last_synced_at":"2025-05-16T04:00:21.752Z","repository":{"id":35855968,"uuid":"205594764","full_name":"alex-page/github-project-automation-plus","owner":"alex-page","description":"🤖 Automate GitHub Project cards with any webhook event","archived":false,"fork":false,"pushed_at":"2024-01-03T20:01:50.000Z","size":278,"stargazers_count":336,"open_issues_count":16,"forks_count":97,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-05T19:14:26.648Z","etag":null,"topics":["automation","github-actions","github-projects","issues","pull-requests"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/github-project-automation","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alex-page.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-31T20:48:07.000Z","updated_at":"2025-04-24T05:08:41.000Z","dependencies_parsed_at":"2024-06-18T10:53:14.176Z","dependency_job_id":"1405a5fc-0fef-4e88-89f6-22b5cd08f3e9","html_url":"https://github.com/alex-page/github-project-automation-plus","commit_stats":{"total_commits":82,"total_committers":16,"mean_commits":5.125,"dds":0.2682926829268293,"last_synced_commit":"7ffb872c64bd809d23563a130a0a97d01dfa8f43"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alex-page%2Fgithub-project-automation-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alex-page%2Fgithub-project-automation-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alex-page%2Fgithub-project-automation-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alex-page%2Fgithub-project-automation-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alex-page","download_url":"https://codeload.github.com/alex-page/github-project-automation-plus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464890,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","github-actions","github-projects","issues","pull-requests"],"created_at":"2024-08-01T07:00:36.866Z","updated_at":"2025-05-16T04:00:21.688Z","avatar_url":"https://github.com/alex-page.png","language":"JavaScript","funding_links":[],"categories":["Community Resources","JavaScript","📖 Category Details"],"sub_categories":["GitHub Tools and Management","**8. Task Automation \u0026 Project Management**"],"readme":"# GitHub Project Automation+\n\n\u003e 🤖 Automate GitHub Project cards with any webhook event\n\nThis action allows you to use any of the [pull_request](https://help.github.com/en/articles/events-that-trigger-workflows#pull-request-event-pull_request) and [issue](https://help.github.com/en/articles/events-that-trigger-workflows#issues-event-issues) webhook events to automate your project cards. For example when an `issue` is `opened` create a card in the Backlog project, Triage column.\n\nIf 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.\n\n\n## Usage\n\nCreate a [project](https://help.github.com/en/articles/about-project-boards) with columns in your repository, user profile or organisation.\n\nCreate 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](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file). See the examples below to get started quickly.\n\n\n### .github/workflows/opened-issues-triage.yml\n\nMove opened issues into the Triage column of the Backlog project\n\n```yml\nname: Move new issues into Triage\n\non:\n  issues:\n    types: [opened]\n\njobs:\n  automate-project-columns:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: alex-page/github-project-automation-plus@v0.8.3\n        with:\n          project: Backlog\n          column: Triage\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n### .github/workflows/assigned-pulls-todo.yml\n\nAdd assigned pull requests into the To Do column of the Backlog project\n\n```yml\nname: Move assigned pull requests into To do\n\non:\n  pull_request:\n    types: [assigned]\n\njobs:\n  automate-project-columns:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: alex-page/github-project-automation-plus@v0.8.3\n        with:\n          project: Backlog\n          column: To do\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n## Workflow options\n\nChange these options in the workflow `.yml` file to meet your GitHub project needs.\n\n| Inputs | Description | Values |\n| --- | --- | --- |\n| `on` | When the automation is ran | `issues` `pull_request` `issue_comment` `pull_request_target` `pull_request_review` |\n| `types` | The types of activity that will trigger a workflow run. | `opened`, `assigned`, `edited`: [See GitHub docs](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request) for more |\n| `project` | The name of the project | `Backlog` |\n| `column` | The column to create or move the card to | `Triage` |\n| `repo-token` | The personal access token | `${{ secrets.GITHUB_TOKEN }}` |\n| `action` | This determines the type of the action to be performed on the card, Default: `update` | `update`, `delete`, `archive`, `add` |\n\n## Personal access token\n\nMost of the time [`GITHUB_TOKEN`](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token) will work as your `repo-token`. This requires no set up. If you have a public project board and public repository this is the option for you.\n\n**Repository project, private repository or organisation projects**\n\nYou will need a personal access token to send events from your issues and pull requests.\n\n1. Create a personal access token\n    1. [Public repository and repository project](https://github.com/settings/tokens/new?scopes=repo\u0026description=GHPROJECT_TOKEN)\n    1. [Private repository or private project](https://github.com/settings/tokens/new?scopes=repo\u0026description=GHPROJECT_TOKEN)\n    1. [Organisation project board or organisation repository](https://github.com/settings/tokens/new?scopes=repo,write:org\u0026description=GHPROJECT_TOKEN)\n\n1. [Add a secret](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository) `GHPROJECT_TOKEN` with the personal access token.\n1. Update the `repo-token` in the workflow `.yml`  to reference your new token name:\n```yaml\nrepo-token: ${{ secrets.GHPROJECT_TOKEN }}\n```\n\n## Troubleshooting\n\n**GraphqlError: Resource not accessible by integration** or **Secrets are not currently available to forks.**\n\nThis error happens on repository projects and forked repositories because [`GITHUB_TOKEN` only has read permissions](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#permissions-for-the-github_token). Create a personal access token following the instructions above.\n\n**Parameter token or opts.auth is required**\n\nThis error happens when using a personal access token to run the workflow on PRs from forked repositories. This is because [GitHub secrets are not populated for workflows triggered by forks](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-events-for-forked-repositories-2). Use `pull_request_target` as the webhook event instead to [enable access to secrets](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target).\n\n**SAML enforcement**\n\nWith certain organisations there may be SAML enforcement. This means you will need to `Enable SSO` when you create the personal access token.\n```\nGraphqlError: Resource protected by organization SAML enforcement. You must grant your personal token access to this organization\n```\n\n**Can't read repository null**\n\nMake sure your permissions for your personal access token are correctly configured. Follow the above [guide on permissions](#personal-access-token).\n\n**Private repositories**\n\nYou may need to enable policy settings to allow running workflows from forks. Please refer to GitHub's documentation to learn about enabling these settings at [enterprise](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account#enabling-workflows-for-private-repository-forks), [organization](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization?algolia-query=private+repositor#enabling-workflows-for-private-repository-forks), or [repository](https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#enabling-workflows-for-private-repository-forks) level.\n\n\n## Release History\n\n- v0.8.3 - Update documentation so users get latest version\n- v0.8.2 - Update NodeJS support to use latest version\n- v0.8.1 - Fix `issue_coment` error with automation\n- v0.8.0 - Add new action type `add`\n- v0.7.1 - Move Node.js version back to v12\n- v0.7.0 - Update documentation and dependencies\n- v0.6.0 - Add support for `pull_request_target` and `pull_request_review` \n- v0.5.1 - Fix get event data from `issue_coment`\n- v0.5.0 - Add option to `delete` card\n- v0.4.0 - Add `issue_comment` event\n- v0.3.0 - Add `pull_request_target` event\n- v0.2.4 - Update dependencies\n- v0.2.3 - Replace reserved secret `GITHUB_TOKEN` with `GITHUB_TOKEN` in documentation\n- v0.2.2 - Refactor add and move card logic ✨\n- v0.2.1 - Fix bug with move logic when card is already in project\n- v0.2.0 - Restructure project, add tests, change add and move logic\n- v0.1.3 - Exact match for project names\n- v0.1.2 - Fix action not running for a card that exists in multiple projects\n- v0.1.1 - Document type filter so action runs once\n- v0.1.0 - Add support for user projects\n- v0.0.3 - Automatic build before commit\n- v0.0.2 - Error handling using GitHub actions\n- v0.0.1 - Update icon and color for GitHub actions\n- v0.0.0 - Initial release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falex-page%2Fgithub-project-automation-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falex-page%2Fgithub-project-automation-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falex-page%2Fgithub-project-automation-plus/lists"}