# coding:utf-8
import jira
# Jira參數設置
Jiras = {
'url':"http://192.168.15.150:8800", # jira地址
'username':"qiujunjie", # 登錄賬號
'password':"123456", # 登錄密碼
}
myjira = jira.JIRA(Jiras['url'],basic_auth=(Jiras['username'],Jiras['password'])) # 創建jira鏈接
# 根據項目id獲取指定的項目
# p = myjira.project(10003)
# print(p)
# 遍歷所有的項目
# for p in myjira.projects():
# print(p,p.id)
# 獲取指定項目下的版本
# print(myjira.project(10003).versions)
# for ver in myjira.project(10003).versions:
# print(ver)
# 根據條件篩選jira問題(篩選條件就是jira上的高級篩選條件) 注意:這種篩選方式默認最大條數為50,需要加上參數 maxResults=1000
# for issues in myjira.search_issues("status = Resolved AND assignee in (gongshijie) order by created DESC"):
# print(issues)
# 根據名字獲取指定jira問題
# myissues = myjira.issue("KOF-38903")
# 獲取jira單子的屬性
# 更加具體的屬性可以通過jira的api查詢:http://192.168.15.150:8080/rest/api/2/issue/KOF-38935
# 注意:以下的屬性有部分是字符串,但有部分是對象,還可以深入一層獲取詳細的信息
# print(myissues.id) # 缺陷ID
# print(myissues.fields.issuetype) # 類型
# print(myissues.fields.issuetype.avatarId) # 類型ID
# print(myissues.fields.project) # 項目
# print(myissues.fields.fixVersions) # 解決版本
# print(myissues.fields.resolution) # 解決結果
# print(myissues.fields.resolutiondate) # 解決時間
# print(myissues.fields.lastViewed) # 最后查看時間
# print(myissues.fields.created) # 創建日期
# print(myissues.fields.priority) # 優先級
# print(myissues.fields.customfield_10300) # 任務分類(自定義字段)
# print(myissues.fields.versions) # 影響版本
# print(myissues.fields.assignee) # 經辦人
# print(myissues.fields.updated) # 修改日期
# print(myissues.fields.status) # 狀態
# print(myissues.fields.components) # 所屬模塊
# print(myissues.fields.description) # 描述
# print(myissues.fields.customfield_10601) # 需要各組支持(自定義字段)
# print(myissues.fields.attachment) # 附件信息
# print(myissues.fields.customfield_10009) # 測試人員(自定義字段)
# print(myissues.fields.summary) # 主題
# print(myissues.fields.creator) # 創建人
# print(myissues.fields.reporter) # 報告人
# print(myissues.fields.comment.comments) # 評論
# 修改jira單子
# myissues.update(assignee={'name':'lidanfeng'}) # 修改經辦人
# myissues.update(customfield_10009={'name':'lidanfeng'}) # 修改測試人員,只能修改,不能新增(如果該單子本來沒有測試人員,該方法不能用)
# 關注人
print(myjira.watchers("KOF-26738").watchers) # 查看關注人
myjira.add_watcher("KOF-26738","qiujunjie") # 添加關注人
myissues.fields.watches.delete("qiujunjie") # 刪除關注人
# 獲取jira用戶
# print(type(myjira.current_user()))
# print(type(myjira.user(myjira.current_user())))
# print(myjira.current_user()) # 獲取當前用戶名字(字符串)
# print(myjira.user(myjira.current_user())) # 獲取當前用戶對象(class)
# print(myjira.user("qiujunjie")) # 獲取指定用戶對象(class)
# 審核jira任務
# transitions = myjira.transitions(myissues)
# for x in transitions:
# print(x["id"],x["name"]) # 找到審核操作的id
# myjira.transitions_issue(myissues, 審核操作id, fixVersions=[{'name':' 某某某版本'}])