中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何操作Jira庫

發布時間:2020-08-04 14:05:42 來源:億速云 閱讀:169 作者:小豬 欄目:開發技術

這篇文章主要講解了Python如何操作Jira庫,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

Jira提供了完善的RESTful API,如果不想直接請求API接口可以使用Python的Jira庫來操作Jira

Jira Python文檔

安裝方法

pip install jira

認證

Jira的訪問是有權限的,在訪問Jira項目時首先要進行認證,Jira Python庫提供了3種認證方式:

  • 通過Cookis方式認證(用戶名,密碼)
  • 通過Basic Auth方式認證(用戶名,密碼)
  • 通過OAuth方式認證
     

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

form jira import JIRA

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

返回的jira對象便可以對Jira進行操作。主要的操作包括:

  • 項目
  • 問題
  • 搜索
  • 關注者
  • 評論
  • 附件
     

項目(Project)

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

jira.project("項目的Key"): 查看單個項目

項目對象的主要屬性及方法如下:

  • key: 項目的Key
  • name: 項目名稱
  • description: 項目描述
  • lead: 項目負責人
  • projectCategory: 項目分類
  • components: 項目組件
  • versions: 項目中的版本
  • raw: 項目的原始API數據
     

示例

print(jira.projects()) # 打印所有你有權限訪問的項目列表

project = jira.project('某個項目的Key')

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

問題(Issue)

Issue是Jira的核心,Jira中的任務,用戶Story,Bug實質上都是一個Issue。

單個問題對象可以通過jira.issue("問題的Key")得到,問題的主要屬性和方法如下:

  • id: 問題的id
  • key: 問題的Key
  • permalink(): 獲取問題連接
  • fields: 問題的描述,創建時間等所有的配置域
  • raw: 問題的原始API數據
     

配置域(Fields)

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

  • assignee:經辦人
  • created: 創建時間
  • creator: 創建人
  • labels: 標簽
  • priorit: 優先級
  • progress:
  • project: 所示項目
  • reporter: 報告人
  • status: 狀態
  • summary: 問題描述
  • worklog: 活動日志
  • updated: 更新時間
  • watches: 關注者
  • comments: 評論
  • resolution: 解決方案
  • subtasks: 子任務
  • issuelinks: 連接問題
  • lastViewed: 最近查看時間
  • attachment
     

示例如下:

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

關注者/評論/附件

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

示例如下:

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') # 添加附件

創建/分配/轉換問題

  • jira.create_issue(): 創建問題
  • jira.create_issues(): 批量創建問題
  • jira.assign_issue(): 分配問題
  • jira.transitions(): 獲取問題的工作流
  • jira.transition_issue(): 轉換問題
     

示例如下:

# 創建問題
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)

# 批量創建問題
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')

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

搜索

Jira的搜索非常強大,并配有一套專門的搜索語言,稱為JQL(Jira Query Language),Jira的Python庫便是基于JQL語法進行搜索的,返回的是搜索到的問題列表。
使用語句為

jira.search_issues('JQL語句')

默認最大結果數未1000,可以通過maxResults參數配置,該參數為-1時不限制數量,返回所有搜索結果。

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

看完上述內容,是不是對Python如何操作Jira庫有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桂林市| 临泽县| 梅河口市| 沽源县| 泗阳县| 金山区| 象山县| 沛县| 合肥市| 五莲县| 巧家县| 屏东县| 五华县| 兴国县| 合川市| 吕梁市| 榆林市| 老河口市| 繁昌县| 泰安市| 远安县| 莎车县| 商城县| 万州区| 屏东市| 曲阳县| 上林县| 塔城市| 新密市| 长沙市| 余干县| 武定县| 许昌县| 土默特左旗| 甘泉县| 洱源县| 施秉县| 桂东县| 克什克腾旗| 晋城| 江安县|