From 818f6dc045c3fc30dcc19bd5d0250e889e9c0ba0 Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Wed, 16 Nov 2016 18:26:43 -0800 Subject: [PATCH] Issue #309: Added user listing --- src/main/java/org/kohsuke/github/GitHub.java | 17 +++++++++++++++++ .../java/org/kohsuke/github/GitHubTest.java | 11 +++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/main/java/org/kohsuke/github/GitHub.java b/src/main/java/org/kohsuke/github/GitHub.java index cb446e1fe0..2a54626f2d 100644 --- a/src/main/java/org/kohsuke/github/GitHub.java +++ b/src/main/java/org/kohsuke/github/GitHub.java @@ -392,6 +392,23 @@ protected void wrapUp(GHLicense[] page) { }; } + /** + * Returns a list of all users. + */ + public PagedIterable listUsers() throws IOException { + return new PagedIterable() { + public PagedIterator _iterator(int pageSize) { + return new PagedIterator(retrieve().asIterator("/users", GHUser[].class, pageSize)) { + @Override + protected void wrapUp(GHUser[] page) { + for (GHUser u : page) + u.wrapUp(GitHub.this); + } + }; + } + }; + } + /** * Returns the full details for a license * diff --git a/src/test/java/org/kohsuke/github/GitHubTest.java b/src/test/java/org/kohsuke/github/GitHubTest.java index fe6faefac5..010adc8b24 100644 --- a/src/test/java/org/kohsuke/github/GitHubTest.java +++ b/src/test/java/org/kohsuke/github/GitHubTest.java @@ -7,6 +7,8 @@ import java.util.HashMap; import java.util.Map; +import com.google.common.collect.Iterables; +import com.google.common.collect.Iterators; import org.junit.Test; import static org.hamcrest.CoreMatchers.notNullValue; @@ -145,4 +147,13 @@ public void testGitHubIsApiUrlValid() throws IOException { assertTrue(ioe.getMessage().contains("private mode enabled")); } } + + @Test + public void listUsers() throws IOException { + GitHub hub = GitHub.connect(); + for (GHUser u : Iterables.limit(hub.listUsers(),10)) { + assert u.getName()!=null; + System.out.println(u.getName()); + } + } }