Skip to content

Commit 7f7ba53

Browse files
authored
Add project auto add workflow (#844)
1 parent bf981e3 commit 7f7ba53

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

.github/workflows/projectbot.yml renamed to .github/workflows/project-auto-add.yml

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
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
22

3-
name: Add PR to project
3+
name: Add Issue or PR to project
44
on:
55
issues:
66
types:
77
- opened
8+
pull_request:
9+
types:
10+
- opened
11+
branches:
12+
- "dev"
13+
814
jobs:
915
track_issue:
16+
if: github.actor != 'dependabot[bot]' && github.event.pull_request.head.repo.fork == false
1017
runs-on: ubuntu-latest
1118
steps:
1219
- name: Generate token
@@ -20,7 +27,7 @@ jobs:
2027
env:
2128
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
2229
ORGANIZATION: microsoftgraph
23-
PROJECT_NUMBER: 28
30+
PROJECT_NUMBER: 55
2431
run: |
2532
gh api graphql -f query='
2633
query($org: String!, $number: Int!) {
@@ -44,13 +51,13 @@ jobs:
4451
}' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json
4552
4653
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
4956
50-
- name: Add Issue to project
57+
- name: Add Issue or PR to project
5158
env:
5259
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 }}
5461
run: |
5562
item_id="$( gh api graphql -f query='
5663
mutation($project:ID!, $issue:ID!) {
@@ -60,28 +67,28 @@ jobs:
6067
}
6168
}
6269
}' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')"
63-
70+
6471
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
6572
66-
- name: Set Triage
73+
- name: Set Language
6774
env:
6875
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
6976
run: |
7077
gh api graphql -f query='
7178
mutation (
7279
$project: ID!
7380
$item: ID!
74-
$status_field: ID!
75-
$status_value: String!
81+
$language_field: ID!
82+
$language_value: String!
7683
) {
7784
set_status: updateProjectV2ItemFieldValue(input: {
7885
projectId: $project
7986
itemId: $item
80-
fieldId: $status_field
81-
value: {singleSelectOptionId: $status_value}
87+
fieldId: $language_field
88+
value: {singleSelectOptionId: $language_value}
8289
}) {
8390
projectV2Item {
8491
id
8592
}
8693
}
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

Comments
 (0)