Commit graph

177 commits

Author SHA1 Message Date
Mislav Marohnić
a4d1ce7709 Fix fetching information about the PR potentially being behind base branch 2021-06-10 15:51:27 +02:00
Mislav Marohnić
885e94786a Shorten GraphQL query for pr status --json 2021-06-10 15:37:58 +02:00
Mislav Marohnić
f5cd33b4bf Fix showing Checks in pr status
This was a regression in how `statusCheckRollup` is queried and stored.
As a result, `gh pr status` did not include rendered information about
checks related to each pull request. This switches the query builder to
`PullRequestGraphQL()` to eliminate the outdated query.
2021-06-08 20:22:33 +02:00
Mislav Marohnić
1a980e768c Fix how teams are displayed in requested reviewers
1. The `--json` export now only renders the `login` field for User types
   and `name` and `slug` fields for Team types.
2. The `pr view` command now renders team reviewers in the format of
   `ORG/SLUG` instead of the team name. This is so that the same value
    can be used in the `pr create -r` flag.
2021-05-28 14:32:31 +02:00
Sam Coe
761fa94831
Small nitpicky polish 2021-05-27 08:47:41 -04:00
mercimat
a612f06dee fix pr review requests for teams 2021-05-24 17:00:25 +02:00
Mislav Marohnić
42155c7d2d Export more IDs in issue/pr JSON payload 2021-05-18 18:19:28 +02:00
Mislav Marohnić
e758f30073 Fix preloading of pr reviews, checks, and issue/pr comments 2021-05-18 17:13:27 +02:00
Mislav Marohnić
51f7cbdfde 💅 cleanup and tests for PR finder 2021-05-18 09:59:05 +02:00
Mislav Marohnić
c50d390cf5 Fix tests 2021-05-07 22:09:58 +02:00
Mislav Marohnić
9bdc63c4ca Eliminate API overfetching in pr commands
This completely rewrites the PR lookup mechanism so that the caller
must specify the GraphQL fields to query for each PR. Additionally, this
fixes some export problems with `pr view --json`.

Features:

- Each pr command now gets assigned a concept of a Finder. This makes it
  easier to stub the PR in tests without having to stub the underlying
  HTTP calls or git invocations.

- `pr view --web` is much faster since it only fetches the "url" field.

- `pr diff 123` now skips a whole API call where a whole PR was
  unnecessarily preloaded just to access its diff in a subsequent call.

- PullRequestGraphQL query builder is now used to construct queries.

- A bunch of individual commands are now freed of having to know about
  concepts such as BaseRepo, Branch, Config, or Remotes.
2021-04-30 20:34:36 +02:00
Mislav Marohnić
47b7987772
Merge pull request #3402 from cristiand391/remove-unused-embedded-struct
Remove unused embedded struct
2021-04-20 18:48:19 +02:00
Nate Smith
d09896468d
Merge pull request #3351 from cristiand391/fix-pr-reopen
Fix detecting PR status when passing branch as arg
2021-04-20 11:41:16 -05:00
Mislav Marohnić
e63904bacd Expose more fields for PR JSON export 2021-04-14 17:28:27 +02:00
Mislav Marohnić
3f22e3b353 Add pr status --json support 2021-04-13 21:12:30 +02:00
Mislav Marohnić
e158fac1a9 Restructure PullRequestStatus function 2021-04-13 20:54:09 +02:00
Mislav Marohnić
abe452bb19 Add --json export flag for issues and pull requests
The `--json` flag accepts a list of GraphQL fields to query for and
output in JSON format. To get the list of available flags, run the
command with a blank value for `--json`. Additional `--jq` and
`--template` flags are available just like in `gh api`.
2021-04-13 20:29:31 +02:00
Cristian Dominguez
b656b56061 Remove unused embedded struct 2021-04-12 12:40:00 -03:00
Cristian Dominguez
9c471fe7a5 Improve PR status detection 2021-04-08 00:23:22 -03:00
Cristian Dominguez
60d22b7d6d Fix detecting PR status when passing branch as arg 2021-04-02 21:26:21 -03:00
Mislav Marohnić
05c7c2bd1a Treat unrecognized PR Checks statuses as "pending"
Previously, unrecognized Checks statuses would crash the program. For
the sake of supporting the "WAITING" status and for
forward-compatibility, this treats any unrecognized status as "pending".
2021-03-31 18:21:45 +02:00
Mislav Marohnić
75cfed4bef Import PR list API implementation to pr/list package
Also splits List vs. Search queries into separate methods for better
maintanability.
2021-03-24 16:46:42 +01:00
Mislav Marohnić
179d3f0249 Add a unified GitHub Search query builder 2021-03-23 18:52:58 +01:00
Gowtham Munukutla
bdd663e658 Add additions and deletions in pr view raw as well 2021-03-05 13:41:25 +05:30
Gowtham Munukutla
9944698665 Add additions and deletions in pr view 2021-03-05 11:20:49 +05:30
Mislav Marohnić
dcff6c4f2d Fix pr status for GHE 2.22 and older
This queries for the availability of the `branchProtectionRule` field on
"Ref" before trying to request it from GraphQL.
2021-02-18 17:46:13 +01:00
Mislav Marohnić
70d4786e37
Merge pull request #2988 from cli/strict-status-checks-base
pr status: fix checking branch protection rules on the base branch
2021-02-17 18:13:15 +01:00
Mislav Marohnić
05421db404 pr status: fix checking branch protection rules on the base branch
Instead of checking branch protection rules on the main branch of the
repository, branch protection rules for a specific PR should be checked
on its base branch, since not all PRs are based on the main branch.

Additionally, do not display "Up to date" if the actual merge status
reported from the server was "UNKNOWN" or "DIRTY", since in those cases
"Up to date" could be false information.
2021-02-17 18:04:49 +01:00
Mislav Marohnić
3b117e6c3c
Merge pull request #2539 from divyaramanathan/issue-create-template
Implementing issue template GraphQL API call
2021-02-17 17:59:42 +01:00
Mislav Marohnić
ebc5d01942 Merge remote-tracking branch 'origin' into auto-merge 2021-02-17 15:25:25 +01:00
Mislav Marohnić
12cf8ef65b Separately query viewerMergeBodyText for GHE compatibility
GHE versions 2.22 and older will not have this GraphQL field. Avoid the
resulting error and have the command proceeed with empty text as the
default.
2021-02-17 14:06:27 +01:00
Nate Smith
c2c211dbed
Merge pull request #2952 from redreceipt/up-to-date
Adds Branch Up to Date Status
2021-02-16 12:50:28 -06:00
Mislav Marohnić
67bfedd56b Add pr merge --auto 2021-02-16 16:01:22 +01:00
Cristian Dominguez
f75bd7280f Pre-populate default merge commit message if no body was provided 2021-02-16 16:01:22 +01:00
Sam Coe
4ea8d25b85 Fix tests and polish 2021-02-16 15:59:44 +01:00
Cristian Dominguez
d57cb56945 Allow editing commit msg when squash merging a PR 2021-02-16 15:59:06 +01:00
Sam Coe
4fdf28d8a4
Change behavior of slice flags for issue edit and pr edit commands 2021-02-12 14:42:21 -08:00
Sam Coe
a47ee660a7
Pr edit command 2021-02-12 10:08:44 -08:00
Michael Neeley
9be9229a48 adds strict status checks 2021-02-12 08:51:47 -05:00
Michael Neeley
8511365afb linter 2021-02-11 16:46:16 -05:00
Michael Neeley
0d55f8648c adds merge state status 2021-02-11 16:27:23 -05:00
Mislav Marohnić
3ddd93793c Port issue create to using templates API 2021-02-10 17:32:00 +01:00
Sam Coe
b366802aa1
Edit issue command 2021-02-04 10:54:34 -08:00
Nate Smith
4d28c79192
Merge pull request #2810 from ptxmac/ptx/pr-merge-body
Add body argument to `pr merge` command.
2021-01-21 15:25:42 -08:00
Sam Coe
a26fba7800
Comment on pull requests 2021-01-21 09:47:38 -08:00
Björn Heinrichs
c9f79271b1
Add --maintainer-edit flag (#2250)
* Add --maintainer-edit flag

Closes #2213 while retaining backwards compatibility.

* Fix linting

* Adjust documentation and validation

* Negate logic and fix build errors

* rename to no-maintainer-edit

* test

* use a positive option instead of negative

Co-authored-by: vilmibm <vilmibm@github.com>
2021-01-20 14:51:27 -08:00
Sam Coe
b9b1079493
Display reviews when viewing pull requests 2021-01-20 12:15:25 -08:00
Peter Kristensen
bc7f733267 Add body argument to pr merge command. 2021-01-20 13:24:27 +01:00
Sam Coe
9f101ff0a2
Add comments to pr view 2020-12-08 14:18:05 -05:00
Mislav Marohnić
21e2544d73 Sort latest PRs first when looking up PRs for a branch
Fixes #2452
2020-11-25 12:06:35 +01:00