搜索功能
Jira的搜索功能非常強大,有專用的搜索語言JQL(Jira Query Language)。Jira的Python庫是基於JQL語法搜索的,返回的是搜索到的問題列表。
jira.search_issues('JQL語句')
jira.search_issues('project=haha and assignee=haha',maxResults=-1)
默認最大結果數是1000,可以通過配置maxResults為-1取消數量限制,返回所有的結果。
例:查詢 庫'HW'中 2021-06-03日 所有的resolved的問題
# 注意日期是左閉右開,下面的意思是[06-03,06-04)
jql = 'project = "HW" and (resolved >"2021-06-03" and resolved < "2021-06-24")'
官方參考如下:
https://confluence.atlassian.com/jirasoftwarecloud/advanced-searching-764478330.html
https://confluence.atlassian.com/jirasoftwarecloud/advanced-searching-fields-reference-764478339.html
在使用過程中,可以先在網頁上的JIRA搜索功能中試用JQL語言,當搜索出的結果符合要求時再在代碼中使用。
與直接查詢jira備份數據庫的區別
使用場景不同:
jira的JQL只能查詢該問題的當前狀態,對之前的操作過程沒有記錄;
數據庫中則有所有的記錄,在需要對中間過程進行記錄時,需要使用備份數據庫;
jira 備份庫
jiradb中有許多表,其基本的意義如下:
jiraissue表:問題表,所有的問題都可以在此處找到;
changegroup表:每次更新都會有一個此表,每條changegroup可以在changeitem表中對應多條changeitem
changeitem表:將changegroup細化,如在關閉問題時,看似只有一個changegroup,實際有多個子操作如狀態改變,description添加等等,這些細化后的即為一個個的changeitem
issuestatus:問題狀態表,常見的有 Open/Resolved/Closed等