-
Notifications
You must be signed in to change notification settings - Fork 43
Add project URL config option to update-project and create-project-status-update #13003
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
…ject-status-update Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
…date configs Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
|
@copilot Check all other project safe outputs to see if we have missed one. |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Reviewed all four project safe outputs:
All project handlers now follow the same pattern of receiving config through the handler factory's config parameter. |
|
@copilot Ensure that if |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Enforced top-level project URL on all project safe outputs (commit da4c3cc). When
This ensures all project operations stay within the scope of the configured project for security. Added comprehensive tests to verify enforcement. |
|
@copilot In tests, use a project/org that could never exist to make sure we are not changing any projects. |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Updated all test project URLs to use clearly non-existent organizations (commit 03854c5):
This ensures tests cannot accidentally modify real GitHub projects. |
|
@copilot Remove copy-project |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Removed copy-project from top-level project URL enforcement (commit 924be5a). copy-project needs flexibility to copy from any source project, so it's not constrained by the top-level project URL. The enforcement now only applies to update-project and create-project-status-update, which modify existing project boards and should stay within scope. |
|
@copilot Remove copy-project feature entirely |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Reverted all copy-project changes from this PR (commit 61b22bf). The PR now focuses solely on:
copy-project remains unchanged from the main branch. |
|
@copilot merge main and recompile |
…ption-to-commands
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Add project URL config option to update-project and create-project-status-update
Problem Statement:
Project safe outputs
update-projectandcreate-project-status-updateneeded a project option to specify the default URL where work should be done. Additionally, a security enforcement mechanism was needed to ensure these operations stay within the scope of the top-level project configuration.Solution Implemented:
Added a
projectconfiguration option toupdate-projectandcreate-project-status-updatesafe output types, providing more flexible configuration similar to other safe outputs that have options liketarget-repo. Additionally, implemented security enforcement that ensures whenproject:is set at top-level in frontmatter, these project safe outputs inherit and are constrained to this URL.Changes completed:
Projectfield toUpdateProjectConfigstructProjectfield toCreateProjectStatusUpdateConfigstructprojectfield (highest priority)safe-outputs.update-project.projectconfigsafe-outputs.create-project-status-update.projectconfigSecurity Enhancement:
When
project:is set at the top-level in frontmatter, the URL is now enforced on project safe outputs that track or update existing projects:update-project.projectis set to top-level project URL (overrides any explicit config)create-project-status-update.projectis set to top-level project URL (overrides any explicit config)This enforcement prevents agents from working on unintended projects and maintains security boundaries for operations that modify existing project boards.
Test Safety:
All test files now use clearly non-existent organization names (e.g.,
nonexistent-test-org-12345,nonexistent-test-org-67890) to ensure tests cannot accidentally modify real GitHub projects.Project Safe Outputs Covered:
update-project- Addedprojectfield; enforced from top-level projectcreate-project-status-update- Addedprojectfield; enforced from top-level projectConfiguration Examples:
Alternative: Safe-output level configuration (when no top-level project)
Benefits:
projectfield in messages and rely on configured defaultsOriginal 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.