"""Download sentry data. usage: python download_sentry_data.py / """ import requests import csv import sys if __name__ == '__main__': with open('data.csv', 'w', encoding='utf-8') as csvfile: fieldnames = ['culprit', 'count', 'lastSeen', 'logger'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames, extrasaction='ignore') writer.writeheader() url = 'https://app.getsentry.com/api/0/projects/{0}/issues/'.format(sys.argv[1]) while True: response = requests.get( url, headers={'Authorization': 'Bearer {TOKEN}'.format(TOKEN=sys.argv[2])} ) data = response.json() for event in data: # tags = {item['key']: item['value'] for item in event['tags']} writer.writerow(dict(event)) link = response.headers.get('Link') print("Last event date: {0}".format(data[-1]['lastSeen'])) if link and '"next"' in link: print("Getting next page...") url = link.split()[4][1:-2] else: break