Skip to content

Add automation or script to update Remaining days to 0 whenever an issue is closed #20

Add automation or script to update Remaining days to 0 whenever an issue is closed

Add automation or script to update Remaining days to 0 whenever an issue is closed #20

name: Auto-Set Remaining Days to 0 on Issue Closed
on:
issues:
types: [closed]
jobs:
update_remaining_days:
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 }}"