added a method to enable/disable the issue tracker.

This commit is contained in:
Kohsuke Kawaguchi
2011-06-27 18:32:52 -07:00
parent bb3bfe4be8
commit 4d77d9ec9c
2 changed files with 33 additions and 8 deletions

View File

@@ -59,7 +59,7 @@ public class GHRepository {
private String description, homepage, url, name, owner;
private boolean has_issues, has_wiki, fork, _private, has_downloads;
private int watchers,forks;
private int watchers,forks,open_issues;
private String created_at, pushed_at;
public String getDescription() {
@@ -121,6 +121,10 @@ public class GHRepository {
return watchers;
}
public int getOpenIssueCount() {
return open_issues;
}
public Date getPushedAt() {
return GitHub.parseDate(pushed_at);
}
@@ -176,6 +180,14 @@ public class GHRepository {
f.submit((HtmlButton) f.getElementsByTagName("button").get(0));
}
/**
* Enables or disables the issue tracker for this repository.
*/
public void enableIssueTracker(boolean v) throws IOException {
new Poster(root).withCredential().with("values[has_issues]",String.valueOf(v))
.to("/repos/show/" + owner + "/" + name);
}
/**
* Deletes this repository.
*/

View File

@@ -3,20 +3,13 @@ package org.kohsuke;
import junit.framework.TestCase;
import org.kohsuke.github.GHOrganization;
import org.kohsuke.github.GHOrganization.Permission;
import org.kohsuke.github.GHPullRequest;
import org.kohsuke.github.GHPullRequest.State;
import org.kohsuke.github.GHRepository;
import org.kohsuke.github.GHTeam;
import org.kohsuke.github.GitHub;
import java.io.IOException;
import java.net.URL;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* Unit test for simple App.
@@ -55,6 +48,26 @@ public class AppTest extends TestCase {
// System.out.println(hub.getUser("kohsuke").getRepository("hudson").getCollaborators());
}
private void tryDisablingIssueTrackers(GitHub gitHub) throws IOException {
for (GHRepository r : gitHub.getOrganization("jenkinsci").getRepositories().values()) {
if (r.hasIssues()) {
if (r.getOpenIssueCount()==0) {
System.out.println("DISABLED "+r.getName());
r.enableIssueTracker(false);
} else {
System.out.println("UNTOUCHED "+r.getName());
}
}
}
}
private void tryUpdatingIssueTracker(GitHub gitHub) throws IOException {
GHRepository r = gitHub.getOrganization("jenkinsci").getRepository("lib-task-reactor");
System.out.println(r.hasIssues());
System.out.println(r.getOpenIssueCount());
r.enableIssueTracker(false);
}
private void tryRenaming(GitHub gitHub) throws IOException {
gitHub.getUser("kohsuke").getRepository("test").renameTo("test2");
}