Summary
A GitHub Actions workflow that syncs issue lifecycle events from this repo
to a target GitHub Project in another organization.
Goals
- Automatically add an issue to a target GitHub Project when it is opened
- Automatically set the project item Status to
Done when the issue is closed
- Support cross-org project targeting with no custom fields required
- Keep configuration minimal via a single repo variable and secret
Proposed Solution
A workflow triggered on issues: [opened, closed] that uses the GitHub GraphQL
API to:
- On
opened — add the issue to the target project via addProjectV2ItemById,
establishing a native link between the project item and the source issue
- On
closed — find the project item by matching content.node_id to the
issue's node ID, then update its Status field to Done
Configuration:
PSYNC_TARGET (repo variable) — target project in org:project_number
format (e.g. my-org:1)
PSYNC_PAT (repo secret) — PAT with project and read:org scopes on
the target org
Non-goals
- Does not sync issue edits, label changes, or assignee updates to the project
- Does not create or manage custom fields in the target project
- Does not support GitHub Projects v1 (classic)
Summary
A GitHub Actions workflow that syncs issue lifecycle events from this repo
to a target GitHub Project in another organization.
Goals
Donewhen the issue is closedProposed Solution
A workflow triggered on
issues: [opened, closed]that uses the GitHub GraphQLAPI to:
opened— add the issue to the target project viaaddProjectV2ItemById,establishing a native link between the project item and the source issue
closed— find the project item by matchingcontent.node_idto theissue's node ID, then update its Status field to
DoneConfiguration:
PSYNC_TARGET(repo variable) — target project inorg:project_numberformat (e.g.
my-org:1)PSYNC_PAT(repo secret) — PAT withprojectandread:orgscopes onthe target org
Non-goals