TrelloTool

Tool for doing basic things to a dev trello using the api. This is for a software development context where the software has explicit version numbers (ie. typically not in a Continuous Delivery situation)

The tool envisages a main trello board with the following lists:

  • (some optional lists at the beginning -- "Triage" and "Reference" by default)
  • "To do"
  • "Doing"
  • (at least one "done" list -- "Done" by default)
  • "Next version" (for things that have been merged but not deployed)
  • (a set of lists named after the version numbers e.g. "v1.2.3", "v1.2.2", etc)
  • (a divider list starting with [ and ending with ] (which might be empty or contain chores done during that time) named after a month or a sprint, e.g. "[ December ]" or "[ Sprint 1st Sep - 13th Sep ]" etc)

And another board where you archive these lists as they become old

Installation

Add this line to your application's Gemfile:

gem 'trello_tool', group: :development

And then execute:

$ bundle install

Or install it yourself as:

$ gem install trello_tool

Tool Configuration

bin/trello_tool config will create a trello_tool.yml file with defaults in it if it doesn't already exist

(This will be in a config directory if you have one, otherwise in the root folder). You will want to add this to your repo to allow this to be shared in your project

You need to configure a couple of things:

You can also configure some defaults

  • next_version_list_name = "next version"
  • todo_list_name = "TO DO"
  • doing_list_name = "-- DOING --"
  • initial_list_names = ["Triage", "Reference"]
  • done_list_names = ["Done"]
  • version_template = "v%s"
  • divider_template = "[%s]"
  • too_many_doing = 2
  • too_many_todo = 10

Trello Authorisation

You need to set the following environment variables to give trello_tool access to your lists

You can also read more at https://github.com/jeremytregunna/ruby-trello

Usage

  • bin/trello/health trello/health

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Setup git pre-commit hook

After you clone this repo for the first time you can link in the pre-commit script so that rubocop is checked before you commit (you can skip the pre-commit hook with )

ln -nfs $(pwd)/config/githooks/pre-commit ./.git/hooks/pre-commit

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/timdiggins/trello_tool. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the TrelloTool project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.