简介:
Jira是目前比较流行的基于Java架构的管理系统(Atlassian公司支持),有开源代码,方便做二次开发(可扩展性)。Jira是一款功能非常强大的管理工具,广泛的用来 缺陷跟踪、用例管理、需求收集、任务跟踪、工时管理、项目计划管理等工作领域。
python有支持操作Jira的第三方包,方便自定义一些自动化操作。
需要安装jira库:
pip install jira
Jira认证
from jira import JIRA
options = {'server': 'https://jira.xxxx.com'}
jira = JIRA(basic_auth=("username", "password"),options=options)
这种明文账号密码是不安全的,所以可以用另一种用API token的方式进行认证。
到https://id.atlassian.com/manage/api-tokens生成你的API token。
from jira import JIRA
options = {'server': 'https://jira.xxxx.com'}
jira = JIRA(basic_auth=("username", YOUR_API_TOKEN),options=options)
官方有更安全的方式,可见Basic auth for REST APIs
下面介绍本人在项目中通过python对jira的操控
项目结构总揽
1、 config.ini配置授权登录信息
[JIRA] url = https://acsjira.XXX.com/ user = account pass = password [DEFECT] project_key = jira project key project_id = project id project_name = project name issue_type_name = Defect [else] label = CyberSecurity planned_iteration = SAST ; standard version ;product/s = 74952 products = Cyber Security
2、db.py 操作本地数据库,保存jira 新上报的defect状态到本地,以及其它已上报,未上报,已关闭等defect信息
3、export.csv 导出新上报的defect 到本地csv文件,并发送邮件给相关人提醒
4、jira_operation.py 对jira基本操作,包括自动上报defect,查询defect状态,reopen缺陷,自动resolve,自动关闭缺陷,返回当前缺陷状态并记录等等
5、utils.py python操作csv文件,读写,保存等
6.main.py 主函数,接收来自jenkins构建后操作步骤下,post build task插件配置的脚本传参 ,判断是否上报过defect,没有就上报,保存为csv,关闭缺陷等
7.pipfile 使用python版本,jira版本配置