diff --git a/.github/workflows/triage-move-unlabelled.yml b/.github/workflows/triage-move-unlabelled.yml index b8801dbe81..94bd049b91 100644 --- a/.github/workflows/triage-move-unlabelled.yml +++ b/.github/workflows/triage-move-unlabelled.yml @@ -10,12 +10,25 @@ jobs: runs-on: ubuntu-latest if: > ${{ - (github.event.project_card.project_card.column_id == 15439170 || - github.event.project_card.project_card.column_id == 16669396 || - github.event.project_card.project_card.column_id == 16669398) && !contains(github.event.issue.labels.*.name, 'X-Needs-Info') }} + env: + BOARD_NAME: "Issue triage" + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} + ISSUE: ${{ github.event.issue.number }} steps: - - uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488 + - name: Check if issue is already in "${{ env.BOARD_NAME }}" + run: | + if curl -i -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql | grep "\b$BOARD_NAME\b"; then + echo "Issue is already in Project '$BOARD_NAME', proceeding"; + echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV + else + echo "Issue is not in project '$BOARD_NAME', cancelling this workflow" + echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV + fi + - name: Move issue + uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488 + if: ${{ env.ALREADY_IN_BOARD == 'true' }} with: project: Issue triage column: Triaged