@@ -19,16 +19,24 @@ jobs:
19
19
steps :
20
20
- name : Check if issue is already in "${{ env.BOARD_NAME }}"
21
21
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
28
36
fi
29
37
- name : Move issue
30
38
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' }}
32
40
with :
33
41
project : Issue triage
34
42
column : Triaged
38
46
name : Remove Z-Labs label when features behind labs flags are removed
39
47
runs-on : ubuntu-latest
40
48
if : >
41
- !(contains(github.event.issue.labels.*.name, 'A-Maths') ||
49
+ !(contains(github.event.issue.labels.*.name, 'A-Maths') ||
42
50
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
43
51
contains(github.event.issue.labels.*.name, 'A-Threads') ||
44
52
contains(github.event.issue.labels.*.name, 'A-Polls') ||
0 commit comments