Sentry从客户端应用程序中捕获日志记录和错误。
我知道在 Sentry 中创建项目的唯一方法是在 Web 应用程序界面中手动提交表单。
我正在寻找一种从命令行以任何方式(选项、配置文件)将项目创建到 Sentry 中的方法?
这对于部署脚本非常有价值。否则不可能实现自动化。
刚刚在谷歌搜索时发现了这个讨论但没有答案:
https://groups.google.com/d/topic/getsentry/pWglAEHaPUk/discussion
任何想法?
Sentry从客户端应用程序中捕获日志记录和错误。
我知道在 Sentry 中创建项目的唯一方法是在 Web 应用程序界面中手动提交表单。
我正在寻找一种从命令行以任何方式(选项、配置文件)将项目创建到 Sentry 中的方法?
这对于部署脚本非常有价值。否则不可能实现自动化。
刚刚在谷歌搜索时发现了这个讨论但没有答案:
https://groups.google.com/d/topic/getsentry/pWglAEHaPUk/discussion
任何想法?
这是一个 django 项目,当然你可以:
from sentry.models import Project
project = Project(...)
...
project.save()
编辑:您可以编写自定义管理命令来获取命令行上的功能
由问题作者编辑:是的,它确实是一个 django 项目,所以就像一个 django 项目一样,我在以下三个步骤中自动化了我的部署:
像处理任何 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
逐步部署:
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
效果很好。希望这对其他人有帮助。
正如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(),)