Add assign-milestone safe output for assigning issues to milestones#4281
Add assign-milestone safe output for assigning issues to milestones#4281
assign-milestone safe output for assigning issues to milestones#4281Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
add-milestone safe output for assigning issues to milestones
|
@copilot rename add-milestone to assign-milestone |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot continue work |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Completed the rename from add-milestone to assign-milestone in commit aadea75. All files, code references, schemas, tests, and workflows have been updated. The implementation is fully functional with all 1009 tests passing and 80 workflows compiled successfully. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
add-milestone safe output for assigning issues to milestonesassign-milestone safe output for assigning issues to milestones
| @@ -0,0 +1,24 @@ | |||
| --- | |||
| @@ -0,0 +1,24 @@ | |||
| --- | |||
…copilot tests, update dev.md Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Updated dev.md to assign a random issue to the "ultimate" milestone on workflow_dispatch in commit 675f964. The workflow now:
Configuration added: safe-outputs:
assign-milestone:
allowed: ["ultimate"]
target: "*"
max: 1 |
|
@copilot make sure assign-milestone tool is added to tools.json and properly configured. The run https://github.com/githubnext/gh-aw/actions/runs/19474205828/job/55729585359#step:29:1 failed because the tool was missing. |
✅ Dev Hawk Report - SuccessWorkflow Run: #2994
The Dev workflow completed successfully! 🎉 All checks passed for the milestone assignment safe output implementation.
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot continue work |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
The assign_milestone tool has been added to safe_outputs_tools.json and workflows have been recompiled in commit 790d752. The tool is now properly configured and available in the safe outputs MCP server. All tests pass (1009/1009) and both dev.md and test-claude-assign-milestone.md workflows compile successfully. |
|
@copilot update dev.md to assign a random issue to v0.Later on workflow dispatch |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot merge main |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Merged main branch in commit eb9cb4f. Successfully resolved conflicts in:
All tests passing (1026/1026 JavaScript tests, all Go tests). Dev workflow and test workflows compile successfully. |
|
|
@copilot make sure the bundler is applied to the no-op javascript safe output. See error in https://github.com/githubnext/gh-aw/actions/runs/19490895665/job/55782824497#step:4:1 |
…iguration Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed in commit bb750df. The noop script now has proper bundler configuration in scripts.go, which inlines the load_agent_output.cjs require statement. All tests pass (1040 JavaScript tests, all Go tests) and 81 workflows compile successfully. |
✅ Dev Hawk Report - SuccessWorkflow Run: #3001
SummaryThe Dev workflow completed successfully! 🎉 This run validated the fix for the noop script bundling issue. The commit message indicates:
All tests and compilation steps passed, confirming that the bundler configuration is now working correctly. Monitored by Dev Hawk 🦅 - Automated workflow analysis for copilot/ branches*
|
Implementation Complete: Assign-Milestone Safe Output
This PR adds a new "assign-milestone" safe output type that allows AI agents to assign issues to milestones with allowlist-based security.
Recent Changes
noop.cjsfromjs.go(unbundled scripts) toscripts.go(bundled scripts)getNoOpScript()functiongetNoOpScript()function fromnoop.goassign_milestoneto expected tools list in testsConfiguration
The
allowedfield is mandatory and accepts either a string or array of milestone names/IDs:JSONL Output Format
AI agents can now use the
assign_milestonetool in their MCP server:{"type": "assign_milestone", "milestone": "v1.0"} {"type": "assign_milestone", "milestone": "v1.1", "item_number": 42} {"type": "assign_milestone", "milestone": 5}Dev Workflow Example
The dev.md workflow demonstrates the functionality:
Configuration:
Technical Details - Noop Script Fix
The issue was that
noop.cjshas arequire("./load_agent_output.cjs")statement, which means it needs to be bundled. However, it was embedded injs.go(for scripts that don't need bundling) instead ofscripts.go(for scripts that need bundling).Changes made:
//go:embed js/noop.cjsfromjs.go//go:embed js/noop.cjstoscripts.gowithnoopScriptSourcevariablenoopScriptandnoopScriptOncegetNoOpScript()function with proper bundler logicnoop.goassign_milestonein expected toolsThis ensures that when
noop.cjsis loaded, all itsrequire()statements are properly inlined by the bundler, preventing the "module not found" error in GitHub Actions.Key Features
allowedfield with milestone names/IDsTest Results
The feature is complete, tested, and ready for merge! 🎉
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.