11

我正在使用 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。

4

3 回答 3

1

最新的 Jira 文档提供了有关 API 的信息,这些信息可用于获取问题类型方案和工作流方案的详细信息。以下是可用于相同目的的 API,

  1. 获取项目的问题类型方案问题类型方案 API

休息网址:GET https://your-domain.atlassian.com/rest/api/2/issuetypescheme/project?projectId={projectId}'

示例响应:

{
    "maxResults": 100,
    "startAt": 0,
    "total": 3,
    "isLast": true,
    "values": [
        {
            "issueTypeScheme": {
                "id": "10000",
                "name": "Default Issue Type Scheme",
                "description": "Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.",
                "defaultIssueTypeId": "10003",
                "isDefault": true
            },
            "projectIds": [
                "10000",
                "10001"
            ]
        }
    ]
}
  1. 获取为项目Workflow Scheme API配置的工作流程方案

休息网址:GET https://your-domain.atlassian.com/rest/api/2/workflowscheme/{id}

示例响应:

{
  "id": 101010,
  "name": "Example workflow scheme",
  "description": "The description of the example workflow scheme.",
  "defaultWorkflow": "jira",
  "issueTypeMappings": {
    "10000": "scrum workflow",
    "10001": "builds workflow"
  },
  "draft": false,
  "self": "https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010"
}
于 2021-05-12T20:33:43.960 回答
1

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

于 2018-07-11T07:12:26.117 回答
0

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

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

然后,如果您想了解有关工作流方案的信息,您可以使用以下信息以编程方式执行此操作。

如果您有要使用的问题,则可以通过执行以下操作使用它来获取工作流方案 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。

如果我想找出工作流方案信息,那么这就是我将使用的方法,这样我就可以使用 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 获取请求https://jira.atlassian.com/browse/JRA-25121/workflow/45也会为您获取返回的 XML 或 JSON 工作流信息。

于 2015-05-13T08:41:34.133 回答