Intland's free requirements, development and test management hosting.
This server hosts 100.000+ users on the cloud!
Tags: 

CBLiveTracker - a simple time tracking tool integrated with CodeBeamer Trackers and Twitter

http://javaforge.com/displayDocument/CBLiveTracker.png?object_comment_id=250

Features

  • Show all CodeBeamer trackers with tasks assigned to you
  • Start working on the task
    • Set a selectable status in CodeBeamer
    • Tweet that you started this task on a configurable Twitter account
    • Start time tracking
      The spent time field in the GUI increments as long as the task is not stopped, the background color changes to red if the estimated time is exceeded

http://javaforge.com/displayDocument/Twitter.png?object_comment_id=251
  • Stop the task
    • Set its status in CB
    • Update the Spent Hours field in CB based on the tracked time
    • Tweet that you stopped working on the task
  • Open the task in CB from either the time tracking GUI or the bitly link in the tweet

Process considerations

This tool assumes that you can only work on one task at a time, if you close the tool without stopping the task, it will be stopped (-> spent hours updated in CodeBeamer) automatically (although the status will not be updated) Both for starting and stopping a task, you first need to set an appropriate status, the possible status values might differ from tracker to tracker, that's why we didn't hardcode that.

You should not change status or spent hours of the task you're tracking inside CodeBeamer while tracking is active, the tool will simply overwrite this when stopping.

Parent tasks are not shown in the list of available tasks because it's not possibly to modify the spent hours field in that kind of task in CodeBeamer directly (it's summed up from of its child tasks instead).

Configuration options

All options are presently set in a properties file:

# CodeBeamer URL and login
cbServiceUrl=<CB URL, i.e. http://www.javaforge.com/>
cbUserAccount=<CB login>
cbPassword=<CB password>
# Twitter login
twitterAccount=<Twitter Account>
twitterPassword=<Twitter password>
# Show only the following projects (; delimted project names)
projectFilter=OpenAmeos Development
# Show only the following trackers (; delimited tracker keys)
trackerFilter=ECR;BUG
# the default tracker
myDefaultTracker=ECR
# Show onlytasks with the following statuses (; delimited)
showTaskWithStatus=-;New;Pending;Pushback;Assigned;Hibernating

Installation

  • Copy CBLiveTracker.jar into a directory of your choice
  • Adjust configuration parameters in the above listed file and save it as CBLiveTracker.properties in the same directory
  • Run the CBLiveTracker with java -jar CBLiveTracker.jar

Implementation notes and limitations

  • CBLiveTracker presently doesn't work with trackers with an activated workflow
  • For Twitter access, we use JTwitter (which is LGPL © http://www.winterwell.com/software/jtwitter.php)
  • To shorten the URLs for the CodeBeamer tasks, we use http://bit.ly
The API key can be distributed, but you should replace it with your own for heavy usage (in Tweet.tweetStatus)

Building

The source code for the application is provided as an Eclipse project, it's located on Javaforge SVN: http://www.javaforge.com/svn/cblivetracker

External dependencies are:

  • jtwitter.jar (see above)
  • cb-api.jar (the CodeBeamer API)
Tested wit CodeBeamer
  • 5.3 (scopeforge.de)
  • 5.4 (javaforge.com)

Possible additional functionality

  • Better error handling (i.e. for CB login failures)
  • GUI for configuration properties
  • Publish team status to a single CB Wiki Page
  • Implement a CB/Twitter plugin to visual the team status in a Wiki page