使用REST API获取JIRA项目的问题类型方案和工作流程方案

问题描述 投票:10回答:2

我正在使用REST API 6.2.6对JIRA进行集成。我需要做的一件事是为项目获取问题类型方案和工作流程方案。

我尝试了什么:

问题类型方案

我现在唯一可以得到的是使用/rest/api/2/project/{projectIdOrKey}的问题类型列表。我看不到任何获取问题类型方案ID的方法。看看API,问题类型方案没有任何端点,所以我想这是不可能的。

工作流程方案

/rest/api/2/project/{projectIdOrKey}不会返回有关工作流程方案的任何信息。但是有一个端点/rest/api/2/workflowscheme/{id},这意味着它可以以某种方式获取ID ...最后,我想得到一个项目的工作流列表,以检查问题类型的转换。

有没有办法获得我想要的数据?也许有一些隐藏的未记录的API?

注意:我只使用JIRA REST API。

jira jira-rest-api
2个回答
1
投票

这就是你想要的。 /休息/ projectconfig / 1 / workflowscheme / {projectIdOrKey}


0
投票

据我所知,您可以从REST API获取正确的XML或JSON响应:

/rest/api/2/project/{projectIdOrKey}.  

然后,如果要查找有关workflowscheme的信息,可以使用以下信息以编程方式执行此操作。

如果您有一个想要使用的问题,那么您可以通过这样做来使用它来获取workflowscheme id:

ComponentAccessor.getWorkflowSchemeManager().getWorkflowScheme(issue.getProject()).get("id");

一旦你得到了工作流程方案的id,例如10,然后你可以得到如下的方案通用值:

GernericValue scheme = ComponentAccessor.getWorkflowSchemeManager().getScheme(10);

既然您已经拥有该方案,那么您可以通过这样做获得该方案中引用的所有工作流:

Collection<JiraWorkflow> workflows = ComponentAccessor.getWorkflowManager().getWorkflowsFromScheme(scheme);

然后,如果您想获得一个工作流程,则必须使用:

workflows.iterator().next():

另请注意,工作流由JIRA中的名称标识,因为JiraWorkflow中没有ID。

因此,如果我想查找workflowscheme信息,那么这将是我将使用的方法,因此我可以使用id然后使用REST API:

但是,您可能无法找到工作流程的主要原因是因为JIRA的问题中没有它。

使用此HTTP并将其作为get请求输入“Postman”将返回所有JSON信息。

使用此https://jira.atlassian.com/browse/JRA-25121/project/23将返回该项目的所有信息。然后使用此REST API:

/rest/api/2/workflowscheme/{id}

使用此HTTP get请求,https://jira.atlassian.com/browse/JRA-25121/workflow/45也将获得返回的XML或JSON工作流信息。

© www.soinside.com 2019 - 2024. All rights reserved.