python操作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

 

1)查詢 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 列表。startAT 表示從第幾個開始返回,maxResults=False 是返回所有issues,默認是50。startAT 和 maxResults 可以實現分頁查詢效果。
issue_list = jiraClinet.search_issues('JQL語句',startAT=0,maxResults=False)

for issue in issue_list:
    # 打印每個 issue 的 key
    print(issue.key)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM