Skip to content

Commit dc2e667

Browse files
author
Sven Over
authored
Fix PullRequestQuery GraphQL query for repositories not owned by orgs
GitHub repositories can be owned by users or orgs. The way the PullRequestQuery was phrased it threw an error if the repository used was owned by a user. This commit fixes that. Test Plan: update an existing PR in repositories both owned by a user and an org. Reviewers: jozef-mokry Reviewed By: jozef-mokry Pull Request: #46
1 parent 0726b07 commit dc2e667

File tree

5 files changed

+39
-37
lines changed

5 files changed

+39
-37
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [1.2.4] - 2022-05-26
4+
5+
### Fixes
6+
7+
- fix working with repositories not owned by an organization but by a user
8+
39
## [1.2.3] - 2022-05-24
410

511
### Fixes

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spr"
3-
version = "1.2.3"
3+
version = "1.2.4"
44
authors = ["Sven Over <sven@cord.com>", "Jozef Mokry <jozef@cord.com>"]
55
description = "Submit pull requests for individual, amendable, rebaseable commits to GitHub"
66
repository = "https://github.com/getcord/spr"

src/github.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,6 @@ impl GitHub {
190190
let pr = response_body
191191
.data
192192
.ok_or_else(|| Error::new("failed to fetch PR"))?
193-
.organization
194-
.ok_or_else(|| Error::new("failed to find organization"))?
195193
.repository
196194
.ok_or_else(|| Error::new("failed to find repository"))?
197195
.pull_request
@@ -253,7 +251,7 @@ impl GitHub {
253251
.flatten()
254252
.flat_map(|x| &x.requested_reviewer)
255253
.flat_map(|reviewer| {
256-
type UserType = pull_request_query::PullRequestQueryOrganizationRepositoryPullRequestReviewRequestsNodesRequestedReviewer;
254+
type UserType = pull_request_query::PullRequestQueryRepositoryPullRequestReviewRequestsNodesRequestedReviewer;
257255
match reviewer {
258256
UserType::User(user) => Some(user.login.clone()),
259257
UserType::Team(team) => Some(format!("#{}", team.slug)),

src/gql/pullrequest_query.graphql

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,36 @@
11
query PullRequestQuery($name: String!, $owner: String!, $number: Int!) {
2-
organization(login: $owner) {
3-
repository(name: $name) {
4-
pullRequest(number: $number) {
5-
number
6-
state
7-
reviewDecision
8-
title
9-
body
10-
baseRefName
11-
baseRefOid
12-
headRefOid
13-
headRefName
14-
mergeCommit {
15-
oid
16-
}
17-
latestOpinionatedReviews(last: 100) {
18-
nodes {
19-
author {
20-
__typename
21-
login
22-
}
23-
state
2+
repository(owner: $owner, name: $name) {
3+
pullRequest(number: $number) {
4+
number
5+
state
6+
reviewDecision
7+
title
8+
body
9+
baseRefName
10+
baseRefOid
11+
headRefOid
12+
headRefName
13+
mergeCommit {
14+
oid
15+
}
16+
latestOpinionatedReviews(last: 100) {
17+
nodes {
18+
author {
19+
__typename
20+
login
2421
}
22+
state
2523
}
26-
reviewRequests(last: 100) {
27-
nodes {
28-
requestedReviewer {
29-
__typename
30-
... on Team {
31-
slug
32-
}
33-
... on User {
34-
login
35-
}
24+
}
25+
reviewRequests(last: 100) {
26+
nodes {
27+
requestedReviewer {
28+
__typename
29+
... on Team {
30+
slug
31+
}
32+
... on User {
33+
login
3634
}
3735
}
3836
}

0 commit comments

Comments
 (0)