We’ve strugged for years to get various departments to adapt, and stick to, a project management system. In the past year, have finally had some success with BaseCamp, as it has proved to be user-friendly enough that more and more departments began to use it. We suddenly needed to adapt to our users. We needed to make Visual Studio Team Services work with BaseCamp.

Make BaseCamp To-Do a VSTS Task

Creating a solution for BaseCamp to VSTS actually proved to be easy enough. I setup a project in BaseCamp and then a “Main To-Do List”. The only challenge in this is I needed to pass the BaseCamp To-Do Id so that when I closed my VSTS task (work item), it could link back to BaseCamp. For this, I chose to put the dynamic info in the “tags” field of my VSTS flow. Here’s the setup:

BaseCamp to Visual Studio Team Services

Why Tasks

If you notice, the Visual Studio Team Services flow requires that you select a “work item”. I chose task because it seemed neutral. I am still able to change it to another type (example: bug), and the sync will still happen as planned. This is because the flow OUT only links by “work item”, “state”, and “tag” (BaseCamp Id), not type of work item.

Where Does It Go?

VSTS drops the incoming To-Do as a task in Work Items. From here, I was able to create a User Story, add it to an iteration, move it along in my KanBan Board as usual. I kept all the same VSTS work process.

Closed VSTS Task Completes BaseCamp To-Do

Flow does have a Visual Studio action for when a work item (any work item: task, bug, etc) to link back to BaseCamp and close the todo. This is the route I went first.

Issues with Current Flow

Unfortunately it does not work. Here was how I set it up:

Flow Didn't Work

The problem was not even with the BaseCamp or the Flow idea, it was that the Flow for VSTS’s “work item closed” just would not trigger! I’d do a Flow test, close a VSTS work item and the test would time out, never receiving a trigger!

Work Around

What does trigger is the flow for “work item updated”. So, I replaced the above with “work item updated” and added a condition, checking status for “closed” and then doing my BaseCamp To-Do action. Here’s the work around:

VSTS to BaseCamp

Flexbility

Again, notice the VSTS to BaseCamp flow doesn’t require the item to be a “task”. ANY work item closed will do. This leaves some freedom to continue to work/organize the way you like in VSTS.