Skip to content

Commit 40f5f75

Browse files
authored
chore: update graphql to projectV2 (#17)
1 parent 19d2fba commit 40f5f75

File tree

1 file changed

+28
-30
lines changed

1 file changed

+28
-30
lines changed

action.yml

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
name: 'Project Board Automation'
2-
description: 'Automate GitHub Projects with ease'
1+
name: "Project Board Automation"
2+
description: "Automate GitHub Projects with ease"
33
inputs:
44
project:
55
description: Project board number
@@ -32,25 +32,31 @@ runs:
3232

3333
- name: Fetch project data
3434
run: |
35+
set -x
3536
gh api graphql -f query='
36-
query($org: String!, $num: Int!) {
37-
organization(login: $org){
38-
projectNext(number: $num) {
37+
query ($org: String!, $num: Int!) {
38+
organization(login: $org) {
39+
projectV2(number: $num) {
3940
id
4041
fields(first: 20) {
4142
nodes {
42-
id
43-
name
44-
settings
43+
... on ProjectV2SingleSelectField {
44+
id
45+
name
46+
options {
47+
id
48+
name
49+
}
50+
}
4551
}
4652
}
4753
}
4854
}
4955
}' -f org=$ORG -F num=${{ inputs.project }} > project_data.json
5056
51-
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
52-
echo 'STATUS_FIELD_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name == "Status").id' project_data.json) >> $GITHUB_ENV
53-
echo 'TODO_OPTION_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name == "Status").settings | fromjson.options[] | select(.name=="${{ inputs.todo_status }}").id' project_data.json) >> $GITHUB_ENV
57+
echo 'PROJECT_ID='$(jq -r '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV
58+
echo 'STATUS_FIELD_ID='$(jq -r '.data.organization.projectV2.fields.nodes[] | select(.name == "Status").id' project_data.json) >> $GITHUB_ENV
59+
echo 'TODO_OPTION_ID='$(jq -r '.data.organization.projectV2.fields.nodes[] | select(.name == "Status").options[] | select(.name=="${{ inputs.todo_status }}").id' project_data.json) >> $GITHUB_ENV
5460
env:
5561
GITHUB_TOKEN: ${{ inputs.token }}
5662
ORG: ${{ inputs.org }}
@@ -69,15 +75,15 @@ runs:
6975
run: |
7076
item_id="$( gh api graphql -f query='
7177
mutation($project: ID!, $id: ID!) {
72-
addProjectNextItem(input: {
78+
addProjectV2ItemById(input: {
7379
projectId: $project,
7480
contentId: $id,
7581
}) {
76-
projectNextItem {
82+
item {
7783
id
7884
}
7985
}
80-
}' -f project=$PROJECT_ID -f id=$ISSUE_PR_ID --jq '.data.addProjectNextItem.projectNextItem.id')"
86+
}' -f project=$PROJECT_ID -f id=$ISSUE_PR_ID --jq '.data.addProjectV2ItemById.item.id')"
8187
8288
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
8389
env:
@@ -87,22 +93,14 @@ runs:
8793
- name: Set fields on project ticket
8894
run: |
8995
gh api graphql -f query='
90-
mutation (
91-
$project: ID!
92-
$item: ID!
93-
$status_field: ID!
94-
$status_value: String!
95-
) {
96-
updateProjectNextItemField(input: {
97-
projectId: $project
98-
itemId: $item
99-
fieldId: $status_field
100-
value: $status_value
101-
}) {
102-
projectNextItem {
103-
id
104-
}
105-
}
96+
mutation ($project: ID!, $item: ID!, $status_field: ID!, $status_value: String!) {
97+
updateProjectV2ItemFieldValue(
98+
input: {projectId: $project, itemId: $item, fieldId: $status_field, value: {singleSelectOptionId: $status_value}}
99+
) {
100+
projectV2Item {
101+
id
102+
}
103+
}
106104
}' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value=$TODO_OPTION_ID
107105
env:
108106
GITHUB_TOKEN: ${{ inputs.token }}

0 commit comments

Comments
 (0)