Django应用程序,用于集成BitBucket POST钩子和Trello板。
项目描述
django-trello-broker
- 信息:
Django应用程序,用于集成BitBucket POST钩子和Trello板
- 版本:
0.3
- 作者:
Peter Sanchez <peter@netlandish.com> - Netlandish Inc. (http://www.netlandish.com)
依赖关系
Python 2.7+
Django 1.7+
trello 0.9.1+
requests 2.2.1+
安装
PIP
pip install django-trello-broker
基本手动安装
$ python setup.py build $ sudo python setup.py install
替代安装(手动)
用法
将‘trello_broker’添加到您的INSTALLED_APPS
将‘trello_broker.urls’添加到您的URL结构中的某个位置。例如
urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^broker', include('trello_broker.urls')), ... (all your other urls here) ... )
将至少1个Trello令牌添加到数据库中。例如
$ ./manage.py add_trello_token Enter your Trello applications name. App Name: Netlandish Bot Enter your Trello user API Key. You can get it from: https://trello.com/1/appKey/generate API Key: <Our Super Secret Key Here> Go to the following URL to get your API Token: https://trello.com/1/authorize?key=<Our Super Secret Key Here>&name=Netlandish+Bot&expiration=never&response_type=token&scope=read,write API Token: <Our Super Secret Token Here> Saved token (ID: 1) to the database.
现在您可以自动填充新令牌可以访问的所有Trello板。例如
$ ./manage.py populate_trello_boards Processing token Netlandish Bot Processing board BracketWire Development Processing board Bracketwire Planning Processing board CHAP Development Processing board CHAP Planning Processing board CartFreak Development Processing board CartFreak Planning .......
前往http://yourdomain.com/admin/(或您的管理员URL)并添加BitBucket仓库。保存后,您将能够添加一个新的“规则”。一旦保存该规则,您就可以添加另一个。目前只允许两个规则。“引用”和“修复/关闭”。
- 引用
当卡在提交消息中被引用时,此规则将被触发。
- 示例
只需使用“#<card-short-id>”即可。例如,“开始处理新功能#213”
- 修复/关闭
当一张卡片在提交信息中已被引用,同时使用了“fix”或“close”前缀时
- 示例
以下单词之一后跟卡片的短ID。单词是“fix(ed|es)”或“close(d|s)”。不区分大小写。例如,“完成新功能的工作。关闭#213”
![]()
在您的BitBucket仓库设置中添加后端钩子。请参阅BitBucket POST Hook Management
注意 如果您在Django Admin中存储了一个access_key,请确保包含它。例如,如果您在Django admin中使用“foobar”作为访问密钥,在BitBucket设置中您需要这样传递访问密钥:http://yourdomain.com/broker/?access_key=foobar
设置
应用程序支持一些设置。
TRELLO_BROKER_USE_CELERY - 默认为False。如果为True,代理处理程序将使用celery任务“celery_process_commits”,这只是一个包装了正常“process_commits”函数的包装器,通过您的celery设置运行。
TRELLO_BROKER_RESTRICT_IPS - 默认为False。如果为True,代理将检查发送请求的客户端是否来自指定的BitBucket代理服务器。请参阅:BitBucket IP List Here
TRELLO_BROKER_BITBUCKET_IPS - 允许向代理POST的客户端IP列表。默认值是
['131.103.20.165', '131.103.20.166']
此设置取决于TRELLO_BROKER_RESTRICT_IPS设置为True
模板
使用单个模板,它包含用于在Trello卡片上生成注释的消息。
trello_broker/update_message.txt
默认情况下,模板包含以下内容
Commit ```{{ changeset }}``` committed by {{ author }} with the message ```{{ commit_message }}``` - View at: {{ commit_url }}
以下是将传递给模板的上下文
context = { 'author': commit['author'], 'author_full': commit['raw_author'], 'changeset': commit['node'], 'changeset_full': commit['raw_node'], 'commit_url': urljoin(base_commit_url, commit['raw_node']), 'commit_message': commit['message'], }
“base_commit_url”变量的值由BitBucket提供的数据拼接而成。基本上是“https://bitbucket.org/username/reponame”。请参阅BitBucket POST Hook Management文档中的JSON数据示例
管理操作
还包括一个简单的管理操作,使得您可以通过管理列表页面轻松地重新填充一个或多个Trello板。只需选择您想要更新的板,选择操作,点击“Go”。
行动示例
以下是我们的开发卡片之一的一个简单截图
商业支持
此软件以及许多类似软件,都是为Netlandish的许多项目和客户的工程而构建的。我们很乐意帮助您在下一个项目中,所以请通过hello@netlandish.com联系我们。