Skip to content

Commit a4cc772

Browse files
author
Gonchik Tsymzhitov
committed
Jira: Add more methods to export the jira tickets
1 parent c41de84 commit a4cc772

File tree

1 file changed

+69
-2
lines changed

1 file changed

+69
-2
lines changed

atlassian/jira.py

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2164,17 +2164,25 @@ def jql(self, jql, fields="*all", start=0, limit=None, expand=None):
21642164
params["expand"] = expand
21652165
return self.get("rest/api/2/search", params=params)
21662166

2167-
def csv(self, jql, limit=1000, all_fields=True):
2167+
def csv(self, jql, limit=1000, all_fields=True, start=None, delimiter=None):
21682168
"""
21692169
Get issues from jql search result with ALL or CURRENT fields
21702170
default will be to return all fields
21712171
:param jql: JQL query
21722172
:param limit: max results in the output file
21732173
:param all_fields: To return all fields or current fields only
2174+
:param start: index value
2175+
:param delimiter:
21742176
:return: CSV file
21752177
"""
21762178

2177-
params = {"tempMax": limit, "jqlQuery": jql}
2179+
params = {"jqlQuery": jql}
2180+
if limit:
2181+
params["tempMax"] = limit
2182+
if start:
2183+
params["pager/start"] = start
2184+
if delimiter:
2185+
params["delimiter"] = delimiter
21782186
# fmt: off
21792187
if all_fields:
21802188
url = "sr/jira.issueviews:searchrequest-csv-all-fields/temp/SearchRequest.csv"
@@ -2188,6 +2196,65 @@ def csv(self, jql, limit=1000, all_fields=True):
21882196
headers={"Accept": "application/csv"},
21892197
)
21902198

2199+
def excel(self, jql, limit=1000, all_fields=True, start=None):
2200+
"""
2201+
Get issues from jql search result with ALL or CURRENT fields
2202+
default will be to return all fields
2203+
:param jql: JQL query
2204+
:param limit: max results in the output file
2205+
:param all_fields: To return all fields or current fields only
2206+
:param start: index value
2207+
:param delimiter:
2208+
:return: CSV file
2209+
"""
2210+
2211+
params = {"jqlQuery": jql}
2212+
if limit:
2213+
params["tempMax"] = limit
2214+
if start:
2215+
params["pager/start"] = start
2216+
# fmt: off
2217+
if all_fields:
2218+
url = "sr/jira.issueviews:searchrequest-excel-all-fields/temp/SearchRequest.xls"
2219+
else:
2220+
url = "sr/jira.issueviews:searchrequest-excel-current-fields/temp/SearchRequest.xls"
2221+
# fmt: on
2222+
return self.get(
2223+
url,
2224+
params=params,
2225+
not_json_response=True,
2226+
headers={"Accept": "application/vnd.ms-excel"},
2227+
)
2228+
2229+
def export_html(self, jql, limit=None, all_fields=True, start=None):
2230+
"""
2231+
Get issues from jql search result with ALL or CURRENT fields
2232+
default will be to return all fields
2233+
:param jql: JQL query
2234+
:param limit: max results in the output file
2235+
:param all_fields: To return all fields or current fields only
2236+
:param start: index value
2237+
:return: HTML file
2238+
"""
2239+
2240+
params = {"jqlQuery": jql}
2241+
if limit:
2242+
params["tempMax"] = limit
2243+
if start:
2244+
params["pager/start"] = start
2245+
# fmt: off
2246+
if all_fields:
2247+
url = "sr/jira.issueviews:searchrequest-html-all-fields/temp/SearchRequest.html"
2248+
else:
2249+
url = "sr/jira.issueviews:searchrequest-html-current-fields/temp/SearchRequest.html"
2250+
# fmt: on
2251+
return self.get(
2252+
url,
2253+
params=params,
2254+
not_json_response=True,
2255+
headers={"Accept": "application/xhtml+xml"},
2256+
)
2257+
21912258
def get_all_priorities(self):
21922259
"""
21932260
Returns a list of all priorities.

0 commit comments

Comments
 (0)