Pass project URL from frontmatter to safe output handlers as default #12690
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Safe outputs
update-projectandcreate-project-status-updatenow use theproject.urlfrom frontmatter as a default when messages don't specify an explicit project field.Changes
Compiler (
pkg/workflow/compiler_safe_outputs_steps.go): AddedGH_AW_PROJECT_URLenvironment variable to project handler manager step whenproject.urlis configured in frontmatterJavaScript handlers: Modified
update_project.cjsandcreate_project_status_update.cjsto checkprocess.env.GH_AW_PROJECT_URLwhen message doesn't specify project fieldPrecedence: Explicit
projectfield in safe output message always overrides frontmatter defaultExample
Frontmatter:
Safe output message (project URL omitted):
{ "type": "update_project", "content_type": "draft_issue", "draft_title": "New item", "fields": {"status": "Todo"} }The handler automatically uses
https://github.com/orgs/myorg/projects/123from frontmatter. If the message includes"project": "https://github.com/orgs/other/projects/456", that explicit value takes precedence.Backward compatible—workflows without frontmatter project configuration or with explicit message-level project fields behave identically.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.