-
Notifications
You must be signed in to change notification settings - Fork 34
Add support for NUMBER and ITERATION field types in update-project #8863
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: mnkiefer <[email protected]>
Co-authored-by: mnkiefer <[email protected]>
Co-authored-by: mnkiefer <[email protected]>
|
@copilot: Why were start_date and end_date fields never applied in the safe outputs step even though the agent discovered and added them? |
…d support Co-authored-by: mnkiefer <[email protected]>
The GraphQL query was missing the Fixed in commit 5488869 by adding |
|
@copilot: Recompile workflows. |
Workflows recompiled successfully. All 122 workflow files validated and compiled. No changes were needed - the compiled |
Add Support for Missing GitHub Projects V2 Field Types
Problem Statement
After analyzing the campaign run at https://github.com/githubnext/gh-aw/actions/runs/20691544012/job/59400706868, I identified that the
update_project.cjsfile only supported 3 field types (DATE, SINGLE_SELECT, TEXT), while GitHub Projects V2 supports additional field types including NUMBER and ITERATION that were not handled.Solution Implemented
✅ Complete Implementation - All tasks completed successfully.
Changes Made
1. GraphQL Query Enhancement
ProjectV2IterationFieldfragment to fetch iteration configurationsProjectV2DateFieldfragment to properly fetch DATE fields (fix for issue where DATE fields weren't being applied)2. NUMBER Field Type Support
parseFloat(){ number: <value> }3. ITERATION Field Type Support
{ iterationId: <id> }4. DATE Field Type Support (Fixed)
ProjectV2DateFieldfragment to GraphQL queries5. Comprehensive Test Coverage
6. Documentation Updates
Root Cause of DATE Field Issue
The GraphQL query was missing the
ProjectV2DateFieldfragment. WhileProjectV2Fieldis the base type, GitHub's GraphQL API requires explicit fragments for specialized field types:ProjectV2Field- Base type (includes id, name, dataType)ProjectV2DateField- Required for DATE fields to be properly identifiedProjectV2SingleSelectField- Required for dropdown fieldsProjectV2IterationField- Required for iteration fieldsWithout the
ProjectV2DateFieldfragment, DATE fields were not being returned in query results, causing start_date and end_date to be ignored.Validation Results
✅ GraphQL Queries - Now include all required field type fragments
✅ Field Type Handling - Correct mutation formats for NUMBER, ITERATION, and DATE
✅ Backward Compatibility - No breaking changes, existing tests pass
✅ Code Quality - Formatting and linting validated
✅ Error Handling - Clear warnings for invalid input
✅ Test Coverage - 100% pass rate on all 30 tests
Files Changed
actions/setup/js/update_project.cjs(+62 lines, -3 lines)actions/setup/js/update_project.test.cjs(+205 lines)docs/src/content/docs/reference/safe-outputs.md(+25 lines)Supported Field Types
The update_project safe output now supports:
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.