When using GitHub Projects, it’s convenient to have issues or pull requests (items) added to the project automatically. There are a few different ways to do it.
Project auto-add
Projects can be configured to auto-add items. You create a workflow, and configure the types of items you’d like added.
https://github.blog/changelog/2023-03-09-github-issues-projects-march-9th-update/
You can only choose one source repo for items
OSPR bot adding pull requests to repos
The OSPR bot can add pull requests to repos. External non-draft pull requests will be added to projects listed in the catalog.yaml file.
In a repo’s catalog.yaml file, you create an annotation. For example, this will add to the https://github.com/orgs/openedx/projects/23 project:
annotations: # This can be multiple comma-separated projects. openedx.org/add-to-projects: "openedx:23"
More information is in the bot docs: https://github.com/openedx/openedx-webhooks/blob/master/docs/details.rst
Open edX shared workflow
An Open edX shared workflow can add issues to projects: https://github.com/openedx/.github/blob/master/.github/workflows/add-issue-to-a-project.yml
This is almost obsolete: a project workflow does this, but only for one repo. This action can be used in multiple repos to funnel issues from all of them into a project.
You make an action to use the workflow, like this:
name: Add new issues to the Security project
on:
issues:
types: [opened]
jobs:
Add_an_issue_to_project:
uses: openedx/.github/.github/workflows/add-issue-to-a-project.yml@master
secrets:
GITHUB_APP_ID: ${{ secrets.GRAPHQL_AUTH_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.GRAPHQL_AUTH_APP_PEM }}
with:
PROJECT_NUMBER: 45
Although the action says “issue”, I think it can add pull requests also.