diff --git a/src/main/java/org/kohsuke/github/GHOrganization.java b/src/main/java/org/kohsuke/github/GHOrganization.java index 8f0887786..ab8b55bd3 100644 --- a/src/main/java/org/kohsuke/github/GHOrganization.java +++ b/src/main/java/org/kohsuke/github/GHOrganization.java @@ -1,12 +1,15 @@ package org.kohsuke.github; import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.HtmlAnchor; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.html.HtmlPage; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.List; import java.util.Map; /** @@ -63,4 +66,18 @@ public class GHOrganization extends GHPerson { return createTeam(name,p, Arrays.asList(repositories)); } + /** + * List up repositories that has some open pull requests. + */ + public List getRepositoriesWithOpenPullRequests() throws IOException { + WebClient wc = root.createWebClient(); + HtmlPage pg = (HtmlPage)wc.getPage("https://github.com/organizations/"+login+"/dashboard/pulls"); + List r = new ArrayList(); + for (HtmlAnchor e : pg.getElementById("js-issue-list").selectNodes(".//UL[@class='smallnav']/LI[not(@class='zeroed')]/A")) { + String a = e.getHrefAttribute(); + String name = a.substring(a.lastIndexOf('/')+1); + r.add(getRepository(name)); + } + return r; + } }