【问题标题】:Get all work hours from Jira从 Jira 获取所有工作时间
【发布时间】:2016-07-28 09:56:53
【问题描述】:

我想从 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

获取所有项目的正确方法是什么?

【问题讨论】:

  • 401 表示“未经授权”,因此您使用的凭据(您可以使用该用户手动登录吗?)或“测试”用户的权限(您的用户可以看到任何项目?),或者使用您创建客户的方式。
  • 另外:您的问题的标题似乎与问题本身无关?

标签: java jira jira-rest-api jira-rest-java-api


【解决方案1】:

获取所有项目您可以使用ComponentAccessor.getProjectManager().getProjectObjects(); 这将返回按名称排序的所有项目。 链接到文档ProjectManager

REST API GET /rest/api/2/project

baseUrl + /rest/api/2/project

返回对当前登录可见的所有项目 用户。如果没有用户登录,它会返回项目列表 使用匿名访问时可见。

API 文档LINK

【讨论】:

  • 谢谢,但是我如何才能从 JiraRestClient jira 获取所有这些对象?请问可以扩展代码示例吗?
  • 这不是您问题的答案。它指的是 JIRA java api 而不是 JIRA REST API,并且只有在您为独立的 JIRA(而不是云)开发插件或为独立的 JIRA 使用 Script Runner 插件时,它才会起作用。
  • 从答案中检查 REST 命令,它应该可以工作。询问您是否需要更多帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-08
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多