This commit is primarily focused on fixing the existing `gh issue create` tests with the changes to the underlying queries retrieving the data for resolving metadata.
Additionally, a new test case for `gh issue create --web --assignee @copilot` was added to mirror existing tests. While exercising this capability, I found out the web UI apparently wants `copilot` instead of the `copilot-swe-agent` login, so changes to address that were a part of this commit.
This commit refactors how `gh issue create` and `gh pr create` retrieve information needed to resolve metadata to be more in line with the approach used in `gh issue edit` and `gh pr edit`.
Previously, both commands used `prshared.fillMetadata(...)` function to retrieve assignees, reviewers, labels, and teams outside of `api.RepoMetadata(..)`. Now, these commands will consistently use the same logic and data for resolving metadata.
- updated command documentation for new `--assignee @copilot` syntax
- updated `gh issue create` logic with feature detection for actor availability
- fixed bug where `--assignee` would not select default assignees due to login vs display name mismatch
- updated survey prompt logic to avoid parsing prompt options in favor of correlating with assignee / actor source
One thing that is not included in these changes is incorporating the GraphQL mutation to replace assignees with actors, which I will continue iterating on.
* fix: prioritize title and body over autofill for prs
* fix: prioritize title and body over autofill tests
* refactor: collapse state conditions
---------
Co-authored-by: Babak K. Shandiz <babakks@github.com>
* Add accurate context when run rerun fails
* Update tests to verify behaviour for API errors
Signed-off-by: Babak K. Shandiz <babakks@github.com>
* Use the new `httpmock.JSONErrorResponse` helper
Signed-off-by: Babak K. Shandiz <babakks@github.com>
---------
Signed-off-by: Babak K. Shandiz <babakks@github.com>
Co-authored-by: Babak K. Shandiz <babakks@github.com>
This commit is a handful of changes around `gh pr edit --add-assignee` behavior. Most notably, fixing a bug where the assigned actors weren't being dropped.
In addition to this, I was refactoring the testing setup to allow for individual test table scenarios could be contained.
* Document support for `@copilot` in `gh [pr|issue] edit --add-assignee` and `--remove-assignee`
Following up on #10991, this updates the help text for
`issue edit` and `pr edit`'s `--add-assignee` and
`--remove-assignee` options to mention that you can use
`@copilot`.
This is already mentioned in the command-level help text, but
not at the argument level, whereas the `@me` macro is.
* Apply suggestion from @babakks
Co-authored-by: Babak K. Shandiz <babakks@github.com>
* Apply suggestion from @babakks
Co-authored-by: Babak K. Shandiz <babakks@github.com>
---------
Co-authored-by: Babak K. Shandiz <babakks@github.com>
* fix: `gh gist edit` panic when no file in a gist
* fix: improve error message
Signed-off-by: Babak K. Shandiz <babakks@github.com>
---------
Signed-off-by: Babak K. Shandiz <babakks@github.com>
Co-authored-by: Babak K. Shandiz <babakks@github.com>