{"id":15048108,"url":"https://github.com/github/update-project-action","last_synced_at":"2025-10-19T22:32:49.136Z","repository":{"id":40758946,"uuid":"419515068","full_name":"github/update-project-action","owner":"github","description":"Updates an item on a GitHub Projects (beta) board based on a workflow dispatch (or other) event's input.","archived":false,"fork":false,"pushed_at":"2024-09-06T19:34:22.000Z","size":1213,"stargazers_count":28,"open_issues_count":14,"forks_count":17,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-29T12:36:22.834Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/github.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"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":"2021-10-20T23:05:50.000Z","updated_at":"2024-09-10T19:33:32.000Z","dependencies_parsed_at":"2024-10-25T05:26:47.645Z","dependency_job_id":"963ea5a0-36eb-40d4-a3a1-11b8a7e0caea","html_url":"https://github.com/github/update-project-action","commit_stats":{"total_commits":146,"total_committers":8,"mean_commits":18.25,"dds":"0.26712328767123283","last_synced_commit":"b537d392df22655e3c84505f12faaf2f3d1912f0"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fupdate-project-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fupdate-project-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fupdate-project-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fupdate-project-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github","download_url":"https://codeload.github.com/github/update-project-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237096154,"owners_count":19254740,"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":[],"created_at":"2024-09-24T21:08:13.264Z","updated_at":"2025-10-19T22:32:49.125Z","avatar_url":"https://github.com/github.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Update Project Action\n\nA composite GitHub action that updates or gets an item's fields on a GitHub Projects (beta) board based on a workflow dispatch (or other) event's input.\n\n[![CI](https://github.com/benbalter/update-project-action/actions/workflows/ci.yml/badge.svg)](https://github.com/benbalter/update-project-action/actions/workflows/ci.yml)\n\n## Goals \n\n* To make it easier to update/read the fields of a GitHub Project board based on action taken elsewhere within the development process (e.g., status update comments)\n* Keep it simple - Prefer boring technology that others can understand, modify, and contribute to\n* Never force a human to do what a robot can\n\n## Status\n\nUsed to automate non-production workflows.\n\n## Usage\n\nTo use this composite GitHub Action, add the following to a YAML file in your repository's `.github/workflows/` directory, customizing the `with` section following [the instructions in the Inputs section](#inputs) below:\n\n```yml\nname: Update status on project board\non:\n  repository_dispatch:\n    types: [status_update]\njobs:\n  update_project:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Read status\n        id: read_status\n        uses: github/update-project-action@v3\n        with:\n          github_token: ${{ secrets.STATUS_UPDATE_TOKEN }}\n          organization: github\n          project_number: 1234\n          operation: read\n          content_id: ${{ github.event.client_payload.command.resource.id }}\n      - name: Output status\n        run: |\n          echo \"Current status value: ${{ steps.read_status.outputs.field_read_value }}\"\n      - name: Update status\n        id: update_status\n        uses: github/update-project-action@v3\n        with:\n          github_token: ${{ secrets.STATUS_UPDATE_TOKEN }}\n          organization: github\n          project_number: 1234\n          content_id: ${{ github.event.client_payload.command.resource.id }}\n          field: Status\n          value: ${{ github.event.client_payload.data.status }}\n      - name: Clear due date\n        id: clear_due_date\n        uses: github/update-project-action@v3\n        with:\n          github_token: ${{ secrets.STATUS_UPDATE_TOKEN }}\n          organization: github\n          project_number: 1234\n          content_id: ${{ github.event.client_payload.command.resource.id }}\n          field: \"Due Date\"\n          operation: clear\n```\n\n*Note: The above step can be repeated multiple times in a given job to update multiple fields on the same or different projects.* \n\n### Roadmap\n\nThe Action is largely feature complete with regards to its initial goals. Find a bug or have a feature request? [Open an issue](https://github.com/benbalter/update-project-action/issues), or better yet, submit a pull request - contribution welcome!\n\n### Inputs\n\n* `content_id` - The global ID of the issue or pull request within the project\n* `field` - The field on the project to set the value of\n* `github_token` - A GitHub Token with access to both the source issue and the destination project (`repo` and `write:org` scopes)\n* `operation` - Operation type (update, read, or clear)\n* `organization` - The organization that contains the project, defaults to the current repository owner\n* `project_number` - The project number from the project's URL\n* `value` - The value to set the project field to. Only required for operation type `update`; not required for `read` or `clear`.\n\n### Outputs\n\n* `field_id` - The global ID of the field\n* `field_read_value` - The value of the field before the update\n* `field_type` - The updated field's ProjectV2FieldType (text, single_select, number, date, or iteration)\n* `field_updated_value` - The value of the field after the update\n* `item_id` - The global ID of the issue or pull request\n* `item_title` - The title of the issue or pull request\n* `option_id` - The global ID of the selected option\n* `project_id` - The global ID of the project\n\n### V1 vs V2\n\nIn June 2022, [GitHub announced a breaking change to the Projects API](https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/). As such, the `@v1` tag of this action will ceased working on October 1st, 2022.  You can upgrade to the `@v2` tag (by updating the reference in your Workflow file) at any time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fupdate-project-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub%2Fupdate-project-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fupdate-project-action/lists"}