Skip to content

Instantly share code, notes, and snippets.

@vladox
Forked from bubenkoff/download_sentry_data.py
Last active April 13, 2024 01:00
Show Gist options
  • Select an option

  • Save vladox/f401db999c5efdf2f25d38683fde2813 to your computer and use it in GitHub Desktop.

Select an option

Save vladox/f401db999c5efdf2f25d38683fde2813 to your computer and use it in GitHub Desktop.

Revisions

  1. vladox revised this gist Jul 4, 2019. 1 changed file with 9 additions and 9 deletions.
    18 changes: 9 additions & 9 deletions download_sentry_data.py
    Original file line number Diff line number Diff line change
    @@ -1,31 +1,31 @@
    """Download sentry data.
    usage:
    python download_sentry_data.py <org>/<project> <api_key>
    """
    import requests
    import csv
    import sys


    if __name__ == '__main__':
    with open('data.csv', 'w', encoding='utf-8') as csvfile:
    fieldnames = ['dateCreated', 'device', 'environment', 'os', 'url', 'message']
    fieldnames = ['culprit', 'count', 'lastSeen', 'logger']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames, extrasaction='ignore')
    writer.writeheader()
    url = 'https://app.getsentry.com/api/0/projects/{0}/events/'.format(sys.argv[1])
    url = 'https://app.getsentry.com/api/0/projects/{0}/issues/'.format(sys.argv[1])
    while True:
    response = requests.get(
    url,
    auth=(sys.argv[2], ''))
    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, **tags))
    # 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]['dateCreated']))
    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
    break
  2. @bubenkoff bubenkoff created this gist Apr 22, 2016.
    31 changes: 31 additions & 0 deletions download_sentry_data.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    """Download sentry data.
    usage:
    python download_sentry_data.py <org>/<project> <api_key>
    """
    import requests
    import csv


    if __name__ == '__main__':
    with open('data.csv', 'w', encoding='utf-8') as csvfile:
    fieldnames = ['dateCreated', 'device', 'environment', 'os', 'url', 'message']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames, extrasaction='ignore')
    writer.writeheader()
    url = 'https://app.getsentry.com/api/0/projects/{0}/events/'.format(sys.argv[1])
    while True:
    response = requests.get(
    url,
    auth=(sys.argv[2], ''))
    data = response.json()
    for event in data:
    tags = {item['key']: item['value'] for item in event['tags']}
    writer.writerow(dict(event, **tags))
    link = response.headers.get('Link')
    print("Last event date: {0}".format(data[-1]['dateCreated']))
    if link and '"next"' in link:
    print("Getting next page...")
    url = link.split()[4][1:-2]
    else:
    break