Django Bitbucket和Trello集成
django-bitbucket-trello的Python项目详细描述
目标
主要目标是开发一个能够无缝集成Bitbucket和Trello的独立应用程序。它可以进一步分为以下较小的目标:
- 定义一个暂存分支,该分支可以触发特定的trello卡以移动到另一个指定的trello列表(例如测试)
- 定义一个生产分支,它可以触发一个特定的trello卡移动到另一个指定的trello列表(例如done)
- 任何在提交消息中提到以下模式的Trello卡都应作为注释添加到相应的卡中
- 保持应用程序架构灵活,更好的可维护性
- 简单的初始设置,如API授权、应用程序设置
- 为将来的Trello添加电源
概述
这是一些历史背景。我们使用bitbucket作为代码仓库,最近我们将trello作为敏捷方法的一部分。基本上,我们的团队由开发人员和qa团队(测试人员)组成。
我们的开发过程如下。项目负责人在待办事项列表中列出了许多trello卡片,这些是我们必须完成的项目的主要目标。开发人员一个接一个地将它们移到待办事项列表中,创建一个分支并开始处理它。完成任务后,我们将其推送到bitbucket存储库,将其合并到staging分支,并手动将相应的trello卡从doing list移动到testing list。
这时测试人员开始发挥作用。他们测试一个特性,当它没有问题时,他们将它从测试转移到完成。在此基础上,我们,开发人员,从trello获得一个通知,然后我们转到bitbucket并创建新的pull请求,然后将其合并到生产分支。
很明显,在这里移动卡片有很多麻烦,占用了我们很多时间,我们可以花在实际的开发上。当然,还有其他在线看板与Bitbucket集成,但我们非常喜欢Trello,因为它的简单性和用户友好性。我们也无法在互联网上找到任何免费的解决方案,将特雷罗和比特桶。然后我决定自己创作。
先决条件
我假设您已经有了一个应用服务器、项目的Bitbucket存储库和一个Trello板。为了使用这个应用程序,你需要先拿到一些东西。首先,你需要从这里获得一个令牌和一个应用程序密钥。其次,确保您获得了要使用的列表的id;通过传递一个board id,您可以通过它们的api获得它们。
一旦您获得了一个令牌和一个应用程序密钥,请考虑您将拥有的流,这意味着正确命名分支和trello列表。对于我们来说,我们的分公司叫做master,它是最新但不稳定的,我们的生产分公司叫做production,它可能是最新但稳定的。我们的trello列表如下:待办事项->;正在做->;正在测试->;已完成。
您也可以访问<;http://www.trello.org/help.html>;了解更多信息。
安装
在您的终端中:
pip install django-bitbucket-trello
然后将下面的代码复制到您的设置文件中,并确保根据您的项目更改这些设置:
# Bitbucket settings. BITBUCKET_REPO_URL = "https://bitbucket.org/<INSERT_HERE>/" PRODUCTION_BRANCH = 'production' STAGING_BRANCH = 'master' # Trello authorization. TRELLO_TOKEN = '407b6d302c149af0f247850582a63463dbaf4dbd190bc4458cab5f68e4f25b' TRELLO_KEY = '7eec0a9c1bc1f78dq6df5de55c7e414df' # Trello settings. BOARD_ID = '58255f33bb08fbfc0bebf473' PRODUCTION_LIST_ID = '57b4347044f46a061626eb55' STAGING_LIST_ID = '57b4346f602c21c635ebe0ds' CARD_POSITION_UPON_MOVING = 'top' # 'top', 'bottom' or a positive integer # Integration parameters. HOOK_PULL_REQUESTS = True HOOK_PRODUCTION_BRANCH = True HOOK_STAGING_BRANCH = True
如何使用
在您的url.py:
from django.conf.urls import patterns, include, url from bitbucket_trello import ReceiverView urlpatterns = patterns('', url(r'^bitbucket-webhooks/$', ReceiverView.as_view(), name='bitbucket_webhooks'), )
然后转到BitBucket设置->;WebHooks并指向此URL。