1

Sentry从客户端应用程序中捕获日志记录和错误。

我知道在 Sentry 中创建项目的唯一方法是在 Web 应用程序界面中手动提交表单。

我正在寻找一种从命令行以任何方式(选项、配置文件)将项目创建到 Sentry 中的方法?

这对于部署脚本非常有价值。否则不可能实现自动化。

刚刚在谷歌搜索时发现了这个讨论但没有答案:

https://groups.google.com/d/topic/getsentry/pWglAEHaPUk/discussion

任何想法?

4

2 回答 2

4

这是一个 django 项目,当然你可以:

from sentry.models import Project
project = Project(...)
...
project.save()

编辑:您可以编写自定义管理命令来获取命令行上的功能

由问题作者编辑:是的,它确实是一个 django 项目,所以就像一个 django 项目一样,我在以下三个步骤中自动化了我的部署:

  1. 启动 Sentry,创建用户、团队和项目,并从管理 Web 界面调整设置
  2. 像处理任何 django 项目一样运行 dumpdata(sentry 将隐式调用 manage.py):

    sentry --config=sentry.conf.py dumpdata --indent=2 auth > auth_data.json

    sentry --config=sentry.conf.py dumpdata --indent=2 sentry > sentry_data.json

  3. 逐步部署:

    sentry --config=sentry.conf.py syncdb --noinput

    sentry --config=sentry.conf.py migrate

    sentry --config=sentry.conf.py loaddata auth_data.json

    sentry --config=sentry.conf.py loaddata sentry_data.json

效果很好。希望这对其他人有帮助。

于 2012-11-08T20:50:59.180 回答
1

正如Sentry 的文档中官方所述:

# Bootstrap the Sentry environment
from sentry.utils.runner import configure
configure()

# Do something crazy
from sentry.models import Team, Project, User

user = User()
user.username = 'admin'
user.email = 'admin@localhost'
user.is_superuser = True
user.set_password('admin')
user.save()

team = Team()
team.name = 'Sentry'
team.owner = user
team.save()

project = Project()
project.team = team
project.owner = user
project.name = 'Default'
project.save()

key = ProjectKey.objects.filter(project=project)[0]
print 'SENTRY_DSN = "%s"' % (key.get_dsn(),)

https://docs.getsentry.com/on-premise/server/faq/

于 2013-09-10T15:12:52.210 回答