{ "info": { "author": "Aldash Biibosunov", "author_email": "pythonista8@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "Django Bitbucket & Trello Integration\n-------------------------------------\nGoals\n~~~~~\nThe main goal is to develop a standalone application that can seamlessly integrate Bitbucket and Trello. It can be further divided into smaller goals which are the following:\n\n- Define a staging branch that can trigger a specific Trello card to move to another specified Trello list (e.g. Testing)\n- Define a production branch that can trigger a specific Trello card to move to another specified Trello list (e.g. Done)\n- Any Trello card mentions following pattern # in a commit message shall be added to the corresponding card as a comment\n- Keep application architecture flexible for better maintainability\n- Easy initial setup, such as API authorization, application settings\n- Add Power-Up for Trello in the future\n\n\nOverview\n~~~~~~~~\nHere\u2019s some history background. We use Bitbucket as a code repository and we have recently switched to Trello as part of Agile methodology. Basically our team consists of developers and a QA team (testers).\n\nOur development process works the following way. The project owner lays down a number of Trello cards in, let\u2019s say, To Do list that are primary goals of our project that we have to complete. Developers pick them up one by one and move them onto Doing list, create a branch and start working on it. Once we complete a task, we push it to Bitbucket repository, merge it to the staging branch and manually move a corresponding Trello card from Doing list onto Testing list.\n\nThat\u2019s when testers come into play. They test a feature and when it has no issues they move it from Testing onto Done. Upon that we, developers, get a notification from Trello and then we go to Bitbucket and create new pull request, then merge it to the production branch.\n\nIt\u2019s obvious that moving cards here and there is much of a hassle and takes up a lot of our time that we could spend on actual development. There were other online Kanban boards that had integration with Bitbucket of course, but we really like Trello due to its simplicity and user-friendliness. We couldn\u2019t find any free solution on Internet either that would integrate Trello and Bitbucket. Then I decided to create it on my own.\n\n\nPrerequisites\n~~~~~~~~~~~~~\nI assume that you already have an app server, Bitbucket repository for your project and a Trello board. In order to use this application you need to get some stuff in your hand first. First of all, you need to get a token and an app key from here. Secondly, make sure you get an ID of the lists you are about to use; you may get them through their API by passing a board ID.\n\nOnce you acquire a token and an app key, think of a flow that you will have, meaning properly naming branches and Trello lists. As for us, our staging branch is called master, which is the latest but unstable, and our production branch is called production, which might be the latest but it\u2019s stable. Our Trello list are as follows: To Do -> Doing -> Testing -> Done.\n\nYou may also visit for more information.\n\n\nInstallation\n~~~~~~~~~~~~\nIn your terminal::\n\n pip install django-bitbucket-trello\n\nThen just copy the code below into your settings file and make sure that you change these settings according to your project::\n\n # Bitbucket settings.\n BITBUCKET_REPO_URL = \"https://bitbucket.org//\"\n\n PRODUCTION_BRANCH = 'production'\n\n STAGING_BRANCH = 'master'\n\n # Trello authorization.\n TRELLO_TOKEN = '407b6d302c149af0f247850582a63463dbaf4dbd190bc4458cab5f68e4f25b'\n\n TRELLO_KEY = '7eec0a9c1bc1f78dq6df5de55c7e414df'\n\n # Trello settings.\n BOARD_ID = '58255f33bb08fbfc0bebf473'\n\n PRODUCTION_LIST_ID = '57b4347044f46a061626eb55'\n\n STAGING_LIST_ID = '57b4346f602c21c635ebe0ds'\n\n CARD_POSITION_UPON_MOVING = 'top' # 'top', 'bottom' or a positive integer\n\n # Integration parameters.\n HOOK_PULL_REQUESTS = True\n\n HOOK_PRODUCTION_BRANCH = True\n\n HOOK_STAGING_BRANCH = True\n\n\nHow To Use\n~~~~~~~~~~\nIn your urls.py::\n\n from django.conf.urls import patterns, include, url\n from bitbucket_trello import ReceiverView\n\n urlpatterns = patterns('',\n url(r'^bitbucket-webhooks/$', ReceiverView.as_view(), name='bitbucket_webhooks'),\n )\n\nThen go to Bitbucket settings -> Webhooks and point to this URL.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/relique/django-bitbucket-trello", "keywords": "bitbucket trello integration django", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django-bitbucket-trello", "package_url": "https://pypi.org/project/django-bitbucket-trello/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-bitbucket-trello/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/relique/django-bitbucket-trello" }, "release_url": "https://pypi.org/project/django-bitbucket-trello/0.0.8/", "requires_dist": null, "requires_python": null, "summary": "Django Bitbucket & Trello Integration", "version": "0.0.8" }, "last_serial": 2465426, "releases": { "0.0.1a0": [ { "comment_text": "", "digests": { "md5": "badd15ee91f26e525e970786ea1315cb", "sha256": "c7688e15b5a6def1a98bc6969c4bbe335cfd22396a705c674ceada8284f010e2" }, "downloads": -1, "filename": "django_bitbucket_trello-0.0.1a0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "badd15ee91f26e525e970786ea1315cb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7355, "upload_time": "2016-11-17T02:46:06", "url": "https://files.pythonhosted.org/packages/86/91/e13435f739abd394ff332aead653dea58b98e5ecf7dc5a608c682ed5551f/django_bitbucket_trello-0.0.1a0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71f1e8c20bd333d44dd5e8e427e2cc9c", "sha256": "eae09af5afe9adf99d9bfccddb52397f8a906298b9e6be3cf5db31fe866a9f3e" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.1a0.tar.gz", "has_sig": false, "md5_digest": "71f1e8c20bd333d44dd5e8e427e2cc9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4669, "upload_time": "2016-11-04T04:07:56", "url": "https://files.pythonhosted.org/packages/d0/1f/1f3cf6d7fbcf4a0f5fc3426b488d811727ab8c4a2524bad900a97af81f6f/django-bitbucket-trello-0.0.1a0.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ad3c4f3495f776b090d3b413566a53f5", "sha256": "77e8b3bfdb023529b5bf39eb3aebe752d98ed46cf4f21649f2184933a5b29e57" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ad3c4f3495f776b090d3b413566a53f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5352, "upload_time": "2016-11-04T06:41:53", "url": "https://files.pythonhosted.org/packages/36/99/90e502911db8ed9fa52bf9fafc6905e4e164acf00c531f2ca48f1d670236/django-bitbucket-trello-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "724b61ee2fec39f0444b8e4379de95da", "sha256": "ea861563cf023871ce10d05f724fe222e87fba54973f3319a92dbc66fed610f1" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.3.tar.gz", "has_sig": false, "md5_digest": "724b61ee2fec39f0444b8e4379de95da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5330, "upload_time": "2016-11-04T06:50:38", "url": "https://files.pythonhosted.org/packages/d9/39/46079ba923f0b5a1c56c797998bb55a1b6a1fc0126f03403d1549428c4db/django-bitbucket-trello-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "2404993204313a2e42905561683e7ec2", "sha256": "1a87f5cbc01d588cfbe2587b4386dff9513cd59d487ace4bf77e9c11df6c9261" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.4.tar.gz", "has_sig": false, "md5_digest": "2404993204313a2e42905561683e7ec2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5355, "upload_time": "2016-11-04T06:55:08", "url": "https://files.pythonhosted.org/packages/0d/04/3e3dadd0920e599e4ce2f944c5093620fe469c199ca6c090f99341fce869/django-bitbucket-trello-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0f3840e967712113b4a9073ec5fb519c", "sha256": "0a86c6404b28293df1641a4ff1d13a62d9370f0e2e6a1dd6f7efce3f87ef9033" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.5.tar.gz", "has_sig": false, "md5_digest": "0f3840e967712113b4a9073ec5fb519c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5361, "upload_time": "2016-11-04T07:09:57", "url": "https://files.pythonhosted.org/packages/f1/c0/d3886c84a648745f1cf99ceda18ff591a81b2de82331d324a5111fe480c8/django-bitbucket-trello-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "702b6da4d9ee8c020b99466e048353ee", "sha256": "1c66a81221c8495791352da73112e347696a6988cff99f90c06db52cee1cdc81" }, "downloads": -1, "filename": "django_bitbucket_trello-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "702b6da4d9ee8c020b99466e048353ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8608, "upload_time": "2016-11-17T02:46:09", "url": "https://files.pythonhosted.org/packages/68/63/cb803ca751b6ab7bb53646dc6143d9b5affa5ed6e81df66ea56c125ae57d/django_bitbucket_trello-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dac647c16232cc3d4b7d17c1ed62104", "sha256": "fbec22b505e78f98ab93fc621ecdff76eb4d454325464a1af7b19c0b00ae9d4c" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7dac647c16232cc3d4b7d17c1ed62104", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5358, "upload_time": "2016-11-04T07:15:13", "url": "https://files.pythonhosted.org/packages/71/b8/c63f76a70f01f1a22a1dbfb3cdfc6227844fdd7472fe11132139b7accb04/django-bitbucket-trello-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "27274858bff22e548bf574d22300c564", "sha256": "991b953c687a51871045e0b52ab8a7854fe377d7796d0b70ee0a09159dafd3ed" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.7.tar.gz", "has_sig": false, "md5_digest": "27274858bff22e548bf574d22300c564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5393, "upload_time": "2016-11-17T02:47:55", "url": "https://files.pythonhosted.org/packages/ca/11/bc27aae953eb03239eff3529f56a6ebf22fb70300e39c39ee27259853da7/django-bitbucket-trello-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "83f2ca92d46c65345ef3ca03d1851c75", "sha256": "adce71a0a204dffb10e6fff4abd4a4a0455c6116b54ea1daf3789ea4a16824bb" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.8.tar.gz", "has_sig": false, "md5_digest": "83f2ca92d46c65345ef3ca03d1851c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5466, "upload_time": "2016-11-17T02:54:13", "url": "https://files.pythonhosted.org/packages/01/ac/37ee878659fc98c868f122bdfdfb95a29ae205a9ccb3871ae56c9ea3bb21/django-bitbucket-trello-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "83f2ca92d46c65345ef3ca03d1851c75", "sha256": "adce71a0a204dffb10e6fff4abd4a4a0455c6116b54ea1daf3789ea4a16824bb" }, "downloads": -1, "filename": "django-bitbucket-trello-0.0.8.tar.gz", "has_sig": false, "md5_digest": "83f2ca92d46c65345ef3ca03d1851c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5466, "upload_time": "2016-11-17T02:54:13", "url": "https://files.pythonhosted.org/packages/01/ac/37ee878659fc98c868f122bdfdfb95a29ae205a9ccb3871ae56c9ea3bb21/django-bitbucket-trello-0.0.8.tar.gz" } ] }