Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 29, 2026

Workflows importing safe-output configurations from shared files (e.g., shared/campaign.md) were silently dropping 11 safe-output types due to missing merge logic.

Problem

# shared/campaign.md
safe-outputs:
  create-project-status-update:
    max: 1

When imported, the configuration was parsed but never merged, leaving the tool unavailable at runtime.

Changes

Added merge logic for 11 types in mergeSafeOutputConfig:

  • CreateProjectStatusUpdates (primary issue)
  • CreateProjects, CopyProjects, UpdateDiscussions
  • LinkSubIssue, HideComment, DispatchWorkflow
  • AssignToUser, AutofixCodeScanningAlert, MarkPullRequestAsReadyForReview
  • MissingData

Reordered merge blocks to match SafeOutputsConfig struct field order for maintainability.

Added tests verifying import behavior for all affected types.

Result

Compiled workflows now include all safe-output types from imports:

- {"create_issue":{"max":1},"update_project":{"max":100}}
+ {"create_issue":{"max":1},"create_project_status_update":{"max":1},"update_project":{"max":100}}
Original prompt

Investigate why tool to create project status update is missing: https://github.com/githubnext/gh-aw/actions/runs/21486733288/job/61898442164
Recorded missing tool: create_project_status_update
Reason: Need to create a project status update for GitHub Projects v2 with status (ON_TRACK), start_date, and markdown body. Current safeoutputs-update_project only supports adding items and updating fields.
Alternatives: Manually create the status update via GitHub UI, or use gh CLI if a status update API is available: gh api graphql -f query='...'
✓ Message 12 (missing_tool) completed successfully


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits January 29, 2026 18:36
Add merge logic for CreateProjectStatusUpdates and other missing safe-output types in mergeSafeOutputConfig function. This fixes the issue where create-project-status-update was not being merged from imported configurations like shared/campaign.md.

Missing types added:
- CreateProjectStatusUpdates (fixes the reported bug)
- CreateProjects
- CopyProjects
- UpdateDiscussions
- LinkSubIssue
- HideComment
- DispatchWorkflow
- AssignToUser
- AutofixCodeScanningAlert
- MarkPullRequestAsReadyForReview
- MissingData

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Add tests to verify that all project-related safe-output types (create-project-status-update, create-project, copy-project, update-project) and other previously missing types can be properly imported from shared workflows.

Tests added:
- TestProjectSafeOutputsImport: Verifies project-related types merge correctly
- TestAllMissingSafeOutputTypesImport: Verifies all previously missing types merge correctly

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Reorganize the merge logic in mergeSafeOutputConfig to match the field order in SafeOutputsConfig struct. This improves code maintainability and makes it easier to verify completeness.

Changes:
- UpdateDiscussions: moved after CreateDiscussions
- MarkPullRequestAsReadyForReview: moved after ClosePullRequests
- AutofixCodeScanningAlert: moved after CreateCodeScanningAlerts
- AssignToUser: moved after AssignToAgent
- MissingData: moved after MissingTool (was before)

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title [WIP] Investigate missing tool for project status update creation Fix: Import merge for project and 10 other safe-output types Jan 29, 2026
Copilot AI requested a review from mnkiefer January 29, 2026 18:46
@mnkiefer mnkiefer marked this pull request as ready for review January 29, 2026 18:50
@mnkiefer mnkiefer merged commit 98493c9 into main Jan 29, 2026
152 checks passed
@mnkiefer mnkiefer deleted the copilot/investigate-missing-status-update-tool branch January 29, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants