diff --git a/.github/workflows/issue-status-helper.yml b/.github/workflows/issue-status-helper.yml new file mode 100644 index 0000000..696624b --- /dev/null +++ b/.github/workflows/issue-status-helper.yml @@ -0,0 +1,16 @@ +name: Issue Status Helper +on: + issues: + types: [labeled] +jobs: + routed: + runs-on: ubuntu-latest + if: "startsWith(github.event.label.name, 'Status: ')" + steps: + - name: "Ensure a single 'Status: *' label" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + run: | + labels_to_remove=$(gh api "/repos/$GH_REPO/labels" -q '[.[].name | select(startswith("Status: ") and . != "${{ github.event.label.name }}")] | join(",")') + gh issue edit ${{ github.event.issue.number }} --remove-label "$labels_to_remove" --add-label "${{ github.event.label.name }}" \ No newline at end of file