This file contains 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: Handle Low Quality Label | |
on: | |
issues: | |
types: [labeled] | |
pull_request: | |
types: [labeled] | |
jobs: | |
handle_low_quality: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check and Handle Low Quality Label | |
if: ${{ github.event.label.name == 'low quality' }} | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
// Define the labels and the issue/PR number | |
const labelToAdd = 'invalid'; | |
const issue_number = context.payload.issue ? context.payload.issue.number : context.payload.pull_request.number; | |
// Get the existing labels | |
const existingLabels = context.payload.issue ? context.payload.issue.labels : context.payload.pull_request.labels; | |
const labelExists = existingLabels.some(label => label.name === labelToAdd); | |
// Add the 'invalid' label if not already present | |
if (!labelExists) { | |
await github.rest.issues.addLabels({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: issue_number, | |
labels: [labelToAdd] | |
}); | |
console.log(`Label "${labelToAdd}" added to issue/pr #${issue_number}.`); | |
} else { | |
console.log(`Label "${labelToAdd}" already exists on issue/pr #${issue_number}. No action taken.`); | |
} | |
// Close the issue or PR | |
await github.rest.issues.update({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: issue_number, | |
state: 'closed' | |
}); | |
console.log(`Issue/PR #${issue_number} closed.`); |