Add automation or script to update Remaining days to 0 whenever an issue is closed #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| env: | |
| GH_TOKEN: ${{ secrets.UPDATE_PROJECT_V2_PAT }} | |
| run: | | |
| echo "Listing all project items in Microsoft Project 183 for debugging..." | |
| gh project item-list 183 --owner microsoft --format json | jq . | |
| - name: Set Remaining Days to 0 in Microsoft Project 183 | |
| env: | |
| GH_TOKEN: ${{ secrets.UPDATE_PROJECT_V2_PAT }} | |
| run: | | |
| # Find the project item ID for the issue that triggered the workflow | |
| ITEM_ID=$(gh project item-list 183 --owner microsoft --format json \ | |
| | jq -r ".[] | select(.content.url==\"${{ github.event.issue.html_url }}\") | .id") | |
| if [ -z "$ITEM_ID" ]; then | |
| echo "❌ No project item found for issue: ${{ github.event.issue.html_url }}" | |
| exit 1 | |
| fi | |
| echo "✅ Found Project Item ID: $ITEM_ID" | |
| # Find the field ID for "Remaining Days" | |
| FIELD_ID=$(gh project field-list 183 --owner microsoft --format json \ | |
| | jq -r '.[] | select(.name=="Remaining Days") | .id') | |
| if [ -z "$FIELD_ID" ]; then | |
| echo "❌ No field named 'Remaining Days' found in Project 183." | |
| exit 1 | |
| fi | |
| echo "✅ Found Field ID for Remaining Days: $FIELD_ID" | |
| # Update the field value to 0 | |
| gh project item-update 183 --owner microsoft --id "$ITEM_ID" --field-id "$FIELD_ID" --value "0" | |
| echo "🎉 Successfully set Remaining Days = 0 for issue ${{ github.event.issue.number }}" |