Code Monkey home page Code Monkey logo

asanban's Introduction

Asanban

Tooling for using Asana with a Kanban system.

See: http://dev.bizo.com/2013/01/asanban-lean-development-with-asana-and.html

Installation and Usage

  1. Make sure you have ruby 1.9 and rubygems installed and available on your system path.
  2. Create a directory which will contain a configuration file with your API and DB settings. You can call it "asana" or whatever you like.
  3. Run: "gem install asanban" (or better yet, use bundler)
  4. Install MongoDB on your local machine, if you haven't already.
  5. Provision a production installation of MongoDB. A free account at mongolab should get you started if needed.
  6. Create a YAML file called asana.yml in the directory you created in step 1. The file should have the following structure:
  • mongodb_uri: mongodb://[user]:[password]@[server]:[port]/[db-name] (Note that this is for the production MongoDB installation)
  • mongodb_dbname: [db-name] (for both environments)
  • asana_api_key: [your Asana API key - available in the Asana UI]
  • asana_workspace_id: [your Asana workspace ID]
  • asana_project_id: [the ID of the Asana project for which you would like to track metrics]
  • asana_beginning_milestone: [the name of the first stage in your Kanban system, eg. Dev Ready]
  • asana_ending_milestone: [the name of the last stage in your Kanban system, eg. Production]
  1. Run: "asanban-load local" (the bulk loader). This will create task, milestone and lead time data in your local MongoDB, in the DB with the name given in the configuration file specified above.
  • Note: You must follow the Asana conventions outlined above for the bulk loader to work, particularly naming your priority headers as follows: "{STAGE NAME} ({WIP})" (parens must be specified around WIP limit).
  1. If the process succeeded and the data created in your local MongoDB looks reasonable, you can go ahead and create the data in your production MongoDB instance by running: "asana-load prod"
  2. Run: "asanban-service". This starts the web service that will serve up your aggregated lead time data.
  3. You can hit http://localhost:4567/metrics?aggregate_by=month to see your data in JSON format. (You can also pass in "year" or "day" instead of "month".) There is also a very rough prototype of a page with a raphy-charts graph showing the data from the web service that you can hit by visiting http://localhost:4567/metrics.html . This is just an example of how to consume the data; it needs a lot of work.
  4. Since the web service is implemented with Sinatra, you will want to create a create a rack-up file if you're going to deploy it to production (or Heroku). Do that by creating a file called config.ru in the directory you created in step 1, which contains the following:
  • load Gem.bin_path('asanban', 'asanban-service')
  1. Schedule the bulk loader in cron to run every night.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

asanban's People

Contributors

patgannon avatar

Stargazers

 avatar Thiago Ghisi avatar Francisco Caballero avatar Angus H. avatar James Gifford avatar Milan Jelicanin avatar Ankur avatar Mark Harrison avatar Chew Chit Siang avatar Neil Durbin avatar M Haidar Hanif avatar Jeff Jantz avatar Matthew Broberg avatar  avatar x2q avatar

Watchers

 avatar James Cloos avatar Simon Vincent avatar

Forkers

pixelmatrix

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.