blob: c80b3f50010974124efbc022a87341c2eb791275 [file] [log] [blame]
/****************************************************************************
* Copyright (c) 2014 Remain BV
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* Contributors: Wim Jongman - initial API and implementation
*
* SPDX-License-Identifier: EPL-2.0
*****************************************************************************/
package com.mycorp.examples.githubservice.impl;
import java.io.IOException;
import java.util.List;
import org.eclipse.egit.github.core.Issue;
import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.client.GitHubClient;
import org.eclipse.egit.github.core.service.IssueService;
import org.eclipse.egit.github.core.service.RepositoryService;
import com.mycorp.examples.githubservice.IGitHubService;
/**
* Example OSGi service for retrieving some data from GitHub.
*
* @since 1.0
*/
public class GitHubService implements IGitHubService {
/**
* Stand alone service test. To get an access token see see
* https://help.github.com/articles/creating-an-access-token-
* for-command-line-use/
*/
public static void main(String[] args) {
String token = "your token here";
GitHubService service = new GitHubService();
String[] repos = service.getRepositories(token);
for (String repository : repos) {
System.out.println(repository);
System.out.println("================");
String[] issues = service
.getIssues(token, "wimjongman", repository);
if (issues.length == 0) {
System.out.println("*** No Issues ***");
}
for (String issue : issues) {
System.out.println(issue);
}
System.out.println();
}
}
public String[] getRepositories(String pAccessToken) {
GitHubClient client = new GitHubClient();
client.setOAuth2Token(pAccessToken);
RepositoryService service = new RepositoryService(client);
try {
List<Repository> repositories = service.getRepositories();
String[] result = new String[repositories.size()];
for (int i = 0; i < repositories.size(); i++) {
result[i] = repositories.get(i).getName();
}
return result;
} catch (IOException e) {
return null;
}
}
public String[] getIssues(String pAccessToken, String owner,
String pRepository) {
GitHubClient client = new GitHubClient();
client.setOAuth2Token(pAccessToken);
IssueService issueService = new IssueService(client);
try {
List<Issue> issues = issueService.getIssues("wimjongman",
pRepository, null);
String[] result = new String[issues.size()];
for (int i = 0; i < issues.size(); i++) {
result[i] = issues.get(i).getNumber() + "::"
+ issues.get(i).getTitle();
}
return result;
} catch (IOException e) {
return null;
}
}
}