Commit graph

444 commits

Author SHA1 Message Date
chemotaxis
fc1b929a81 Remove opts.PadlockState
I noticed that PadlockState didn't really have anything to do with the
LockOptions and it was easy to call an incorrect locking function that
didn't match the PadlockState.

Now, you pass in the state as an argument and you simply call the
appropriate function instead of setting PadlockState and then calling
the correct function.

- Other touch ups and refactoring
2022-04-29 00:23:36 -04:00
chemotaxis
8918cf6815 Skip unlock api call if already unlocked 2022-04-29 00:23:36 -04:00
chemotaxis
7504f5ec00 Remove opts.PadlockState
Rather than saving the intended lock state and calling a method
depending on the lock state, just call the method directly.  By the time
you need to the padlock state, you already know which method to use; no
need to first change the lock state than call the method.

Also, refactored print/error messages that are conditional.
2022-04-29 00:19:28 -04:00
chemotaxis
32f8283c77 Refactor things
- Switch to underscores
- Revise error message
2022-04-29 00:17:53 -04:00
chemotaxis
e019ff9f02 Modify documentation if called from issue or pr 2022-04-28 23:56:13 -04:00
chemotaxis
364dd38bc0 Get graphql queries and mutations working
- Fix error if found an issue while using `gh pr lock/unlock` or vice versa
- Added additional types
- Used githubv4 types
- Added "relock" state
    - If the conversation is already locked you have two choices: try to
      lock it again or do nothing.  Do nothing is easy.  But, if you
      want to change the lock reason, you need to first unlock the
      conversation and then lock it again.
- Added survey to confirm if you want to relock
- Added formatted print statements
2022-04-28 23:54:22 -04:00
Håvard Anda Estensen
58cb773e09
Replace ioutil with io and os (#5498) 2022-04-26 13:07:44 +02:00
Sam Coe
db85b1d3cb
Properly handle issue and pr state options when building search queries (#5513) 2022-04-25 20:18:58 +02:00
Roshan Padaki
13342cb272
Don't error on list commands when no results found (#5479)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2022-04-25 17:55:52 +00:00
Mislav Marohnić
adf274851e
Merge pull request #5396 from opelr/5346/issue-delete-confirm
Add 'confirm' flag for issue delete subcommand
2022-04-11 19:17:44 +02:00
Sam Coe
6fa8e4299c
Add ability to comment on close/reopen of issues/pull requests (#5437) 2022-04-11 17:06:35 +02:00
Christopher Nethercott
933a91e18e
Add "new" alias to "create" commands (#5388)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2022-04-11 16:48:34 +02:00
Sam Coe
8a0c1f903c
Change issue close color from red to purple (#5436) 2022-04-11 11:50:55 +02:00
chemotaxis
fa470fc499 Rearrange 2022-04-11 00:38:13 -04:00
chemotaxis
ffcda8fdd4 Map parent commands to typenames 2022-04-11 00:38:13 -04:00
chemotaxis
4b226b1bf8 Other changes
- Changed function to method
- Moved additional common options to method
- Remove redundant documentation
    - Cobra sets documentation in the Command struct.
2022-04-11 00:37:14 -04:00
chemotaxis
631bea2e6d Draft first design
As originally designed in the issue discussion, a single function
`NewCmdLock()` with a parameter to lock or unlock was proposed.
However, after playing around with a couple different designs, it seems
best to create two separate public functions and one private function to
do the common work.

Using two public functions seems to make sense because the api for
locking is different from the api for unlocking.  Therefore, the
documentation for both are different and keeping them in separate
functions would make it easier to maintain the documentation.
2022-04-11 00:36:42 -04:00
Sam Coe
31da9b1360
Replace old search utility with new search (#5366) 2022-04-06 16:44:52 +02:00
Ryan Opel
a97dae6269 Add 'confirm' flag for issue delete subcommand 2022-04-02 18:37:30 -07:00
Sam Coe
6fbe6d9c20
Add ability to filter issue and pr searches by app (#5370) 2022-03-29 21:58:29 +02:00
chemotaxis
e25c36a7b1 Stub out files for lock command
Lock will lock and unlock both issues and pull requests
2022-03-19 16:58:51 -04:00
Mislav Marohnić
112ca8bf91 Merge remote-tracking branch 'origin' into docs-improvements 2022-02-21 15:24:18 +01:00
Mislav Marohnić
286ba5e8dc issue/pr list: clarify search syntax 2022-02-18 18:39:30 +01:00
Mislav Marohnić
57f49d9f8a issue/pr comment: improve docs as it relates to editor 2022-02-18 18:38:44 +01:00
Mislav Marohnić
19563c4a74 Use StringEnumFlag helper in more places 2022-02-18 12:52:47 +01:00
Christian Gregg
c5dbf20ed4
Alias list as ls for all commands (#5214)
I always get tripped up whenever trying to list my codespaces, adding
`ls` as an alias to `list` feels natural enough.

Co-authored-by: Mislav Marohnić <mislav@github.com>
2022-02-17 13:53:42 +01:00
Mislav Marohnić
4a3ef50d2d
Standardize pager output across commands (#5141)
Add pager functionality to the following commands:
- gist list
- pr checks
- release list
- run list
- run view
- secret list
- workflow list
- workflow view

Additionally, normalize error handling when starting the pager has
failed: only print a non-fatal notice to stderr instead of aborting the
whole command.
2022-02-01 08:36:51 +01:00
Kevin Lee
0d143ca89c
Consistent punctuation in command usages (#5139)
* Fix spelling and grammatical errors in command docs
* Add periods for consistency across the long command descriptions
* Format imports
2022-01-31 10:56:12 +00:00
Mislav Marohnić
4340c65ad9
Merge pull request #5040 from cli/issues-by-milestone-fix
Fix filtering issues by milestone
2022-01-21 14:47:40 +01:00
Mislav Marohnić
e43cb2b880 Port more legacy stubs to the new ask stubber 2022-01-14 19:34:15 +01:00
Mislav Marohnić
d23460a590 Fix filtering issues by milestone
The milestone filter in the `Repository.issues` GraphQL connection is
broken, so switch to the Search API for any milestone filtering.

Previously, we used to work around this by obtaining the milestone
database ID from decoding the GraphQL ID, but that no longer works since
the GraphQL ID format has changed.
2022-01-14 15:06:33 +01:00
Mislav Marohnić
456d55ead9 Have a single Render function handle all Markdown rendering 2022-01-13 19:39:43 +01:00
Mislav Marohnić
db50b54513 Simplify GraphQL mutations whose response we are not interested in 2021-12-08 13:35:19 +01:00
Des Preston
886f5e0e78 Avoid race condition when updating labels
Update labels using the `addLabelsToLabelable` and
`removeLabelsFromLabelable` mutations instead of via the `updateIssue`
mutation that replaces the entire set of labels. This prevents the edit
operation from clobbering any unseen changes to the list of labels.

Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-08 13:29:47 +01:00
Mislav Marohnić
34fc5fb75c Improve issue view re: overfetching, PR support
- Supports passing a PR as argument, not just issues
- Makes it non-fatal when project cards were not able to load
- Cleans up legacy method for fetching issues
2021-11-24 18:49:36 +01:00
Mislav Marohnić
3cf3d6d2d4 Avoid overfetching in non-interactive issue edit 2021-11-23 21:10:37 +01:00
Mislav Marohnić
c8d5a6be02 Accept pull requests in issue edit argument 2021-11-23 20:39:19 +01:00
Mislav Marohnić
b75e705840 Remove overfetching from issue transfer 2021-11-23 19:39:40 +01:00
Mislav Marohnić
5be6b67ce7 Remove overfetching from issue delete 2021-11-23 19:39:40 +01:00
Mislav Marohnić
f99a149eb2 Improve issue reopen re: overfetching, handling PRs
- `issue reopen` no longer fetches all issue fields and thus avoids the
  problem when loading failed due to token not having access to projects

- `issue reopen` now accepts either issue or pull number as argument.
2021-11-23 19:39:40 +01:00
Mislav Marohnić
07cad386a5 Improve issue close re: overfetching, handling PRs
- `issue close` no longer fetches all issue fields and thus avoids the
  problem when loading failed due to token not having access to projects

- `issue close` now accepts either issue or pull number as argument.
2021-11-23 19:38:55 +01:00
Mislav Marohnić
1eb790cacd Improve issue comment re: overfetching, handling PRs
- `issue comment` no longer fetches all issue fields and thus avoids the
  problem when loading failed due to token not having access to projects

- `issue comment` now accepts either issue or pull number as argument.
2021-11-23 16:40:14 +01:00
Sam Coe
260716a9f8
Repace shurcool/graphql with cli/shurcool-graphql 2021-11-17 12:57:43 -08:00
Alan Donovan
f4491c7a80 Add FlagErrorf; encapsulate FlagError.error 2021-10-21 11:40:20 -04:00
Reto Hablützel
f6e9734f17 add more hints to docs 2021-09-25 08:38:26 +02:00
Mislav Marohnić
619333adb6 Avoid using error values to pass information about the search cap 2021-09-06 16:09:18 +02:00
Des Preston
e8b015b80d show warning when limit exceeds search api max
Fixes #3839
2021-09-06 16:05:11 +02:00
Mislav Marohnić
e0fa56dc29 Merge remote-tracking branch 'origin' into go-module-v2 2021-09-02 20:02:16 +02:00
Luke
1102de89be add quotes around @me in documentation to ensure examples work on powershell 2021-08-30 09:13:43 -05:00
Mislav Marohnić
11fbb60ae7 Rename the module to "github.com/cli/cli/v2" 2021-08-25 12:41:30 +02:00