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.ymlpull/22223/head
							parent
							
								
									f2c8e89053
								
							
						
					
					
						commit
						f080b1fb27
					
				|  | @ -19,16 +19,24 @@ jobs: | |||
|     steps: | ||||
|       - 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 | ||||
|           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) | ||||
|           if echo $json | jq '.data.repository.issue.projectCards.nodes | length'; then | ||||
|             if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].project.name') =~ "${BOARD_NAME}" ]]; then | ||||
|               if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].isArchived') == 'true' ]]; then | ||||
|                 echo "Issue is already in Project '$BOARD_NAME', but is archived - skipping workflow"; | ||||
|                 echo "SKIP_ACTION=true" >> $GITHUB_ENV | ||||
|               else | ||||
|                 echo "Issue is already in Project '$BOARD_NAME', proceeding"; | ||||
|                 echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV | ||||
|               fi | ||||
|             else | ||||
|               echo "Issue is not in project '$BOARD_NAME', cancelling this workflow" | ||||
|               echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV | ||||
|             fi | ||||
|           fi | ||||
|       - name: Move issue | ||||
|         uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488 | ||||
|         if: ${{ env.ALREADY_IN_BOARD == 'true' }} | ||||
|         if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }} | ||||
|         with: | ||||
|           project: Issue triage | ||||
|           column: Triaged | ||||
|  | @ -38,7 +46,7 @@ jobs: | |||
|     name: Remove Z-Labs label when features behind labs flags are removed | ||||
|     runs-on: ubuntu-latest | ||||
|     if: > | ||||
|         !(contains(github.event.issue.labels.*.name, 'A-Maths') ||  | ||||
|         !(contains(github.event.issue.labels.*.name, 'A-Maths') || | ||||
|         contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || | ||||
|         contains(github.event.issue.labels.*.name, 'A-Threads') || | ||||
|         contains(github.event.issue.labels.*.name, 'A-Polls') || | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston