OpenStack’s task tracking system for cross-team projects and code review tool now play better together.


Collaboration is what keeps the lights on at OpenStack, whether developers work together on a single project or people ironing out the wrinkles across the 58 big tent projects.

Superuser got this update on the integration of StoryBoard, the cross-project task tracking system, and Gerrit, the code review set-up, from Zara Zaimeche, software developer at Codethink.

Naturally, these updates are also fruit of teamwork: Zaimeche gives special thanks to Khai Do of HPE for the bulk of the Gerrit integration work, Codethink’s Adam Coldrick for boards/worklists implementation and the Infra team for guiding the process.  “This is the big one! And I am as happy as a clam,” Zaimeche says.

Here’s what you can expect and how to get involved.

StoryBoard is now integrated with Gerrit

To use this incredible new power in StoryBoard, find the task ID to the left of the task you’re about to send a patch for.

Then put:

Task: $task_id

into the commit message. When the patch is sent, this will update the status of the relevant task in StoryBoard and post a comment linking to the Gerrit change. Stories also have unique IDs, found to the left of each story in the list of stories, so if you include:

Story: $story_id

You can easily browse from Gerrit to the related StoryBoard story. There is an example of the syntax here:


If you’d like to try it out yourself but don’t have any pressing patches to send, you can make a story over at our test instance, , and then send a nonsense patch to a project in review-dev (, citing the relevant task and/or story.

Worklists and boards are more discoverable

Now logged-out users can easily find the lists of worklists and boards, and users can filter them by title, or by tasks or stories they contain. You’ll find them on the main sidebar, just below the ‘dashboard’ option. A worklist lets you order a custom todo list (e.g. to convey priority), or provide a handy filter of tasks/stories (e.g. ‘show all ‘todo’ tasks in story foo). A board allows you to create several lists side-by-side, so that you can track the movement of tasks. This means you can, say, create a board with ‘todo’, ‘review’, and ‘merged’ lanes, filtered by project, and the contents of these will update as people send patches to Gerrit. Here’s an example:!/board/14 screen-shot-2016-09-20-at-11-10-22-am

More usable developer docs

Matthew Bodkin has updated our developer docs so that they can be used to launch a StoryBoard instance. They should be functional now (we aim for the stars). He’s also helped with multiple misc UI fixes recently, so thanks again.

What’s next

There is a TC Ocata goal to remove incubated Oslo code, which affects two StoryBoard projects (the API and the Python client).

I’ve made a story for it over here:!/story/2000707


if other affected projects are using StoryBoard, it makes sense to list tasks there so they’re easier to find. This is exactly the sort of cross-project work that StoryBoard is designed for, so let’s give it a workout!

I could do with some guidance or examples on removing and replacing the incubated Oslo code (especially for the Python client, which uses the old apiclient module). If people are interested in running scripts against StoryBoard and doing more specific browses and filters on results, our Python client is the answer, so I’m interested in a) tidying it up and b) finding out people’s workflow and how they would expect to interact with the python client from the commandline.

Get involved!

The StoryBoard meeting is at 15:00 UTC every Wednesday in #openstack-meeting. We are also always available in #storyboard, for chatter (and occasionally development). Happy task-tracking! 🙂

Cover Photo // CC BY NC