Export result to XLSX via servlet endpoint


Python 3 code using requests library

#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import base64 JIRA_URL = "http://localhost:2990/jira/plugins/servlet/jirauserexport/admin/xlsx" BASIC_AUTH = "Basic " + base64.b64encode(b"admin:admin").decode("utf-8") HEADERS = {"Content-type": "application/x-www-form-urlencoded", "Authorization": BASIC_AUTH} FILE_NAME = "jira-users.xlsx" def call_export_endpoint(url, payload, headers): r = requests.post(url=url, data=payload, headers=headers) print("Response status code: " + str(r.status_code)) return r._content def write_to_file(file_data, file_name): with open(file_name, 'w') as file: file.write(file_data.decode("utf-8")) print("File " + file_name + " was written to disk!") if __name__ == "__main__": body = { "userexport_searchstring": "admin", "userexport_activeUsers": True, "userexport_inactiveUsers": True, "userexport_download": True, "userexport_group": "", "userexport_application": ""} final_result = call_export_endpoint(url=JIRA_URL, payload=body, headers=HEADERS) write_to_file(file_data=final_result, file_name=FILE_NAME)

cURL example

cURL example
# Call XLSX export curl -vk -u admin:admin -H "Content-Type: application/x-www-form-urlencoded" \ "http://localhost:2990/jira/plugins/servlet/jirauserexport/admin/xlsx" \ -d "userexport_searchstring=&userexport_activeUsers=true&userexport_inactiveUsers=true" >> jira-users.xlsx