diff --git a/pom.xml b/pom.xml
index 46d97188c1..48d7ce7b8e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
github-api
- 1.46
+ 1.47
GitHub API for Java
http://github-api.kohsuke.org/
GitHub API for Java
diff --git a/src/main/java/org/kohsuke/github/GHEvent.java b/src/main/java/org/kohsuke/github/GHEvent.java
index 8c255988b3..aeb0afe7e3 100644
--- a/src/main/java/org/kohsuke/github/GHEvent.java
+++ b/src/main/java/org/kohsuke/github/GHEvent.java
@@ -6,6 +6,7 @@
* See http://developer.github.com/v3/events/types/
*
* @author Kohsuke Kawaguchi
+ * @see GHEventInfo
*/
public enum GHEvent {
COMMIT_COMMENT,
@@ -22,6 +23,7 @@ public enum GHEvent {
MEMBER,
PUBLIC,
PULL_REQUEST,
+ PULL_REQUEST_REVIEW_COMMENT,
PUSH,
TEAM_ADD,
WATCH
diff --git a/src/main/java/org/kohsuke/github/GHRepository.java b/src/main/java/org/kohsuke/github/GHRepository.java
index dc897dfa68..f1a3100a46 100644
--- a/src/main/java/org/kohsuke/github/GHRepository.java
+++ b/src/main/java/org/kohsuke/github/GHRepository.java
@@ -143,7 +143,24 @@ public GHIssueBuilder createIssue(String title) {
}
public List getIssues(GHIssueState state) throws IOException {
- return Arrays.asList(GHIssue.wrap(root.retrieve().to("/repos/" + owner.login + "/" + name + "/issues?state=" + state.toString().toLowerCase(), GHIssue[].class), this));
+ return listIssues(state).asList();
+ }
+
+ /**
+ * Lists up all the issues in this repository.
+ */
+ public PagedIterable listIssues(final GHIssueState state) {
+ return new PagedIterable() {
+ public PagedIterator iterator() {
+ return new PagedIterator(root.retrieve().asIterator(getApiTailUrl("issues?state="+state.toString().toLowerCase(Locale.ENGLISH)), GHIssue[].class)) {
+ @Override
+ protected void wrapUp(GHIssue[] page) {
+ for (GHIssue c : page)
+ c.wrap(GHRepository.this);
+ }
+ };
+ }
+ };
}
public GHReleaseBuilder createRelease(String tag) {
diff --git a/src/test/java/org/kohsuke/AppTest.java b/src/test/java/org/kohsuke/AppTest.java
index 2fbdf02cde..64908e7a87 100644
--- a/src/test/java/org/kohsuke/AppTest.java
+++ b/src/test/java/org/kohsuke/AppTest.java
@@ -79,6 +79,12 @@ public void testCreateIssue() throws IOException {
o.close();
}
+ public void testGetIssues() throws Exception {
+ List closedIssues = gitHub.getUser("kohsuke").getRepository("github-api").getIssues(GHIssueState.CLOSED);
+ // prior to using PagedIterable GHRepository.getIssues(GHIssueState) would only retrieve 30 issues
+ assertTrue(closedIssues.size() > 30);
+ }
+
public void testRateLimit() throws IOException {
System.out.println(gitHub.getRateLimit());
}