Paul Roub

A Software Tool Geek in His Natural Habitat

Adding Veracity Work Items via todo.txt

I think, with this post, I’ll have reached a new peak in my quest to share scripts that almost no one else will use. What is the overlap between “users of the Todo.txt Touch Android app” and “pre-release Veracity users”? The odds of that being “just me” are favorable. I expect those odds to change. In the meantime, I’ve already written the script; it would be rude not to share.

Veracity, if you’ve been paying attention, is Sourcegear’s upcoming Distributed Version Control / Bug Tracking / more system with an open sourced core. The main reason this blog’s been so dead? “Busy. Busy coding. Can’t talk right now.” That kinda thing.

todo.txt is Gina Trapani’s script/app that aims to make simple todo.txt files more useful and mobile, while still maintaining the simplicity we love. I’m a fan and a daily user of the command-line script and the Android app.

One thing Veracity doesn’t have, as yet, is a mobile interface. Since all the boxes on which I deal with Veracity are behind firewalls, I couldn’t use one right now, anyway. But that doesn’t stop me from realizing I need to log myself a task or two when I’m out and away from the keyboard. What to do?

One of the thing’s Gina’s Android app does is sync that todo.txt file via Dropbox. I add a todo item, and in a few seconds, it’s also in todo.txt on my laptop, where an instance of the Veracity team’s repository resides. Also, we have a nice little library of Javascript functions (on which much of Veracity’s web API is built), all callable from our vscript command-line JS tool. See where this is going?

I add a new item in the todo.txt app, like so:

Adding items via the phone

See how I set a “context” of @veracity? That will matter later. If I wished, I could also add tags (things prefixed by “+” in todo.txt’s world), and set a priority from (A) to (E). Here’s a few of those, after the auto-sync:

List of synced items in todo.txt

I have a cron job that runs every 20 minutes, along the lines of:

0,20,40 * * * * vscript todo2vv.js /path/of/todo.txt veracity-pr

Which tells the the todo2vv.js script (download) to look in todo.txt for any @veracity items, mark them done in the todo.txt list, and add them instead to my Veracity todo list in the veracity-pr repository. Here they are after import:

And filtered by priority:

Medium-priority bug only

All have been assigned to our current milestone-in-progress (Sprint 18, the Veracity team being a scrummy one), stamped “todo” (along with any of those todo.txt tags), and given priorities matching any seen in the text file.

The script is fairly simple; it spends more time parsing todo.txt and managing files than creating the actual work items. Feedback, questions, comments are most welcome; at the moment, they’re probably best asked on the veracity-users mailing list.

Back to work. Gotta change the activity stream sorting.