use of org.kohsuke.github.GitHub in project Robot by fo0.
the class UpdateUtils method getVersion.
public static String getVersion() {
try {
GitHub gitHub = GitHub.connectAnonymously();
GHRepository repository = gitHub.getRepository(CONSTANTS.GITHUB_URI);
GHRelease latest = repository.getLatestRelease();
return latest.getTagName().replaceAll("v", "");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
use of org.kohsuke.github.GitHub in project Gargoyle by callakrsos.
the class GitTest method getGargoyleRepository.
@Test
public void getGargoyleRepository() throws IOException {
GitHub github = GitHub.connect();
GHUser user = github.getUser("callakrsos");
Map<String, GHRepository> repositories = user.getRepositories();
//Repository를 모두 출력
Iterator<Entry<String, GHRepository>> iterator = repositories.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, GHRepository> next = iterator.next();
System.out.println(next.getKey() + " - " + next.getValue().getName());
}
//Gargoyle Repository 정보 출력
GHRepository repository = user.getRepository("Gargoyle");
System.out.println(repository);
List<GHContent> directoryContent = repository.getDirectoryContent("/");
//루트 디렉토리 정보 출력
directoryContent.forEach(con -> {
System.out.println(String.format("Path : %s\t\t\tsize : %d\t\t\t\tUrl:%s ", con.getPath(), con.getSize(), con.getUrl()));
});
}
use of org.kohsuke.github.GitHub in project Rubicon by Rubicon-Bot.
the class CommandFeedback method handle.
public static void handle(MessageReceivedEvent event) {
if (!reportMap.containsKey(event.getAuthor().getIdLong())) {
return;
}
ReportHolder reportHolder = reportMap.get(event.getAuthor().getIdLong());
if (event.getMessage().getContentDisplay().contains(reportHolder.title))
return;
if (!event.getTextChannel().getId().equals(reportHolder.textChannel.getId()))
return;
String description = event.getMessage().getContentDisplay();
try {
GitHub gitHub = GitHub.connectUsingOAuth(Info.GITHUB_TOKEN);
GHRepository repository = gitHub.getOrganization("Rubicon-Bot").getRepository("Rubicon");
GHIssue issue = repository.createIssue(reportHolder.title).body(ISSUE_HEADER + event.getAuthor().getName() + "#" + event.getAuthor().getDiscriminator() + ISSUE_SUFFIX + description).label("Enhancement").label("Up for grabs").create();
reportHolder.delete(issue.getHtmlUrl().toString());
event.getMessage().delete().queue();
} catch (IOException e) {
e.printStackTrace();
}
}
use of org.kohsuke.github.GitHub in project Robot by fo0.
the class UpdateUtils method getInfo.
public static GitHubReleaseInfo getInfo() {
GitHubReleaseInfo info = GitHubReleaseInfo.builder().build();
try {
GitHub gitHub = GitHub.connectAnonymously();
GHRepository repository = gitHub.getRepository(CONSTANTS.GITHUB_URI);
GHRelease latest = repository.getLatestRelease();
String version = latest.getTagName().replaceAll("v", "");
info.setVersion(version);
info.setMessage(latest.getBody());
boolean newerVersionAvailable = new Semver(latest.getTagName().replaceAll("v", "")).isGreaterThan(new Semver(CONSTANTS.VERSION));
if (!newerVersionAvailable) {
Logger.info("no newer version available, skipping now");
Logger.info("current version: " + CONSTANTS.VERSION);
Logger.info("latest version: " + latest.getTagName().replaceAll("v", ""));
} else {
Logger.info("detected new version");
Logger.info("current version: " + CONSTANTS.VERSION);
Logger.info("latest version: " + latest.getTagName().replaceAll("v", ""));
info.setAvailable(true);
}
return info;
} catch (Exception e) {
e.printStackTrace();
}
return info;
}
use of org.kohsuke.github.GitHub in project nextprot-api by calipho-sib.
the class GitHubServiceImpl method getNews.
@Override
@Cacheable(value = "github-news")
public List<NextProtNews> getNews() {
List<NextProtNews> news = new ArrayList<>();
try {
GitHub github = getGitHubConnection();
GHRepository repo = github.getRepository("calipho-sib/nextprot-docs");
GHTree tree = repo.getTreeRecursive(githubDocBranch, 1);
newsFileNames.clear();
for (GHTreeEntry te : tree.getTree()) {
if (te.getPath().startsWith("news")) {
// Add only file on news
if (te.getType().equalsIgnoreCase("blob")) {
// file
String fileName = te.getPath().replaceAll("news/", "");
NextProtNews n = parseGitHubNewsFilePath(fileName);
if (n != null) {
news.add(n);
String fileEncoded = URLEncoder.encode(fileName.replace(".md", ""), "UTF-8").replace("+", "%20");
newsFileNames.put(n.getUrl(), fileEncoded);
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
throw new NextProtException("News not available, sorry for the inconvenience");
}
Collections.sort(news);
return news;
}
Aggregations