Python Jira模块应用:切换用户创建任务


python菜鸟摸索分享

我的环境
系统:win10
python版本:3.9

一、安装jira

pip install jira
  • 1.

二、使用jira

项目对象(Project)的主要属性及方法如下:

  1. key: 项目的Key
  2. name: 项目名称
  3. description: 项目描述
  4. lead: 项目负责人
  5. projectCategory: 项目分类
  6. components: 项目组件
  7. versions: 项目中的版本
  8. raw: 项目的原始API数据
from jira import JIRA

jira = JIRA(server=login_dict['server'], basic_auth=(login_dict['username'], login_dict['password']))
#访问项目列表
jira.projects()  
#访问项目名称,其他项目属性和方法类似
jira.project("YH").name
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

问题(issue)的主要属性及方法如下:

  1. id: 问题的id
  2. key: 问题的Key
  3. permalink(): 获取问题连接
  4. fields: 问题的描述,创建时间等所有的配置域
  5. raw: 问题的原始API数据
#问题的id,其他问题属性和方法类似
 jira.issue('YH-101').id
  • 1.
  • 2.

配置域(Fields)
assignee:经办人
created: 创建时间
creator: 创建人
labels: 标签
priority: 优先级
project: 所属项目
status: 状态
summary: 问题描述
worklog: 活动日志
updated: 更新时间
watches: 关注者
comments: 评论
resolution: 解决方案
subtasks: 子任务
issuelinks: 连接问题
lastViewed: 最近查看时间
attachment: 附件

#问题创建人,其他问题字段的属性和方法类似
jira.issue('YH-101').fields.creator
  • 1.
  • 2.

创建问题

issue_dict = {
	'''根据自身需要和问题属性配置内容'''
    'project': {'id': 10000},  #项目ID
    'summary': '测试',    #问题概要
    'description': '创建测试问题',   #问题描述 \n换行
    'issuetype': {'name': '任务'},   #问题类型,具体根据配置即可,比如:Bug、缺陷、任务、需求等
    'assignee':{'name': 'dh'}  #经办人
}
jira.create_issue(fields=issue_dict)
#创建问题成功后会返回问题的key
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

批量创建问题

issue_list = [issue_dict1,issue_dict2,issue_dict3]
jira.create_issues(issue_list)
  • 1.
  • 2.

更新问题

issue = jira.issue('YH-101')
issue.update(summary='测试2', description='测试2号')
#其他属性更新方法同上,也可以通过传参方式更新
issue_dict= {
    'summary': 'issue概要',
    'description': 'issue描述\n第二行',
}
issue.update(fields=issue_dict)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

查询当前权限下问题流程可操作节点

#获取问题的工作流
transitions = jira.transitions(issue)
#打印该账号当前可操作的流程节点id和名称
print ([(t['id'], t['name']) for t in transitions])
  • 1.
  • 2.
  • 3.
  • 4.

更新问题流程状态

#传入问题,流程节点id,也可以同时传入经办人,修改问题节点及经办人
jira.transition_issue(issue,'2',assignee={'name': '007'})
  • 1.
  • 2.

问题的关注、评论、附件

#获取问题
issue = jira.issue('YH-101')
# 问题的所有关注者
jiaa.watchers(issue) 
# 添加问题的关注者
jira.add_watcher(issue, 'username') 
#移除问题的关注着
jira.remove_watcher(issue, 'username')
# 问题的所有评论
jira.comments(issue)
#问题的某一条评论 
comment = jira.comment(issue, '10234')
#为问题添加评论
jira.add_comment(issue, 'new comment') 
#更新问题的该条评论
comment.update(body='update comment') 
#删除该条评论
comment.delete()
#为问题添加附件
jira.add_attachment(issue=issue, attachment='path')
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

** jira Python文档**


QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空