python_jira库的一些常用操作

# coding:utf-8


import jira

# Jira参数设置
Jiras = {
'url':"http://192.168.15.150:8800", # jira地址
'username':"qiujunjie", # 登录账号
'password':"123456", # 登录密码
}

myjira = jira.JIRA(Jiras['url'],basic_auth=(Jiras['username'],Jiras['password'])) # 创建jira链接


# 根据项目id获取指定的项目
# p = myjira.project(10003)
# print(p)

# 遍历所有的项目
# for p in myjira.projects():
# print(p,p.id)

# 获取指定项目下的版本
# print(myjira.project(10003).versions)
# for ver in myjira.project(10003).versions:
# print(ver)

# 根据条件筛选jira问题(筛选条件就是jira上的高级筛选条件) 注意:这种筛选方式默认最大条数为50,需要加上参数 maxResults=1000
# for issues in myjira.search_issues("status = Resolved AND assignee in (qiujunjie) order by created DESC"):
# print(issues)

# 根据名字获取指定jira问题
# myissues = myjira.issue("KOF-38903")

# 获取jira单子的属性
# 更加具体的属性可以通过jira的api查询:http://192.168.15.150:8080/rest/api/2/issue/KOF-38935
# 注意:以下的属性有部分是字符串,但有部分是对象,还可以深入一层获取详细的信息
# print(myissues.id) # 缺陷ID
# print(myissues.fields.issuetype) # 类型
# print(myissues.fields.issuetype.avatarId) # 类型ID
# print(myissues.fields.project) # 项目
# print(myissues.fields.fixVersions) # 解决版本
# print(myissues.fields.resolution) # 解决结果
# print(myissues.fields.resolutiondate) # 解决时间
# print(myissues.fields.lastViewed) # 最后查看时间
# print(myissues.fields.created) # 创建日期
# print(myissues.fields.priority) # 优先级
# print(myissues.fields.customfield_10300) # 任务分类(自定义字段)
# print(myissues.fields.versions) # 影响版本
# print(myissues.fields.assignee) # 经办人
# print(myissues.fields.updated) # 修改日期
# print(myissues.fields.status) # 状态
# print(myissues.fields.components) # 所属模块
# print(myissues.fields.description) # 描述
# print(myissues.fields.customfield_10601) # 需要各组支持(自定义字段)
# print(myissues.fields.attachment) # 附件信息
# print(myissues.fields.customfield_10009) # 测试人员(自定义字段)
# print(myissues.fields.summary) # 主题
# print(myissues.fields.creator) # 创建人
# print(myissues.fields.reporter) # 报告人
# print(myissues.fields.comment.comments) # 评论


# 修改jira单子
# myissues.update(assignee={'name':'lidanfeng'}) # 修改经办人
# myissues.update(customfield_10009={'name':'lidanfeng'}) # 修改测试人员,只能修改,不能新增(如果该单子本来没有测试人员,该方法不能用)

# 关注人
print(myjira.watchers("KOF-26738").watchers)  # 查看关注人
myjira.add_watcher("KOF-26738","qiujunjie")  # 添加关注人
myissues.fields.watches.delete("qiujunjie")  # 删除关注人

# 获取jira用户
# print(type(myjira.current_user()))
# print(type(myjira.user(myjira.current_user())))
# print(myjira.current_user()) # 获取当前用户名字(字符串)
# print(myjira.user(myjira.current_user())) # 获取当前用户对象(class)
# print(myjira.user("qiujunjie")) # 获取指定用户对象(class)

# 审核jira任务
# transitions = myjira.transitions(myissues)
# for x in transitions:
#  print(x["id"],x["name"]) # 找到审核操作的id
# myjira.transitions_issue(myissues, 审核操作id, fixVersions=[{'name':' 某某某版本'}])

原文地址:https://www.cnblogs.com/dabaicai0703/p/11222549.html