Add Issue and Template label workflow for ignored and missing templates #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Template label comment | |
| on: | |
| issues: | |
| types: [labeled] | |
| pull_request: | |
| types: [labeled] | |
| permissions: | |
| issues: write | |
| pull-requests: write | |
| jobs: | |
| comment_on_label: | |
| name: Comment on labeled issue/PR | |
| if: ${{ github.event.label.name == 'template-ignored' || github.event.label.name == 'template-missing' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Get PR template | |
| if: ${{ github.event.pull_request && github.event.label.name == 'template-missing' }} | |
| run: | | |
| set -euo pipefail | |
| { | |
| echo 'PR_TEMPLATE<<EOF' | |
| curl https://raw.githubusercontent.com/TeamNewPipe/NewPipe/refs/heads/dev/.github/PULL_REQUEST_TEMPLATE.md | |
| echo EOF | |
| } >> $GITHUB_ENV | |
| - name: Post comment | |
| uses: actions/github-script@v6 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| const label = context.payload.label && context.payload.label.name; | |
| if (!label) return; | |
| const isPR = !!context.payload.pull_request; | |
| const number = isPR ? context.payload.pull_request.number : context.payload.issue.number; | |
| let body = ''; | |
| if (label === 'template-ignored') { | |
| body = 'Please fill in the template completely or at least as much as possible. The team needs more detailed information.'; | |
| } else if (label === 'template-missing') { | |
| const kind = isPR ? 'PR' : 'issue'; | |
| let template; | |
| if (isPR) { | |
| template = '<details><summary>Raw template</summary>\n```\n' + process.env.PR_TEMPLATE + '\n```\n</details>'; | |
| } else { | |
| template = '[Bug report template](https://raw.githubusercontent.com/TeamNewPipe/NewPipe/refs/heads/dev/.github/ISSUE_TEMPLATE/bug_report.yml), [Feature request template](https://raw.githubusercontent.com/TeamNewPipe/NewPipe/refs/heads/dev/.github/ISSUE_TEMPLATE/feature_request.yml)'; | |
| } | |
| body = `Thank you for creating this ${kind}. Please edit your description and add the template with the information: ${template}`; | |
| } else { | |
| return; | |
| } | |
| await github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: number, | |
| body | |
| }); | |