Sentry从客户端应用程序中捕获日志和错误。
我知道在Sentry中创建项目的唯一方法是在Web应用程序界面中手动提交表单。
我正在寻找一种从命令行以任何方式创建项目到Sentry的方法(选项,配置文件)?
这对部署脚本非常有用。否则无法实现自动化。
在谷歌搜索时发现了这个讨论,但没有答案:
https://groups.google.com/d/topic/getsentry/pWglAEHaPUk/discussion
有什么想法吗?
答案 0 :(得分:4)
这是a django project,当然你可以:
from sentry.models import Project
project = Project(...)
...
project.save()
修改:您可以write a custom management command在命令行上获取功能
按问题编辑编辑:是的确它是一个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
效果很好。希望这会对其他人有所帮助。
答案 1 :(得分:1)
正如Sentry's docs中所述:
# 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(),)