As an open-source project, hybridgroup/taskmapper has picked up 214 stars on GitHub (Ruby). Taskmapper provides a universal API to bug tracking and project management systems using Ruby
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Taskmapper is a Gem which eases communication with various project and ticket management systems by providing a consistent Ruby API.
Taskmapper let's you "remap" a system into the consistent Taskmapper API, easily. For instance the description of an issue/ticket, might be named description in one system, and problem-description somewhere else. Via Taskmapper, this would always be called description. The Taskmapper remaps makes it easy for you to integrate different kinds of ticket systems, into your own system. You don't have to take care of all the different kinds of systems, and their different APIs. Taskmapper handles all this for you, so you can focus on making your application awesome.
Installation
Taskmapper is a Gem, so we can easily install it by using RubyGems:
gem install taskmapper
Taskmapper depends on Hashie, which is an amazing library which makes converting objects to hashes, and the other way around, a joy. It should be installed automatically whenever installing taskmapper.
Finding and installing a provider
Taskmapper by itself won't do too much. You may want to install a provider, to retrieve a list of available providers issue the following command:
gem search taskmapper
You could then install for instance taskmapper-pivotal:
gem install taskmapper-pivotal
Usage
Note: The API may change, and the following may not be the final. Please keep yourself updated before you upgrade.
First, we instance a new class with the right set of options. In this example, we are authenticating with Pivotal Tracker.
Like with projects, we can also find tickets by other attributes, like title, priority and so on, with tickets we do not use a find method though. Also as with projects, if no argument is passed, all tickets are retrieved:
For the full documentation on the CLI
taskmapper-cli
Installing the CLI
gem install taskmapper-cli
Creating a provider
Creating a provider consists of three steps:
Run the generator like this:
tm generate --provider-name='myprovider'
Implement whatever is needed to connect to your desired backend
Release it to RubyGems
Create the Taskmapper provider
Thanks to a simple generator, it is easy to get started with a new provider. Run this from the command line:
tm generate --provider-name='myprovider'
This will generate a new skeleton provider called taskmapper-myprovider in the current directory. Create a repo from that directory, and you can start implementing your provider.
Almost all APIs are different. And so are their Ruby providers. Taskmapper attempts to create an universal API for ticket and project management systems, and thus, we need to map the functionality to the Taskmapper API. This is the providers job. The provider is the glue between Taskmapper, and the task management system's API.
Usually, your provider would rely on another library for the raw HTTP interaction. For instance, taskmapper-lighthouse relies on ActiveResource in order to interact with the Lighthouse API. Look at it like this:
Taskmapper -> Provider -> (Ruby library) -> Site's API
Provider being the glue between the site's API and Taskmapper. The Ruby library is "optional" (though highly recommended as mentioned), therefore it is in parantheses.
An example of a provider could be taskmapper-lighthouse, an example of a Ruby library could be ActiveResource.
For now, look at taskmapper-lighthouse as an example on how to create a provider. More detailed documentation will be available soon.
Release it
Simply release it to RubyGems.org, the name of the provider Gem should follow this simple naming rule:
taskmapper-<provider's name>
For instance if you set for a Github provider, it would be named:
taskmapper-github
This makes it easy for people to find providers, simply by issuing:
gem search -r taskmapper
They should be presented with a nice list of all available providers.
Note on Patches/Pull Requests
Fork the project.
Make your feature addition or bug fix.
Add tests for it. This is important so we don't break it in a
future version unintentionally.
Commit, do not mess with rakefile, version, or history.
(if you want to have your own version, that is fine but bump version in a commit by itself so we can ignore when we pull)
Send us a pull request. Bonus points for feature branches.
Copyright
Copyright (c) 2010-2013 The Hybrid Group. See LICENSE for details.
Yes — hybridgroup/taskmapper ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/hybridgroup/taskmapper.
What is hybridgroup/taskmapper?
hybridgroup/taskmapper (hybridgroup/taskmapper) is a Ruby project on GitHub. From the project's own README: Taskmapper provides a universal API to bug tracking and project management systems using Ruby
What license does hybridgroup/taskmapper use?
hybridgroup/taskmapper is released under the MIT license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where can I see hybridgroup/taskmapper in action?
The project maintains a homepage at http://ticketrb.com. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about hybridgroup/taskmapper?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/hybridgroup/taskmapper is the definitive source.
Read full README in the tab above.
Still deciding about taskmapper?
One click hands the question to an AI along with this page — see what it says about taskmapper.