Python用Jira庫(kù)來(lái)操作Jira
Jira簡(jiǎn)介
Jira是一款功能非常強(qiáng)大的管理工具,廣泛的用來(lái) 缺陷跟蹤、用例管理、需求收集、任務(wù)跟蹤、工時(shí)管理、項(xiàng)目計(jì)劃管理等工作領(lǐng)域。所以使用這款產(chǎn)品的公司很多,這篇博客講述在執(zhí)行自動(dòng)化測(cè)試用例過(guò)程中,將失敗的用例自動(dòng)在jira系統(tǒng)記錄bug。
提供了完善的RESTful API,如果不想直接請(qǐng)求API接口可以使用Python的Jira庫(kù)來(lái)操作Jira。
一、安裝
# 安裝第三方j(luò)ira庫(kù) pip install jira
二、認(rèn)證
官網(wǎng)提供了4種認(rèn)證方式:
- Cookie Based Authentication(用戶名、密碼)
- HTTP BASIC(用戶名、密碼)
- OAuth
- Kerberos
我們選取一種認(rèn)證方式即可,下文以HTTP BASIC為例:
# jira訪問(wèn)地址
server = 'http://jira.xxx.com.cn'
# 用戶名密碼以元祖的方式傳遞。uesrname、passwd填寫(xiě)真實(shí)的賬號(hào)密碼
jiraClinet = JIRA(server=server, basic_auth=('username', 'passwd'))
三、創(chuàng)建issue
create_issue() 單個(gè)創(chuàng)建issue,傳入?yún)?shù)是字典
create_issues() 批量創(chuàng)建issues,傳入?yún)?shù)是列表
# 創(chuàng)建單個(gè)issue
issue_dict = {
# key 是項(xiàng)目空間的關(guān)鍵字,將issue記錄到此空間
'project': {'key': 'TOC'},
'issuetype': {'name': 'Bug'},
'summary': '測(cè)試自動(dòng)提交',
'description': '描述',
'reporter': {'name': '007'},
'assignee': {'name': '008'},
# 'priority': {'id': 3},
# 'customfield_10403':{'value':'研發(fā)中心'},
# 'customfield_11349':{'value':'業(yè)務(wù)需求'}
}
# 返回 issueId
jiraClinet.create_issue(issue_dict)
#批量創(chuàng)建issues
issue_list = [{
'project': {'key': 'TOC'},
'issuetype': {'name': 'Bug'},
'summary': '測(cè)試自動(dòng)提交01',
'description': '描述01',
'reporter': {'name': '007'},
'assignee': {'name': '008'},
},
{
'project': {'key': 'TOC'},
'issuetype': {'name': 'Bug'},
'summary': '測(cè)試自動(dòng)提交02',
'description': '描述02',
'reporter': {'name': '007'},
'assignee': {'name': '008'}
}]
# 返回 issue 列表
jiraClinet.create_issues(issue_list)
四、常用方法
JIRA類提供了很多方法,這里介紹幾個(gè)常用的
1)查詢 project
# 獲取所有項(xiàng)目空間列表
jiraClinet.projects()
# 獲取單個(gè)項(xiàng)目空間。參數(shù)為項(xiàng)目空間 id或key
# project = jiraClinet.project(100)
project = jiraClinet.project('xxx')
# 項(xiàng)目的 key
project.key
# 項(xiàng)目空間的 name
project.name
# 項(xiàng)目空間 description
project.description
# 項(xiàng)目空間 lead
project.lead
2)查詢 issue
# 查詢issue信息,傳入?yún)?shù)issueId
issue = jiraClinet.issue('xxx-679')
# 問(wèn)題的 key
issue.key
# 問(wèn)題的 id
issue.id
# 問(wèn)題的配置域
issue.fields
# 問(wèn)題標(biāo)題描述
issue.fields.summary
# 問(wèn)題詳細(xì)描述
issue.fields.description
# 問(wèn)題的類型
issue.fields.issuetype
#問(wèn)題報(bào)告者
issue.fields.reporter
3)使用“JQL語(yǔ)句”查詢
# search_issues() 傳參是 jira 里的JQL語(yǔ)句,返回一個(gè) issue 列表
issue_list = jiraClinet.search_issues('JQL語(yǔ)句')
for issue in issue_list:
# 打印每個(gè) issue 的 key
print(issue.key)
以上就是Python用Jira庫(kù)來(lái)操作Jira的詳細(xì)內(nèi)容,更多關(guān)于python 操作Jira的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django中利用filter與simple_tag為前端自定義函數(shù)的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了Django中利用filter與simple_tag為前端自定義函數(shù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
jupyter notebook保存文件默認(rèn)路徑更改方法匯總(親測(cè)可以)
安裝Anaconda后,新建文件的默認(rèn)存儲(chǔ)路徑一般在C系統(tǒng)盤(pán),那么路徑是什么呢?如何更改jupyter notebook保存文件默認(rèn)路徑呢?今天小編就這一問(wèn)題通過(guò)兩種方法給大家講解,需要的朋友跟隨小編一起看看吧2021-06-06
keras中epoch,batch,loss,val_loss用法說(shuō)明
這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
python 實(shí)現(xiàn)判斷ip連通性的方法總結(jié)
下面小編就為大家分享一篇python 實(shí)現(xiàn)判斷ip連通性的方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python解決“ImportError:?Couldn‘t?import?Django”問(wèn)題全攻略
本文主要介紹了Python解決“ImportError:?Couldn‘t?import?Django”問(wèn)題全攻略,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
Python基于紋理背景和聚類算法實(shí)現(xiàn)圖像分割詳解
這篇文章將詳細(xì)講解Python圖和基于紋理背景的圖像分割和聚類算法實(shí)現(xiàn)圖像分割效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-01-01
python線程池threadpool實(shí)現(xiàn)篇
這篇文章主要為大家詳細(xì)介紹了python線程池threadpool的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
python pandas dataframe如何獲取除了指定列以外的所有列
這篇文章主要介紹了python pandas dataframe如何獲取除了指定列以外的所有列問(wèn)題,具有很好的參考價(jià)值,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09

