Jira 吉拉:制作一份包含故事的报告&;阻止与发布相关的问题

Jira 吉拉:制作一份包含故事的报告&;阻止与发布相关的问题,jira,python-jira,Jira,Python Jira,我工作的公司使用Jira来支持项目的需求捕获和测试阶段。我们为发布分配故事(即需求)。作为一名测试工程师,我提出了一些bug,然后在故事中提到这些bug是“被阻止的” 我需要创建一个报告,列出每个版本以及与该版本相关的故事。当我提出bug时,我需要报告中也包含bug(或实际上提出的任何其他问题) 我无法在Jira中直接实现这一点,但我找到了一个用于Python的Jira模块。。。我有以下工作,但现在我卡住了 从jira进口jira server = {"server" : "https://ji

我工作的公司使用Jira来支持项目的需求捕获和测试阶段。我们为发布分配故事(即需求)。作为一名测试工程师,我提出了一些bug,然后在故事中提到这些bug是“被阻止的”

我需要创建一个报告,列出每个版本以及与该版本相关的故事。当我提出bug时,我需要报告中也包含bug(或实际上提出的任何其他问题)

我无法在Jira中直接实现这一点,但我找到了一个用于Python的Jira模块。。。我有以下工作,但现在我卡住了

从jira进口jira

server = {"server" : "https://jira.pxr5.hw"}
login = ('bob', 'dave')

jira = JIRA (options = server, basic_auth = login)

myProject = jira.project ("QSC")

for eachVersion in myProject.versions:
    print eachVersion.name + " - " + eachVersion.id
这就产生了预期的产出

Release 0 - 10518
Release 0.1 - 10602
Release 0.2 - 10603
Release 1.0 - 10519
Release 2.0 - 10520
Release 3.0 - 10521
closed - 10616
work complete - 10617
从我找到的文档中,我看不出如何进一步返回任何内容,我指的是每个版本下的故事以及(如果存在)我提出的bug


请问你能帮忙吗?谢谢你的关注。

我终于到了那里。。。有点下面是我通过取消勾选“原始”属性找到的解决方案

from jira import JIRA
import sys

userName = "Dave"
userPassword = "Bob"

server = {"server" : "https://jira.pxr5.hw"}
login = (userName, userPassword)

# Open a link to Jira
jira = JIRA (options = server, basic_auth = login)

# Return an object comprising the project we're working on
myProject = jira.project ("quark")

# Get a list of the releases in the project.  Notice that the version
# has to be surrounded by single quotes as it may have spaces in it
for eachVersion in myProject.versions:
    jqlStatement = "project=quark AND fixVersion='" + eachVersion.name + "'"
    print eachVersion.name

    # Get a list of stories accociated with each release of the project
    theStories = jira.search_issues (jqlStatement)

    # Go through each story in the current release
    for eachStory in theStories:
        # The story is indented one tab with it's ID and summary name
        print "\t" + eachStory.raw["key"] + " " +  eachStory.raw["fields"]["summary"]

        # Now get a list of issue links and go through each one
        issueLinks = eachStory.raw["fields"]["issuelinks"]
        for eachLink in issueLinks:
            print "\t\t" +  eachLink["inwardIssue"]["key"] + " " + \
                        eachLink["inwardIssue"]["fields"]["summary"]

这是可行的,但它要求您对每个版本的数据库进行搜索。如果你有很多问题,它会很慢。如果您的大多数或所有问题都与fixVersion关联,那么获取问题的完整列表并创建一个以fixVersion为键、以与该fixVersion关联的问题列表为值的字典会更快。此外,还可以使用.fields对象获取字段值:eachStory.fields.key和eachStory.fields.summary将返回所需的值