diff --git a/pom.xml b/pom.xml index b3cebb8139..d89670607b 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ github-api - 1.41 + 1.42 GitHub API for Java http://github-api.kohsuke.org/ GitHub API for Java diff --git a/src/main/java/org/kohsuke/github/GHEventPayload.java b/src/main/java/org/kohsuke/github/GHEventPayload.java index 5d666f5090..0e0b7054e3 100644 --- a/src/main/java/org/kohsuke/github/GHEventPayload.java +++ b/src/main/java/org/kohsuke/github/GHEventPayload.java @@ -27,6 +27,7 @@ public static class PullRequest extends GHEventPayload { private String action; private int number; private GHPullRequest pull_request; + private GHRepository repository; public String getAction() { return action; @@ -41,10 +42,19 @@ public GHPullRequest getPullRequest() { return pull_request; } + public GHRepository getRepository() { + return repository; + } + @Override void wrapUp(GitHub root) { super.wrapUp(root); - pull_request.wrapUp(root); + if (repository!=null) { + repository.wrap(root); + pull_request.wrap(repository); + } else { + pull_request.wrapUp(root); + } } } diff --git a/src/main/java/org/kohsuke/github/GHIssue.java b/src/main/java/org/kohsuke/github/GHIssue.java index 6cf376df19..636ebb7c51 100644 --- a/src/main/java/org/kohsuke/github/GHIssue.java +++ b/src/main/java/org/kohsuke/github/GHIssue.java @@ -138,7 +138,7 @@ public URL getApiURL(){ * Updates the issue by adding a comment. */ public void comment(String message) throws IOException { - new Requester(root).with("body",message).to(getApiRoute() + "/comments"); + new Requester(root).with("body",message).to(getIssuesApiRoute() + "/comments"); } private void edit(String key, Object value) throws IOException { @@ -190,7 +190,7 @@ public List getComments() throws IOException { public PagedIterable listComments() throws IOException { return new PagedIterable() { public PagedIterator iterator() { - return new PagedIterator(root.retrieve().asIterator(getApiRoute() + "/comments", GHIssueComment[].class)) { + return new PagedIterator(root.retrieve().asIterator(getIssuesApiRoute() + "/comments", GHIssueComment[].class)) { protected void wrapUp(GHIssueComment[] page) { for (GHIssueComment c : page) c.wrapUp(GHIssue.this); @@ -201,6 +201,10 @@ protected void wrapUp(GHIssueComment[] page) { } protected String getApiRoute() { + return getIssuesApiRoute(); + } + + private String getIssuesApiRoute() { return "/repos/"+owner.getOwnerName()+"/"+owner.getName()+"/issues/"+number; } @@ -250,4 +254,4 @@ public URL getUrl() { return GitHub.parseURL(html_url); } } -} \ No newline at end of file +} diff --git a/src/main/java/org/kohsuke/github/GitHub.java b/src/main/java/org/kohsuke/github/GitHub.java index d71fce0b39..8adf7e352f 100644 --- a/src/main/java/org/kohsuke/github/GitHub.java +++ b/src/main/java/org/kohsuke/github/GitHub.java @@ -193,7 +193,7 @@ public static GitHub connectAnonymously() throws IOException { } /*package*/ void requireCredential() { - if (login==null || encodedAuthorization==null) + if (login==null && encodedAuthorization==null) throw new IllegalStateException("This operation requires a credential but none is given to the GitHub constructor"); }