【问题标题】:How to submit user feedback using Sentry api in Python?如何在 Python 中使用 Sentry api 提交用户反馈?
【发布时间】:2020-10-06 14:58:26
【问题描述】:

我已经设置了 Sentry 并让它自动报告异常,但是我还没有设法让用户反馈提交工作。

python 脚本是基于 CLI 的,所以我希望用户能够直接在命令行窗口中输入错误信息,而不是生成网页并使用它,因为通过 CLI 在我的使用中更加无缝案例。

下面的代码是我尝试关注Sentry user feedback submission API Python documentation

bearer_auth_token 是通过遵循 Sentry auth API 文档获得的

简单代码示例:

organisation_slug = 'cooldev'
project_slug = 'python-app'
bearer_auth_token = 'dcb275d6aaa040e1818326bec567cb0d9c09343171c65451ab53e740fa450314'  # with scope project:write
dsn_link = 'https://8ef42a3641fa42d69fdf8e034732a3c5@o357469.ingest.sentry.io/4423355'

import sentry_sdk, requests

sentry_sdk.init(
    dsn=dsn_link,
    traces_sample_rate=1.0,
    environment='testing'
)

def bug_send(event_id, name, email, comments):
    url = f'https://sentry.io/api/0/projects/{organisation_slug}/{project_slug}/user-feedback/'

    headers = {
        'Authorization': f'Bearer {bearer_auth_token}',
        'Content-Type': 'application/json'}

    data = {
        "event_id": str(event_id),
        "name": str(name),
        "email": str(email),
        "comments": str(comments)}

    response = requests.post(url, headers=headers, data=str(data))
    return response


try:
    x = 1 / 0
except Exception as e:
    event_id = sentry_sdk.last_event_id()
    name = input('Name: ')
    email = input('Email: ')
    comments = input('Comments: ')
    response = bug_send(event_id, name, email, comments)
    print(response.status_code, response.reason)
    input()

输出:

Name: John Doe
Email: john.doe@gmail.com
Comments: It is not working!
400 Bad Request

【问题讨论】:

  • data=str(data) 是错误的做法。使用 json=data 是的,去掉 content-type 标头。但这个问题更多的是关于请求的使用。
  • 这是一个粗略的代码示例,我正在使用的当前代码确实使用 payload=data 代替。我不知道是什么导致了错误的请求,因为我之前没有提出过发布请求并遵循文档示例。

标签: python-3.x sentry user-feedback


【解决方案1】:

删除 Content-Type 标头就可以了。新的回复是200 OK,我可以在 Sentry 中看到反馈

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 2018-10-31
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多