# Actions that should occur when a GitHub issue is assigned. # # Currently this will remove the `state:needs-owner` label when the issue is assigned to an owner. # # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: BSD-2-Clause-Patent name: React to Issue Assignment on: issues: types: assigned jobs: adjust-labels: name: Adjust Issue Labels runs-on: ubuntu-latest permissions: contents: read issues: write steps: - uses: actions/checkout@v4 - name: Remove Labels env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # All labels here will be removed if present in the issue LABELS_TO_REMOVE=("state:needs-owner") # Gather issue context information ISSUE_NUMBER=$(jq --raw-output .issue.number "$GITHUB_EVENT_PATH") OWNER=$(jq --raw-output .repository.owner.login "$GITHUB_EVENT_PATH") REPO=$(jq --raw-output .repository.name "$GITHUB_EVENT_PATH") LABELS=$(curl -s \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/$OWNER/$REPO/issues/$ISSUE_NUMBER/labels | jq -r '.[].name') # Remove labels for LABEL in "${LABELS_TO_REMOVE[@]}"; do if echo "$LABELS" | grep -q "$LABEL"; then curl -X DELETE \ -s \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/$OWNER/$REPO/issues/$ISSUE_NUMBER/labels/"$LABEL" > /dev/null echo "$LABEL removed from issue #$ISSUE_NUMBER" else echo "$LABEL not found on issue #$ISSUE_NUMBER" fi done