As of March 2021, this project is no longer being maintained. It was a hacky workaround of a solution for an internal team problem to begin with, and while it has served that purpose well over the last few years, the team using it has evolved, and its processes are more mature today than they were when this layer of middleware was written. Thus, it is no longer needed.
If you have perused the repo and still think that this project might be beneficial, then feel free to fork it and use it. The code should be straightforward and adequately self-documented, but I'm happy to provide implementation assistance either via extended documentation or a video call, or else to discuss arrangements for hosting/implementing for you.
If all you need is integration TestRail, then you should use TestRailYak, which is a package I built on top of Gurock's TestRail API binding that makes it easy to read and write to a TestRail instance.
GitTreasures is a solution for facilitating Gitflow using a source control application, a source of support tickets and/or new development stories, and a Kanban type board. For source control, currently git based option GitLab is supported, along with plans to add GitHub support in the very near future. There is also support for a local git instance. The development tasks can come from Jira, from GitHub or GitLab issues. Support for other issue tracking software is not on the foreseeable horizon, but it is definitely something I would be interested in working with someone else on if anyone wanted to help. Lastly, Trello is the project board I chose due to its flexibility and ease of use.
Great question! If your tooling is solely for personal projects and you would rather use the existing integrations, becasue you control all of the aspects, then by all means use those instead.
If you work for someone who lets you have direct access to the repositories and the support ticketing system, or you are the one who makes those decisions, then you may also choose to use an existing solution.
If any one of those systems is provided to you, but are restricted in such a way that it is not possible to access the data you need, then hacky workarounds are your friend. This was created during a time when I didn't have the ability to just hook into Jira and tightly couple Trello actions to it.
Even with all the existing tools at your disposal, you may decide you want to do something fancy, or something hyper specific to your own workflow that the other plugins do not support. GitTreasures can be easily extended and is written in Python to make development fast and fun.
Due to changes in the urllib package between Python 2 and 3, Python 3 users must modify the first line in __init__.py
of the Trello package in /<python directory>/Lib/site-packages/trello/
. Instead of from urllib import quote_plus
, that import statement should be from urllib import parse
These instructions are for integration with a GitLab hosted repository. GitHub integration is not set up yet but will likely be very similar to GitLab. Task scripts will be kept around for setup with a local copy of just the commits (I think I ran git clone --no-checkout
to just get the Git data) but further documentation will not be prioritized for a while (feel free to help with that).
- Clone repo wherever you want to use GitTreasures
git clone <repository>
- Create
data/
insideGitTreasures/
cd GitTreasures/ && mkdir data
- Copy
task_scripts/init.py
script to project root
cp task_scripts/init.py .
- Run
init.py
to initialize the database with commit data
cd ../ && python task_scripts/db_setup.py
This tool has the option of being run from the command line, a CI server such as Travis or Jenkins, or as an endpoint with a simple Flask front end:
To run the Flask version of this endpoint locally:
python endpoint.py
Then in your browser, navigate to http://localhost:5000/
and click one of the links to run GitTreasures in Live Mode or Test Mode, or the TestRail update script.
To run the NodeJS version of the endpoint, which was added when the Trello plugin was added, follow the steps below for the plugin.
cd trello_plugin
- Install dependencies:
npm install
- Start the server:
npm start
Then, follow the prompts in the Trello UI to connect to add some custom buttons to each Trello card. Written to meet board automation needs before Butler was acquired by Trello and folded into their offerings.