您好,登錄后才能下訂單哦!
這篇文章主要講解了Python如何操作Jira庫,內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
Jira提供了完善的RESTful API,如果不想直接請求API接口可以使用Python的Jira庫來操作Jira
Jira Python文檔
安裝方法
pip install jira
認證
Jira的訪問是有權(quán)限的,在訪問Jira項目時首先要進行認證,Jira Python庫提供了3種認證方式:
認證方式只需要選擇一種即可,以下代碼為使用Cookies方式認證。
form jira import JIRA
jira = JIRA('http://jira.***.com/', auth=('用戶名', '登錄密碼')
返回的jira對象便可以對Jira進行操作。主要的操作包括:
項目(Project)
jira.projects(): 查看所有項目列表
jira.project("項目的Key"): 查看單個項目
項目對象的主要屬性及方法如下:
示例
print(jira.projects()) # 打印所有你有權(quán)限訪問的項目列表
project = jira.project('某個項目的Key')
print(project.key, project.name, project.lead)
問題(Issue)
Issue是Jira的核心,Jira中的任務,用戶Story,Bug實質(zhì)上都是一個Issue。
單個問題對象可以通過jira.issue("問題的Key")得到,問題的主要屬性和方法如下:
配置域(Fields)
一般問題的ields中的屬性分為固定屬性和自定義屬性,自定義屬性格式一般為類似customfield_10012這種。常用的問題的Fields有:
示例如下:
issue = jira.issue('JRA-1330')
print(issue.key, issue.fields.summary, issue.fields.status)
關注者/評論/附件
示例如下:
issue = jira.issue('JRA-1330') print(jiaa.watchers(issue)) # 所有關注者 jira.add_watcher(issue, 'username') # 添加關注者 print(jira.comments(issue)) # 所有評論 comment = jira.comment(issue, '10234') # 某條評論 jira.add_comment(issue, 'new comment') # 新增評論 comment.update(body='update comment') # 更新評論 comment.delete() # 刪除該評論 print(issue.fields.attachment) # 問題附件 jira.add_attachment(issue=issue, attachment='/some/path/attachment.txt') # 添加附件
創(chuàng)建/分配/轉(zhuǎn)換問題
示例如下:
# 創(chuàng)建問題 issue_dict = { 'project': {'id': 123}, 'summary': 'New issue from jira-python', 'description': 'Look into this one', 'issuetype': {'name': 'Bug'}, } new_issue = jira.create_issue(fields=issue_dict) # 批量創(chuàng)建問題 issue_list = [ { 'project': {'id': 123}, 'summary': 'First issue of many', 'description': 'Look into this one', 'issuetype': {'name': 'Bug'}, }, { 'project': {'key': 'FOO'}, 'summary': 'Second issue', 'description': 'Another one', 'issuetype': {'name': 'Bug'}, }, { 'project': {'name': 'Bar'}, 'summary': 'Last issue', 'description': 'Final issue of batch.', 'issuetype': {'name': 'Bug'}, }] issues = jira.create_issues(field_list=issue_list) # 分配問題 jira.assign_issue(issue, 'newassignee') # 轉(zhuǎn)換問題 jira.transition_issue(issue, '5', assignee={'name': 'pm_user'}, resolution={'id': '3'})
搜索
Jira的搜索非常強大,并配有一套專門的搜索語言,稱為JQL(Jira Query Language),Jira的Python庫便是基于JQL語法進行搜索的,返回的是搜索到的問題列表。
使用語句為
jira.search_issues('JQL語句')
默認最大結(jié)果數(shù)未1000,可以通過maxResults參數(shù)配置,該參數(shù)為-1時不限制數(shù)量,返回所有搜索結(jié)果。
jira.search_issues('project=PROJ and assignee = currentUser()', maxResults=-1)
看完上述內(nèi)容,是不是對Python如何操作Jira庫有進一步的了解,如果還想學習更多內(nèi)容,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。