-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathupdate-issue-remaining-days.yml
More file actions
63 lines (51 loc) · 2.29 KB
/
update-issue-remaining-days.yml
File metadata and controls
63 lines (51 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# TO-DO
# This is not working currently as expected, we need to query graphQL APIs directly to get more data as CLI has it's limitations.
# Future work: use gh api graphql -f query='...'
name: Auto-Set Remaining Days to 0 on Issue Closed
on:
workflow_dispatch:
# issues:
# types: [closed]
jobs:
update_remaining_days:
if: false # Ensures job won't run even if manually triggered
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install jq
run: sudo apt-get update && sudo apt-get install -y jq
- name: Debug - List project items linked to this issue
env:
GH_TOKEN: ${{ secrets.UPDATE_PROJECT_V2_PAT }}
run: |
echo "🔍 Listing all project items linked to issue #${{ github.event.issue.number }}..."
gh issue view ${{ github.event.issue.number }} \
--repo ${{ github.repository }} \
--json projectItems \
| jq .
- name: Update Remaining Days if issue is in "React Native Planning"
env:
GH_TOKEN: ${{ secrets.UPDATE_PROJECT_V2_PAT }}
run: |
# Extract ITEM_ID where project title == "React Native Planning"
ITEM_ID=$(gh issue view ${{ github.event.issue.number }} \
--repo ${{ github.repository }} \
--json projectItems \
| jq -r '.projectItems[] | select(.title=="React Native Planning") | .id')
if [ -z "$ITEM_ID" ]; then
echo "ℹ️ Issue is not in project 'React Native Planning'. Nothing to update."
exit 0
fi
echo "✅ Found Project Item ID in 'React Native Planning': $ITEM_ID"
# Find the field ID for "Remaining Days" in that project
FIELD_ID=$(gh project field-list --owner microsoft --format json \
| jq -r '.[] | select(.name=="Remaining Days") | .id')
if [ -z "$FIELD_ID" ]; then
echo "❌ No field named 'Remaining Days' found."
exit 1
fi
echo "✅ Found Field ID for Remaining Days: $FIELD_ID"
# Update the field value to 0
gh project item-update --id "$ITEM_ID" --field-id "$FIELD_ID" --value "0"
echo "🎉 Successfully set Remaining Days = 0 for issue #${{ github.event.issue.number }}"