Python用Jira庫來操作Jira
Jira簡介
Jira是一款功能非常強大的管理工具,廣泛的用來 缺陷跟蹤、用例管理、需求收集、任務跟蹤、工時管理、項目計劃管理等工作領域。所以使用這款產品的公司很多,這篇博客講述在執行自動化測試用例過程中,將失敗的用例自動在jira系統記錄bug。
提供瞭完善的RESTful API,如果不想直接請求API接口可以使用Python的Jira庫來操作Jira。
官方文檔
一、安裝
# 安裝第三方jira庫 pip install jira
二、認證
官網提供瞭4種認證方式:
- Cookie Based Authentication(用戶名、密碼)
- HTTP BASIC(用戶名、密碼)
- OAuth
- Kerberos
我們選取一種認證方式即可,下文以HTTP BASIC為例:
# jira訪問地址 server = 'http://jira.xxx.com.cn' # 用戶名密碼以元祖的方式傳遞。uesrname、passwd填寫真實的賬號密碼 jiraClinet = JIRA(server=server, basic_auth=('username', 'passwd'))
三、創建issue
create_issue() 單個創建issue,傳入參數是字典
create_issues() 批量創建issues,傳入參數是列表
# 創建單個issue issue_dict = { # key 是項目空間的關鍵字,將issue記錄到此空間 'project': {'key': 'TOC'}, 'issuetype': {'name': 'Bug'}, 'summary': '測試自動提交', 'description': '描述', 'reporter': {'name': '007'}, 'assignee': {'name': '008'}, # 'priority': {'id': 3}, # 'customfield_10403':{'value':'研發中心'}, # 'customfield_11349':{'value':'業務需求'} } # 返回 issueId jiraClinet.create_issue(issue_dict) #批量創建issues issue_list = [{ 'project': {'key': 'TOC'}, 'issuetype': {'name': 'Bug'}, 'summary': '測試自動提交01', 'description': '描述01', 'reporter': {'name': '007'}, 'assignee': {'name': '008'}, }, { 'project': {'key': 'TOC'}, 'issuetype': {'name': 'Bug'}, 'summary': '測試自動提交02', 'description': '描述02', 'reporter': {'name': '007'}, 'assignee': {'name': '008'} }] # 返回 issue 列表 jiraClinet.create_issues(issue_list)
四、常用方法
JIRA類提供瞭很多方法,這裡介紹幾個常用的
1)查詢 project
# 獲取所有項目空間列表 jiraClinet.projects() # 獲取單個項目空間。參數為項目空間 id或key # project = jiraClinet.project(100) project = jiraClinet.project('xxx') # 項目的 key project.key # 項目空間的 name project.name # 項目空間 description project.description # 項目空間 lead project.lead
2)查詢 issue
# 查詢issue信息,傳入參數issueId issue = jiraClinet.issue('xxx-679') # 問題的 key issue.key # 問題的 id issue.id # 問題的配置域 issue.fields # 問題標題描述 issue.fields.summary # 問題詳細描述 issue.fields.description # 問題的類型 issue.fields.issuetype #問題報告者 issue.fields.reporter
3)使用“JQL語句”查詢
# search_issues() 傳參是 jira 裡的JQL語句,返回一個 issue 列表 issue_list = jiraClinet.search_issues('JQL語句') for issue in issue_list: # 打印每個 issue 的 key print(issue.key)
以上就是Python用Jira庫來操作Jira的詳細內容,更多關於python 操作Jira的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Python 統計Jira的bug 並發送郵件功能
- 利用Python統計Jira數據並可視化
- JPA配置方式+逆向工程映射到Entity實體類
- Python的類成員變量默認初始值的坑及解決
- Node.js中npx命令的使用方法及場景分析