1
- # This workflow is used to add new issues to GitHub Projects (Beta)
1
+ # This workflow is used to add new issues to GitHub GraphSDKs Project
2
2
3
- name : Add PR to project
3
+ name : Add Issue or PR to project
4
4
on :
5
5
issues :
6
6
types :
7
7
- opened
8
+ pull_request :
9
+ types :
10
+ - opened
11
+ branches :
12
+ - " dev"
13
+
8
14
jobs :
9
15
track_issue :
16
+ if : github.actor != 'dependabot[bot]' && github.event.pull_request.head.repo.fork == false
10
17
runs-on : ubuntu-latest
11
18
steps :
12
19
- name : Generate token
20
27
env :
21
28
GITHUB_TOKEN : ${{ steps.generate_token.outputs.token }}
22
29
ORGANIZATION : microsoftgraph
23
- PROJECT_NUMBER : 28
30
+ PROJECT_NUMBER : 55
24
31
run : |
25
32
gh api graphql -f query='
26
33
query($org: String!, $number: Int!) {
@@ -44,13 +51,13 @@ jobs:
44
51
}' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json
45
52
46
53
echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV
47
- echo 'STATUS_FIELD_ID ='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status ") | .id' project_data.json) >> $GITHUB_ENV
48
- echo 'TRIAGE_OPTION_ID ='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status ") | .options[] | select(.name=="Needs Triage 🔍 ") |.id' project_data.json) >> $GITHUB_ENV
54
+ echo 'LANGUAGE_FIELD_ID ='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Language ") | .id' project_data.json) >> $GITHUB_ENV
55
+ echo 'LANGUAGE_OPTION_ID ='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Language ") | .options[] | select(.name=="CSharp ") |.id' project_data.json) >> $GITHUB_ENV
49
56
50
- - name : Add Issue to project
57
+ - name : Add Issue or PR to project
51
58
env :
52
59
GITHUB_TOKEN : ${{ steps.generate_token.outputs.token }}
53
- ISSUE_ID : ${{ github.event.issue.node_id }}
60
+ ISSUE_ID : ${{ github.event_name == 'issues' && github. event.issue.node_id || github.event.pull_request .node_id }}
54
61
run : |
55
62
item_id="$( gh api graphql -f query='
56
63
mutation($project:ID!, $issue:ID!) {
@@ -60,28 +67,28 @@ jobs:
60
67
}
61
68
}
62
69
}' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')"
63
-
70
+
64
71
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
65
72
66
- - name : Set Triage
73
+ - name : Set Language
67
74
env :
68
75
GITHUB_TOKEN : ${{ steps.generate_token.outputs.token }}
69
76
run : |
70
77
gh api graphql -f query='
71
78
mutation (
72
79
$project: ID!
73
80
$item: ID!
74
- $status_field : ID!
75
- $status_value : String!
81
+ $language_field : ID!
82
+ $language_value : String!
76
83
) {
77
84
set_status: updateProjectV2ItemFieldValue(input: {
78
85
projectId: $project
79
86
itemId: $item
80
- fieldId: $status_field
81
- value: {singleSelectOptionId: $status_value}
87
+ fieldId: $language_field
88
+ value: {singleSelectOptionId: $language_value}
82
89
}) {
83
90
projectV2Item {
84
91
id
85
92
}
86
93
}
87
- }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value =${{ env.TRIAGE_OPTION_ID }} --silent
94
+ }' -f project=$PROJECT_ID -f item=$ITEM_ID -f language_field=$LANGUAGE_FIELD_ID -f language_value =${{ env.LANGUAGE_OPTION_ID }} --silent
0 commit comments