Skip to content

Commit f080b1f

Browse files
authored
Update unlabel workflow to check for card archive-ness (#22194)
* Update unlabel workflow to check for card archive-ness Fixes CI error notifications when removing labels from issues which are archived on the Issue Triage board. Doesn't fix the adding of labels, but that's more complicated and a work in progress as of writing. * Update triage-unlabelled.yml
1 parent f2c8e89 commit f080b1f

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

.github/workflows/triage-unlabelled.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,24 @@ jobs:
1919
steps:
2020
- name: Check if issue is already in "${{ env.BOARD_NAME }}"
2121
run: |
22-
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
23-
echo "Issue is already in Project '$BOARD_NAME', proceeding";
24-
echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV
25-
else
26-
echo "Issue is not in project '$BOARD_NAME', cancelling this workflow"
27-
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
22+
json=$(curl -s -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 } isArchived } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql)
23+
if echo $json | jq '.data.repository.issue.projectCards.nodes | length'; then
24+
if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].project.name') =~ "${BOARD_NAME}" ]]; then
25+
if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].isArchived') == 'true' ]]; then
26+
echo "Issue is already in Project '$BOARD_NAME', but is archived - skipping workflow";
27+
echo "SKIP_ACTION=true" >> $GITHUB_ENV
28+
else
29+
echo "Issue is already in Project '$BOARD_NAME', proceeding";
30+
echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV
31+
fi
32+
else
33+
echo "Issue is not in project '$BOARD_NAME', cancelling this workflow"
34+
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
35+
fi
2836
fi
2937
- name: Move issue
3038
uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
31-
if: ${{ env.ALREADY_IN_BOARD == 'true' }}
39+
if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }}
3240
with:
3341
project: Issue triage
3442
column: Triaged
@@ -38,7 +46,7 @@ jobs:
3846
name: Remove Z-Labs label when features behind labs flags are removed
3947
runs-on: ubuntu-latest
4048
if: >
41-
!(contains(github.event.issue.labels.*.name, 'A-Maths') ||
49+
!(contains(github.event.issue.labels.*.name, 'A-Maths') ||
4250
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
4351
contains(github.event.issue.labels.*.name, 'A-Threads') ||
4452
contains(github.event.issue.labels.*.name, 'A-Polls') ||

0 commit comments

Comments
 (0)