diff options
Diffstat (limited to '.github/workflows/projects.yml')
-rw-r--r-- | .github/workflows/projects.yml | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/.github/workflows/projects.yml b/.github/workflows/projects.yml new file mode 100644 index 0000000000..5a42cedc10 --- /dev/null +++ b/.github/workflows/projects.yml @@ -0,0 +1,76 @@ +name: Update Projects + +on: + issues: + types: + - labeled + - unlabeled + - closed + - reopened + +jobs: + bugs: + if: "github.event_name == 'issues' && contains(github.event.*.labels.*.name, 'type: bug')" + concurrency: + group: update-bugs-project-${{ github.event.issue.number }} + cancel-in-progress: true + runs-on: ubuntu-latest + steps: + - name: "authenticate" + id: "authenticate" + uses: "tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92" # v1 + with: + app_id: "${{ secrets.PROJECTS_APP_ID }}" + installation_id: "36153445" + private_key: "${{ secrets.PROJECTS_PRIVATE_KEY }}" + + - uses: PaperMC/[email protected] + name: Update open issue + if: github.event.issue.state == 'open' + with: + github-token: "${{ steps.authenticate.outputs.token }}" + project-url: https://github.com/orgs/PaperMC/projects/5/views/2 + column-field: Status + label-to-column-map: | + { + "resolution: awaiting response": "⌛ Awaiting Response", + "resolution: cannot reproduce": "Invalid", + "resolution: duplicate": "Invalid", + "resolution: incomplete": "Invalid", + "resolution: invalid": "Invalid", + "resolution: superseded": "Invalid", + "resolution: unsupported": "Invalid", + "resolution: won't fix": "Invalid", + "resolution: works as intended": "Invalid", + "status: accepted": "✅ Accepted", + "status: blocked": "Needs Work", + "status: defer upstream": "Needs Work", + "status: in progress": "Needs Work", + "status: input wanted": "Needs Work", + "status: needs triage": "🕑 Needs Triage", + "status: rebase required": "Needs Work", + "status: unlikely": "✅ Accepted" + } + + - uses: PaperMC/[email protected] + name: Update closed issue + if: github.event.issue.state == 'closed' + with: + github-token: "${{ steps.authenticate.outputs.token }}" + project-url: https://github.com/orgs/PaperMC/projects/5/views/2 + column-field: Status + clear-on-no-match: false + # include "status: needs triage" below to catch any closed issues without setting a resolution + label-to-column-map: | + { + "resolution: cannot reproduce": "Invalid", + "resolution: duplicate": "Invalid", + "resolution: incomplete": "Invalid", + "resolution: invalid": "Invalid", + "resolution: superseded": "Invalid", + "resolution: unsupported": "Invalid", + "resolution: won't fix": "Invalid", + "resolution: works as intended": "Invalid", + "status: accepted": "Done", + "status: needs triage": "Invalid" + } |