官方说明:https://docs.atlassian.com/software/jira/docs/api/7.6.1/

项目(Project)

  Project是一组问题单(Issue)的集合,每个项目需要有一个名称与关键字,如软件需求变更跟踪库 与 SWCHANGETASK。

  • jira.projects(): 查看所有项目列表
  • jira.project("项目的Key"): 查看单个项目

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

  • key: 项目的Key
  • name: 项目名称
  • description: 项目描述
  • lead: 项目负责人
  • projectCategory: 项目分类
  • components: 项目组件
  • versions: 项目中的版本
  • raw: 项目的原始API数据

问题(Issue)

Issue是Jira的核心,Jira中的任务,用户Story,Bug实质上都是一个Issue。

单个问题对象可以通过jira.issue("问题的Key")得到,问题的主要属性和方法如下:

  • id: 问题的id
  • key: 问题的Key
  • permalink(): 获取问题连接
  • fields: 问题的描述,创建时间等所有的配置域
  • raw: 问题的原始API数据

配置域(Fields)

一般问题的ields中的属性分为固定属性和自定义属性,自定义属性格式一般为类似customfield_10012这种。常用的问题的Fields有:

  • assignee:经办人
  • created: 创建时间
  • creator: 创建人
  • labels: 标签
  • priorit: 优先级
  • progress:
  • project: 所示项目
  • reporter: 报告人
  • status: 状态
  • summary: 问题描述
  • worklog: 活动日志
  • updated: 更新时间
  • watches: 关注者
  • comments: 评论
  • resolution: 解决方案
  • subtasks: 子任务
  • issuelinks: 连接问题
  • lastViewed: 最近查看时间
  • attachment
 

关注者/评论/附件

  • jira.watchers(): 问题的关注者
  • jira.add_watcher(): 添加关注者
  • jira.remove_watcher(): 移除关注者
  • jira.comments(): 问题的所有评论
  • jira.comment(): 某条评论
  • jira.add_comment():添加评论
  • comment.update()/delete(): 更新/删除评论
  • jira.add_attachment(): 添加附件
issue = jira.issue('JRA-1330')

print(jiaa.watchers(issue)) # 所有关注者
jira.add_watcher(issue, 'username') # 添加关注者 print(jira.comments(issue)) # 所有评论
comment = jira.comment(issue, '10234') # 某条评论
jira.add_comment(issue, 'new comment') # 新增评论
comment.update(body='update comment') # 更新评论
comment.delete() # 删除该评论 print(issue.fields.attachment) # 问题附件
jira.add_attachment(issue=issue, attachment='/some/path/attachment.txt') # 添加附件
 
 

创建/分配/转换问题

  • jira.create_issue(): 创建问题
  • jira.create_issues(): 批量创建问题
  • jira.assign_issue(): 分配问题
  • jira.transitions(): 获取问题的工作流
  • jira.transition_issue(): 转换问题

示例如下:

# 创建问题
issue_dict = {
'project': {'id': 123},
'summary': 'New issue from jira-python',
'description': 'Look into this one',
'issuetype': {'name': 'Bug'},
}
new_issue = jira.create_issue(fields=issue_dict) # 批量创建问题
issue_list = [
{
'project': {'id': 123},
'summary': 'First issue of many',
'description': 'Look into this one',
'issuetype': {'name': 'Bug'},
},
{
'project': {'key': 'FOO'},
'summary': 'Second issue',
'description': 'Another one',
'issuetype': {'name': 'Bug'},
},
{
'project': {'name': 'Bar'},
'summary': 'Last issue',
'description': 'Final issue of batch.',
'issuetype': {'name': 'Bug'},
}]
issues = jira.create_issues(field_list=issue_list) # 分配问题
jira.assign_issue(issue, 'newassignee') # 转换问题
jira.transition_issue(issue, '5', assignee={'name': 'pm_user'}, resolution={'id': '3'})
 

最新文章

  1. C# I/O
  2. SharePoint 2013 WebPart 管理工具分享[开源]
  3. Uri.AbsoluteUri 与 Uri.ToString() 的区别
  4. uiautomator日志文件转换为xml格式文件
  5. HDU1010(bfs)
  6. Spring 中的注解
  7. 最新Hadoop Shell完全讲解
  8. SQL Server Profiler的使用
  9. NOIP2017划水记
  10. ●HDU 2871 Memory Control(Splay)
  11. Springboot添加filter方法
  12. android颜色color.xml设置
  13. 杭电ACM2008--数值统计
  14. <Android基础>(三) UI开发 Part 3 RecyclerView
  15. 跟随我在oracle学习php(17)
  16. TDD:什么是桩(stub)和模拟(mock)?
  17. 使用rdbtools工具来解析redis rdb文件
  18. 饮冰三年-人工智能-linux-06 系统启动流程及安全
  19. java框架之SpringBoot(12)-消息及整合RabbitMQ
  20. SQL代码整理

热门文章

  1. React报错之React Hook 'useEffect' is called in function
  2. Codeforces 1503C Travelling Salesman Problem(Dynamic Programming)
  3. CF1204E Natasha, Sasha and the Prefix Sums (卡塔兰数推理)
  4. HTML初学者小知识
  5. 第五十八篇:webpack的Source Map
  6. 创建一个 autocomplete 输入系统 - 前端 + 后端
  7. Elasticsearch中text与keyword的区别
  8. 从nuxt开始的SEO之路
  9. 2022IDEA破解
  10. 中小制造企业需要ERP和MES吗?