2016-07-28 22 views
0

JIRAトライアルアカウントでJavaに接続したいと思います。私はこのコードをテストした:Java Rest APIをJIraに接続

public class JiraImpl 
{ 
    private static URI JIRA_URL = URI.create("https://sonoratest.atlassian.net"); 
    private static final String JIRA_ADMIN_USERNAME = "[email protected]"; 
    private static final String JIRA_ADMIN_PASSWORD = "sonpass"; 

    public static void main(String[] args) throws IOException, InterruptedException, ExecutionException 
    { 
     try 
     { 
      AsynchronousJiraRestClientFactory factory = new AsynchronousJiraRestClientFactory(); 
      JiraRestClient restClient = factory.createWithBasicHttpAuthentication(JIRA_URL, JIRA_ADMIN_USERNAME, JIRA_ADMIN_PASSWORD); 

      Iterable<BasicProject> allProjects = restClient.getProjectClient().getAllProjects().claim(); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

しかし、私はそれを実行すると何も起こりません。 WahatはREST APIを使用してJIRAからデータを取得する適切な方法ですか? また、私はこの試みた:それはとても基本的であるため、最初の問題を取得して試してみてください、私は

java.util.concurrent.ExecutionException: RestClientException{statusCode=Optional.of(404), errorCollections=[ErrorCollection{status=404, errors={}, errorMessages=[]}]} 
    at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299) 
    at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286) 
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) 
    at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) 
    at com.atlassian.jira.rest.client.internal.async.DelegatingPromise.get(DelegatingPromise.java:102) 
    at com.jira.impl.JiraImpl.main(JiraImpl.java:23) 
Caused by: RestClientException{statusCode=Optional.of(404), errorCollections=[ErrorCollection{status=404, errors={}, errorMessages=[]}]} 
+0

をエラーが発生しますしましたか? –

+1

エラーが発生しない限り、このコードは実際に出力を生成しませんでした。問題は表示されません。 – BoDidely

+0

投稿を更新しました。 –

答えて

2

を取得

private static URI JIRA_URL = URI.create("https://sonoratest.atlassian.net/rest/auth/1/session"); 

を。

import java.net.URI; 
import java.util.Optional; 

import com.atlassian.jira.rest.client.api.JiraRestClient; 
import com.atlassian.jira.rest.client.api.domain.Issue; 
import com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory; 
import com.atlassian.util.concurrent.Promise; 

public class JRC 
{ 
    public Issue getIssue(String issueKey) throws Exception 
    { 
     final URI jiraServerUri = new URI("https://jira-domain"); 
     final JiraRestClient restClient = new AsynchronousJiraRestClientFactory().createWithBasicHttpAuthentication(jiraServerUri, "[email protected]", "password"); 
     Promise issuePromise = restClient.getIssueClient().getIssue(issueKey); 
     return Optional.ofNullable((Issue) issuePromise.claim()).orElseThrow(() -> new Exception("No such issue")); 
    } 

} 

また、完全に動作するサンプル取得するには、このコードを見てとることができます。

https://github.com/somaiah/jrjc