Skip to content

Commit f1cfdb9

Browse files
author
Ben Siggery
committed
attempt to update date opened field
1 parent 61143e3 commit f1cfdb9

File tree

1 file changed

+77
-1
lines changed

1 file changed

+77
-1
lines changed

.github/workflows/update-project-fields.yml

+77-1
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,18 @@ jobs:
5555
echo "$PROJECT_DATA" | jq -r '.organization.projectV2.fields.nodes[] | .name + ": " + .id'
5656
5757
# Try different field name variations for the date field
58-
DATE_FIELD_ID=$(echo "$PROJECT_DATA" | jq -r '.organization.projectV2.fields.nodes[] | select(.name=="Date Opened" or .name=="Date opened" or .name=="date opened" or .name=="date_opened" or .name=="Date") | .id')
58+
DATE_FIELD_ID=$(echo "$PROJECT_DATA" | jq -r '.organization.projectV2.fields.nodes[] | select(.name=="Date opened") | .id')
5959
echo "Found Date Field ID: $DATE_FIELD_ID"
6060
61+
# Check if date field was found
62+
if [ -n "$DATE_FIELD_ID" ]; then
63+
echo "HAS_DATE_FIELD=true" >> $GITHUB_OUTPUT
64+
else
65+
echo "HAS_DATE_FIELD=false" >> $GITHUB_OUTPUT
66+
echo "Warning: 'Date opened' field not found in project. Date will not be updated."
67+
fi
68+
69+
echo "PROJECT_ID=$(echo $PROJECT_DATA | jq -r '.organization.projectV2.id')" >> $GITHUB_OUTPUT
6170
echo "DATE_FIELD_ID=$DATE_FIELD_ID" >> $GITHUB_OUTPUT
6271
echo "PRIORITY_FIELD_ID=$(echo $PROJECT_DATA | jq -r '.organization.projectV2.fields.nodes[] | select(.name=="Priority") | .id')" >> $GITHUB_OUTPUT
6372
echo "PRIORITY_OPTION_ID=$(echo $PROJECT_DATA | jq -r '.organization.projectV2.fields.nodes[] | select(.name=="Priority") | .options[] | select(.name=="Medium") | .id')" >> $GITHUB_OUTPUT
@@ -92,6 +101,73 @@ jobs:
92101
93102
- name: Update Project Fields
94103
uses: octokit/[email protected]
104+
if: steps.extract_fields.outputs.HAS_DATE_FIELD == 'true'
105+
with:
106+
query: |
107+
mutation (
108+
$project: ID!
109+
$item: ID!
110+
$dateField: ID!
111+
$priorityField: ID!
112+
$sizeField: ID!
113+
$priorityOption: String!
114+
$sizeOption: String!
115+
$date: Date!
116+
) {
117+
dateUpdate: updateProjectV2ItemFieldValue(input: {
118+
projectId: $project
119+
itemId: $item
120+
fieldId: $dateField
121+
value: {
122+
date: $date
123+
}
124+
}) {
125+
projectV2Item {
126+
id
127+
}
128+
}
129+
priorityUpdate: updateProjectV2ItemFieldValue(input: {
130+
projectId: $project
131+
itemId: $item
132+
fieldId: $priorityField
133+
value: {
134+
singleSelectOptionId: $priorityOption
135+
}
136+
}) {
137+
projectV2Item {
138+
id
139+
}
140+
}
141+
sizeUpdate: updateProjectV2ItemFieldValue(input: {
142+
projectId: $project
143+
itemId: $item
144+
fieldId: $sizeField
145+
value: {
146+
singleSelectOptionId: $sizeOption
147+
}
148+
}) {
149+
projectV2Item {
150+
id
151+
}
152+
}
153+
}
154+
variables: |
155+
{
156+
"project": "${{ steps.extract_fields.outputs.PROJECT_ID }}",
157+
"item": "${{ steps.get_item_id.outputs.ITEM_ID }}",
158+
"dateField": "${{ steps.extract_fields.outputs.DATE_FIELD_ID }}",
159+
"priorityField": "${{ steps.extract_fields.outputs.PRIORITY_FIELD_ID }}",
160+
"sizeField": "${{ steps.extract_fields.outputs.SIZE_FIELD_ID }}",
161+
"priorityOption": "${{ steps.extract_fields.outputs.PRIORITY_OPTION_ID }}",
162+
"sizeOption": "${{ steps.extract_fields.outputs.SIZE_OPTION_ID }}",
163+
"date": "${{ github.event.pull_request.created_at }}"
164+
}
165+
env:
166+
GITHUB_TOKEN: ${{ secrets.GH_PROJECTS_SECRET }}
167+
168+
- name: Update Project Fields (Without Date)
169+
uses: octokit/[email protected]
170+
if: steps.extract_fields.outputs.HAS_DATE_FIELD != 'true'
95171
with:
96172
query: |
97173
mutation (

0 commit comments

Comments
 (0)