使用 Python 从 Jira 获取链接问题

Getting linked issues from Jira with Python

我尝试使用 Python 从 Jira 获取链接问题。这似乎很棘手,因为我得到的特定问题中的链接问题数量是正确的,但链接问题不是我所期望的(已通过 Jira Web 界面验证)。他们似乎是一些其他问题,甚至来自不同的项目。

我的目的是获取每个问题的所有链接问题,并检查链接问题是否具有特定状态。

这是我的做法:

results = jira.search_issues('here query')  
for issueId in results:
    issue = jira.issue(issueId)
    if (issue.fields.issuelinks): 
        for issueLinked in issue.fields.issuelinks:
            if(jira.issue(issueLinked).fields.status != "Done" and jira.issue(issueLinked).fields.status != "Closed"):
                print("id: ", jira.issue(issueLinked).id)
                print("key: ", jira.issue(issueLinked).key)
                print("status: ", jira.issue(issueLinked).fields.status)
                print("summary: ", jira.issue(issueLinked).fields.summary)

您是否遇到过类似的问题?

我无法给出完整的答案,但 issue.fields.issuelinks 不是问题列表,而是链接列表。这是一个使用示例:

for link in issue.fields.issuelinks:
    if hasattr(link, "outwardIssue"):
        outwardIssue = link.outwardIssue
        print("\tOutward: " + outwardIssue.key)
    if hasattr(link, "inwardIssue"):
        inwardIssue = link.inwardIssue
        print("\tInward: " + inwardIssue.key)

而不是 jira.issue(issueLinked) 使用 jira.issue_link(issueLinked) 从 Jira 服务器获取真正的 link 资源。您可以通过以下方式访问 linked 问题:

issue_link = jira.issue_link(issueLinked)
print("Linked issue '%s'" % issue_link.outwardIssue) 

其中 outwardIssue 是 linked 问题对象。