self-hosted/.github/workflows/issue-status-helper.yml
2021-05-12 22:03:34 +03:00

16 lines
666 B
YAML

name: Issue Status Helper
on:
issues:
types: [labeled]
jobs:
ensure_one_status:
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 --paginate "/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 }}"