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