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)文章
Python文件與文件夾常見(jiàn)基本操作總結(jié)
這篇文章主要介紹了Python文件與文件夾常見(jiàn)基本操作,結(jié)合實(shí)例形式總結(jié)分析了Python針對(duì)文件與文件夾操作所涉及的常見(jiàn)函數(shù)與方法的使用技巧,需要的朋友可以參考下2016-09-09Python報(bào)錯(cuò):TypeError:?‘xxx‘?object?is?not?subscriptable解決
這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò):TypeError:?‘xxx‘?object?is?not?subscriptable的解決辦法,TypeError是Python中的一種錯(cuò)誤,表示操作或函數(shù)應(yīng)用于不合適類型的對(duì)象時(shí)發(fā)生,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08Python二叉樹(shù)定義與遍歷方法實(shí)例分析
這篇文章主要介紹了Python二叉樹(shù)定義與遍歷方法,結(jié)合實(shí)例形式分析了二叉樹(shù)的概念、原理及Python定義、遍歷二叉樹(shù)相關(guān)操作技巧,需要的朋友可以參考下2018-05-05淺談Python數(shù)學(xué)建模之固定費(fèi)用問(wèn)題
本文主要介紹了Python固定費(fèi)用問(wèn)題的建模與求解。學(xué)習(xí) PuLP工具包中處理復(fù)雜問(wèn)題的快捷使用方式2021-06-06PyTorch之nn.ReLU與F.ReLU的區(qū)別介紹
這篇文章主要介紹了PyTorch之nn.ReLU與F.ReLU的區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python numpy中的polyfit函數(shù)用法
這篇文章主要介紹了python numpy中的polyfit函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04基于Python實(shí)現(xiàn)超級(jí)瑪麗游戲的示例代碼
這篇文章主要介紹了利用python實(shí)現(xiàn)超級(jí)瑪麗游戲的示例代碼,幫助大家更好的理解和使用python開(kāi)發(fā)游戲,感興趣的朋友可以跟隨小編一起學(xué)習(xí)一下2022-05-05Python實(shí)現(xiàn)兩個(gè)list對(duì)應(yīng)元素相減操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)兩個(gè)list對(duì)應(yīng)元素相減操作,結(jié)合具體實(shí)例形式分析了list對(duì)應(yīng)元素操作的簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-06-06