name: "Bug Fix label" on: pull_request_target: types: [ opened, edited ] jobs: assign-label: if: github.event.pull_request.state == 'open' # Condition to check if PR is open runs-on: ubuntu-latest permissions: issues: write pull-requests: write contents: read steps: - name: label env: TITLE: ${{ github.event.pull_request.title }} LABEL: Bug Fix - Sooner than Very Soon uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN}} script: | if(process.env.TITLE.split(":")[0].toUpperCase().includes("FIX")){ github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: [process.env.LABEL] }) }else{ const {data} = await github.rest.issues.listLabelsOnIssue({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, }) const filtered = data.filter(label => label.name == process.env.LABEL) if(filtered.length == 1){ github.rest.issues.removeLabel({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, name: process.env.LABEL }) } }