This page lists the workflows in this repository and their caller-facing contracts.
Authorized callers use the dispatch credentials to trigger workflows:
PROJECT_ROUTER_BOT_APP_ID(Actions variable, org-level)PROJECT_ROUTER_BOT_PRIVATE_KEY(Actions secret, org-level)
Important
For public caller repositories that run these workflows automatically on issue or pull request creation events, those events must be limited to trusted actors. In practice, require collaborator-only issue or pull request creation, or an equivalent repository control. Configure this in the caller repository at https://github.com/<owner>/<repo>/settings under Settings > General > Features, then use Issues > Issue permissions or Pull requests > Pull request permissions as appropriate.
Project-handling credentials are used internally and are not required from callers. The called workflows verify that the requested organization matches this repository owner and that the submitted issue or pull request node ID resolves back to the repository named in the request. See GitHub Apps reference.
Workflow file: .github/workflows/add-issue-to-projects.yml
workflow_call
implementation_ref: optional override. Branch or tag ref to use when dispatching.github/workflows/add-issue-to-projects-impl.yml.repository: required. Source repository name.issue_node_id: required. Node ID of the issue to add.project_field_values: required. JSON array of project mappings.organization: optional compatibility field; if provided it is forwarded to the implementation workflow.
- Validates the dispatch credentials and required dispatch inputs.
- Mints a dispatch token with
actions: writeondatasciencecampus/github-actions. - Dispatches
.github/workflows/add-issue-to-projects-impl.ymlwith the supplied inputs.
- This is the public reusable workflow for the issue flow.
- If
implementation_refis omitted, the workflow readsconfigs/implementation-ref.jsonfrom the invoked workflow revision, turnsimplementation_versioninto av...tag, and dispatches that release-managed ref. - Use
implementation_refonly to override that release-managed dispatch target with a specific branch or tag. - It is most useful for workflows in this repository, or same-organization callers that intentionally provide the dispatch secret to the public reusable workflow.
.github/workflows/test-add-issue-to-projects-reusable.ymlmanually exercises this reusable workflow withworkflow_dispatchinputs.- The same test workflow also runs automatically on
issues.openedin this repository. - For automatic runs, it derives
project_field_valuesfrom the repository Actions variablePROJECT_NUMBER.
Workflow file: .github/workflows/add-issue-to-projects-impl.yml
workflow_dispatch via POST /repos/datasciencecampus/github-actions/actions/workflows/add-issue-to-projects-impl.yml/dispatches
issue_node_id: required. Node ID of the issue to add.project_field_values: required. JSON array of project mappings.repository: required. Source repository name.organization: optional compatibility field; if provided it must match the owner of this repository.
Each entry must have project. field and value are optional — if omitted the issue is added with no field update.
[{"project": 1234}]
[{"project": 1234, "field": "Status", "value": "Backlog"}]- Validates credentials.
- Verifies that the submitted issue node ID belongs to the named source repository.
- Parses and validates all mapping entries.
- For each entry: adds the issue to the project if not already present.
- If
fieldis specified: sets the field value on the project item.
contents: read
Workflow file: .github/workflows/add-pr-to-projects.yml
workflow_call
implementation_ref: optional override. Branch or tag ref to use when dispatching.github/workflows/add-pr-to-projects-impl.yml.repository: required. Source repository name.pull_request_node_id: required. Node ID of the pull request to add.project_field_values: required. JSON array of project mappings.organization: optional compatibility field; if provided it is forwarded to the implementation workflow.
- Validates the dispatch credentials and required dispatch inputs.
- Mints a dispatch token with
actions: writeondatasciencecampus/github-actions. - Dispatches
.github/workflows/add-pr-to-projects-impl.ymlwith the supplied inputs.
- This is the public reusable workflow for the pull request flow.
- If
implementation_refis omitted, the workflow readsconfigs/implementation-ref.jsonfrom the invoked workflow revision, turnsimplementation_versioninto av...tag, and dispatches that release-managed ref. - Use
implementation_refonly to override that release-managed dispatch target with a specific branch or tag.
.github/workflows/test-add-pr-to-projects-reusable.ymlmanually exercises this reusable workflow withworkflow_dispatchinputs.- The same test workflow also runs automatically on
pull_request.openedandpull_request.reopenedin this repository. - For automatic runs, it derives
project_field_valuesfrom the repository Actions variablePROJECT_NUMBER, usingStatus = Reviewas the default field mapping.
Workflow file: .github/workflows/add-pr-to-projects-impl.yml
workflow_dispatch via POST /repos/datasciencecampus/github-actions/actions/workflows/add-pr-to-projects-impl.yml/dispatches
pull_request_node_id: required. Node ID of the pull request to add.project_field_values: required. JSON array of project mappings.repository: required. Source repository name.organization: optional compatibility field; if provided it must match the owner of this repository.
Each entry must have project, field, and value.
[{ "project": 1234, "field": "Status", "value": "Review" }]- Validates credentials.
- Verifies that the submitted pull request node ID belongs to the named source repository.
- Parses and validates all mapping entries (project, field, and value required).
- For each entry: adds the pull request to the project if not already present.
- Sets the configured field value on the project item.
contents: readpull-requests: read