2016-07-28 104 views
1

我想從JIRA獲得所有工作時間。我試圖爲始這個代碼:從Jira獲得所有工作時間

import com.atlassian.jira.rest.client.JiraRestClient; 
import com.atlassian.jira.rest.client.NullProgressMonitor; 
import com.atlassian.jira.rest.client.domain.BasicProject; 
import com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory; 
import java.net.URI; 

public class JiraImpl 
{ 
    private static final String JIRA_URL = "https://jira.atlassian.com"; 
    private static final String JIRA_ADMIN_USERNAME = "test"; 
    private static final String JIRA_ADMIN_PASSWORD = "test"; 

    public static void main(String[] args) throws Exception 
    { 
     JiraRestClient jira; 
     JerseyJiraRestClientFactory clientFactory = new JerseyJiraRestClientFactory(); 
     jira = clientFactory.createWithBasicHttpAuthentication(new URI(JIRA_URL), 
      JIRA_ADMIN_USERNAME, JIRA_ADMIN_PASSWORD); 
     System.out.println("Connection established to >> " + JIRA_URL); 

     Iterable<BasicProject> allProjects = jira.getProjectClient().getAllProjects(new NullProgressMonitor()); 
    } 
} 

,但我得到:Caused by: com.sun.jersey.api.client.UniformInterfaceException: Client response status: 401

什麼是正確的方式來獲得所有項目?

+0

401的意思是「未經授權」的,所以有一些錯誤或者憑據您使用(你能與用戶手動登錄?),或在「測試」用戶的權限(可你的用戶看到任何項目?),或者你創建客戶端的方式。 – GlennV

+0

另外:您的問題的標題似乎與問題本身沒有關係? – GlennV

回答

0

獲取所有項目您可以使用此項ComponentAccessor.getProjectManager().getProjectObjects();這將返回按名稱排序的所有項目。 鏈接到文件ProjectManager

REST API GET /rest/api/2/project

baseUrl + /rest/api/2/project 

返回哪個是可見在 當前登錄用戶的所有項目。如果沒有用戶登錄,它將返回使用匿名訪問時可見的項目列表 。

API文檔LINK

+0

謝謝,但我怎麼能從JiraRestClient jira的所有這個對象?您能否擴展代碼示例? –

+0

這不是你的問題的答案。它指的是JIRA java api而不是JIRA REST API,只有在爲獨立JIRA(而非雲)開發附加組件或將獨立JIRA的Script Runner附加組件使用時才能使用。 – GlennV

+0

從答案中檢查REST命令,它應該工作。詢問你是否需要更多幫助。 – Czachovic