欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python操作Jira庫(kù)常用方法解析

 更新時(shí)間:2020年04月10日 09:56:17   作者:臨淵  
這篇文章主要介紹了Python操作Jira庫(kù)常用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Jira提供了完善的RESTful API,如果不想直接請(qǐng)求API接口可以使用Python的Jira庫(kù)來(lái)操作Jira

Jira Python文檔

安裝方法

pip install jira

認(rèn)證

Jira的訪問(wèn)是有權(quán)限的,在訪問(wèn)Jira項(xiàng)目時(shí)首先要進(jìn)行認(rèn)證,Jira Python庫(kù)提供了3種認(rèn)證方式:

  • 通過(guò)Cookis方式認(rèn)證(用戶名,密碼)
  • 通過(guò)Basic Auth方式認(rèn)證(用戶名,密碼)
  • 通過(guò)OAuth方式認(rèn)證

認(rèn)證方式只需要選擇一種即可,以下代碼為使用Cookies方式認(rèn)證。

form jira import JIRA

jira = JIRA('http://jira.***.com/', auth=('用戶名', '登錄密碼')

返回的jira對(duì)象便可以對(duì)Jira進(jìn)行操作。主要的操作包括:

  • 項(xiàng)目
  • 問(wèn)題
  • 搜索
  • 關(guān)注者
  • 評(píng)論
  • 附件

項(xiàng)目(Project)

jira.projects(): 查看所有項(xiàng)目列表

jira.project("項(xiàng)目的Key"): 查看單個(gè)項(xiàng)目

項(xiàng)目對(duì)象的主要屬性及方法如下:

  • key: 項(xiàng)目的Key
  • name: 項(xiàng)目名稱
  • description: 項(xiàng)目描述
  • lead: 項(xiàng)目負(fù)責(zé)人
  • projectCategory: 項(xiàng)目分類
  • components: 項(xiàng)目組件
  • versions: 項(xiàng)目中的版本
  • raw: 項(xiàng)目的原始API數(shù)據(jù)

示例

print(jira.projects()) # 打印所有你有權(quán)限訪問(wèn)的項(xiàng)目列表

project = jira.project('某個(gè)項(xiàng)目的Key')

print(project.key, project.name, project.lead)

問(wèn)題(Issue)

Issue是Jira的核心,Jira中的任務(wù),用戶Story,Bug實(shí)質(zhì)上都是一個(gè)Issue。

單個(gè)問(wèn)題對(duì)象可以通過(guò)jira.issue("問(wèn)題的Key")得到,問(wèn)題的主要屬性和方法如下:

  • id: 問(wèn)題的id
  • key: 問(wèn)題的Key
  • permalink(): 獲取問(wèn)題連接
  • fields: 問(wèn)題的描述,創(chuàng)建時(shí)間等所有的配置域
  • raw: 問(wèn)題的原始API數(shù)據(jù)

配置域(Fields)

一般問(wèn)題的ields中的屬性分為固定屬性和自定義屬性,自定義屬性格式一般為類似customfield_10012這種。常用的問(wèn)題的Fields有:

  • assignee:經(jīng)辦人
  • created: 創(chuàng)建時(shí)間
  • creator: 創(chuàng)建人
  • labels: 標(biāo)簽
  • priorit: 優(yōu)先級(jí)
  • progress:
  • project: 所示項(xiàng)目
  • reporter: 報(bào)告人
  • status: 狀態(tài)
  • summary: 問(wèn)題描述
  • worklog: 活動(dòng)日志
  • updated: 更新時(shí)間
  • watches: 關(guān)注者
  • comments: 評(píng)論
  • resolution: 解決方案
  • subtasks: 子任務(wù)
  • issuelinks: 連接問(wèn)題
  • lastViewed: 最近查看時(shí)間
  • attachment

示例如下:

issue = jira.issue('JRA-1330')
print(issue.key, issue.fields.summary, issue.fields.status)

關(guān)注者/評(píng)論/附件

  • jira.watchers(): 問(wèn)題的關(guān)注者
  • jira.add_watcher(): 添加關(guān)注者
  • jira.remove_watcher(): 移除關(guān)注者
  • jira.comments(): 問(wèn)題的所有評(píng)論
  • jira.comment(): 某條評(píng)論
  • jira.add_comment():添加評(píng)論
  • comment.update()/delete(): 更新/刪除評(píng)論
  • jira.add_attachment(): 添加附件

示例如下:

issue = jira.issue('JRA-1330')

print(jiaa.watchers(issue)) # 所有關(guān)注者
jira.add_watcher(issue, 'username') # 添加關(guān)注者

print(jira.comments(issue)) # 所有評(píng)論
comment = jira.comment(issue, '10234') # 某條評(píng)論
jira.add_comment(issue, 'new comment') # 新增評(píng)論
comment.update(body='update comment') # 更新評(píng)論
comment.delete() # 刪除該評(píng)論

print(issue.fields.attachment) # 問(wèn)題附件
jira.add_attachment(issue=issue, attachment='/some/path/attachment.txt') # 添加附件

創(chuàng)建/分配/轉(zhuǎn)換問(wèn)題

  • jira.create_issue(): 創(chuàng)建問(wèn)題
  • jira.create_issues(): 批量創(chuàng)建問(wèn)題
  • jira.assign_issue(): 分配問(wèn)題
  • jira.transitions(): 獲取問(wèn)題的工作流
  • jira.transition_issue(): 轉(zhuǎn)換問(wèn)題

示例如下:

# 創(chuàng)建問(wèn)題
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)建問(wèn)題
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)

# 分配問(wèn)題
jira.assign_issue(issue, 'newassignee')

# 轉(zhuǎn)換問(wèn)題
jira.transition_issue(issue, '5', assignee={'name': 'pm_user'}, resolution={'id': '3'})

搜索

Jira的搜索非常強(qiáng)大,并配有一套專門的搜索語(yǔ)言,稱為JQL(Jira Query Language),Jira的Python庫(kù)便是基于JQL語(yǔ)法進(jìn)行搜索的,返回的是搜索到的問(wèn)題列表。
使用語(yǔ)句為

jira.search_issues('JQL語(yǔ)句')

默認(rèn)最大結(jié)果數(shù)未1000,可以通過(guò)maxResults參數(shù)配置,該參數(shù)為-1時(shí)不限制數(shù)量,返回所有搜索結(jié)果。

jira.search_issues('project=PROJ and assignee = currentUser()', maxResults=-1)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python拼接微信好友頭像大圖的實(shí)現(xiàn)方法

    Python拼接微信好友頭像大圖的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python拼接微信好友頭像大圖的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 在Python 2.7即將停止支持時(shí),我們?yōu)槟銕?lái)了一份python 3.x遷移指南

    在Python 2.7即將停止支持時(shí),我們?yōu)槟銕?lái)了一份python 3.x遷移指南

    這篇文章主要介紹了在Python 2.7即將停止支持時(shí)我們?yōu)槟銣?zhǔn)備了一份python 3.x遷移指南的相關(guān)資料,需要的朋友可以參考下
    2018-01-01
  • python名片管理系統(tǒng)開(kāi)發(fā)

    python名片管理系統(tǒng)開(kāi)發(fā)

    這篇文章主要為大家詳細(xì)介紹了python名片管理系統(tǒng)開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • python爬蟲selenium模塊詳解

    python爬蟲selenium模塊詳解

    這篇文章主要介紹了python爬蟲selenium模塊詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python字符串和正則表達(dá)式中的反斜杠(''\'')問(wèn)題詳解

    Python字符串和正則表達(dá)式中的反斜杠(''\'')問(wèn)題詳解

    在本篇文章里小編給大家整理的是關(guān)于Python字符串和正則表達(dá)式中的反斜杠('\')問(wèn)題以及相關(guān)知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • Python+Tkinter創(chuàng)建一個(gè)簡(jiǎn)單的鬧鐘程序

    Python+Tkinter創(chuàng)建一個(gè)簡(jiǎn)單的鬧鐘程序

    這篇文章主要為大家詳細(xì)介紹了如何使用 Python 的 Tkinter 庫(kù)創(chuàng)建一個(gè)簡(jiǎn)單的鬧鐘程序,它可以在指定的時(shí)間播放一個(gè)聲音來(lái)提醒你,感興趣的可以學(xué)習(xí)一下
    2023-04-04
  • 使Python代碼流暢無(wú)縫連接的鏈?zhǔn)秸{(diào)用技巧

    使Python代碼流暢無(wú)縫連接的鏈?zhǔn)秸{(diào)用技巧

    鏈?zhǔn)秸{(diào)用是一種編程風(fēng)格,它允許將多個(gè)方法調(diào)用連接在一起,形成一個(gè)連貫的操作鏈,在Python中,鏈?zhǔn)秸{(diào)用常常用于使代碼更簡(jiǎn)潔、易讀,尤其在處理數(shù)據(jù)處理和函數(shù)式編程中應(yīng)用廣泛
    2024-01-01
  • Python+Matplotlib繪制高亮顯示餅圖的示例代碼

    Python+Matplotlib繪制高亮顯示餅圖的示例代碼

    餅圖 (Pie Chart) 是一種圓形統(tǒng)計(jì)圖,被分割成片用于表示數(shù)值間的比例關(guān)系,本文為大家介紹了Matplotlib繪制高亮顯示的餅圖的函數(shù)源碼,需要的可以參考一下
    2023-06-06
  • OpenCV-Python 攝像頭實(shí)時(shí)檢測(cè)人臉代碼實(shí)例

    OpenCV-Python 攝像頭實(shí)時(shí)檢測(cè)人臉代碼實(shí)例

    這篇文章主要介紹了OpenCV-Python 攝像頭實(shí)時(shí)檢測(cè)人臉,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python實(shí)現(xiàn)E-Mail收集插件實(shí)例教程

    Python實(shí)現(xiàn)E-Mail收集插件實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)E-Mail收集插件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2019-02-02

最新評(píng)論