Have fun and be productive!
January 17th, 2013
November 15th, 2012
This is a guest blog post written by Brett Porter, CTO of MaestroDev, who develop DevOps orchestration tools. In this article, Brett lays out how they’ve used Flowdock as a main communication tool with distributed teams and integrated Flowdock directly into their own products.
MaestroDev is a proud Flowdock customer. Since we began using it early in the year, we have greatly improved the internal visibility of development progress, and streamlined our methods of communication – reducing the number of redundant calls and emails.
The MaestroDev product development team is globally distributed, covering 4 different timezones. Our Flowdock flow is active 24 hours a day with development information and tagged updates for each other. Whether they work face to face, or remotely, Flowdock puts all of our team members on an equal footing, catching up on important discussions as they start their day, and leaving notes about progress for team members whom they may not otherwise be able to meet with immediately.
We have developed Maestro, our enterprise-grade DevOps Orchestration engine, to help enable all members of a software delivery team to be more efficient and collaborative. Maestro introduces Compositions, a reusable definition of a sequence of tools, processes and infrastructure that can be automated and interacted with. Compositions encapsulate best practices and encourage consistency across projects, reducing ramp up time and silos of expertise about infrastructure. Maestro is built to take advantage of modern public and private cloud technology to dynamically scale build, test and deployment infrastructure. This reduces friction between development, QA and operations team members and reduces the wait time for necessary infrastructure. Finally, Compositions and their execution output provide a single source of truth and history about a variety of systems, where team members can keep up to date, participate in decision points, and gather feedback from integrated tools to determine future improvements.
Integrating Flowdock and Maestro for Delivery Visibility
As you can see, Flowdock complements Maestro as a dedicated information flow for communication, notifications and actions. For this reason, we have developed Flowdock integration for Maestro and incorporated it into our delivery workflows.
Maestro has integration for a number of different tools available, and at MaestroDev some that we use are:
- JIRA: issue tracking and sprint planning
- GitHub: source control
- Jenkins: continuous integration and automated builds
- Apache Archiva: build artifact management
- Vagrant and VirtualBox: virtual machine for testing and delivery
- Puppet: infrastructure configuration management
With these tools orchestrated by Maestro and information streaming to Flowdock, we’re able to track a change from a JIRA ticket and a commit, through its deployment on a preview instance, automated functional tests and a complete candidate virtual machine image for distribution.
Our primary automated workflow looks like this:
- A commit at GitHub triggers a notification to Flowdock, and triggers a Composition to start the rest of the process
- Maestro ensures a suitable Jenkins job is executed to build the project and publish to the artifact repository.
- Flowdock is notified in the event of success (showing the published RPM version and build number) or failure (showing the full output and error that occurred)
- If it was successful, Maestro concurrently starts Compositions to update the preview instance, and run functional tests
- For the preview instance, we update the RPM version in the Puppet manifest, and trigger a Puppet agent run on the host. Puppet reports back to Flowdock when it is complete, and we know the preview instance is updated with the change
- For functional tests, a virtual machine is started with Vagrant, provisioned with Puppet, and then tests are run via Jenkins using Cucumber and Capybara. If any fail, a notification is sent to the main Flow.
- If the functional tests are successful, then a new virtual machine is produced and a notification sent to the main Flow.
Of course, we have many other such Compositions for sequences including releases, building and deploying Puppet modules, publishing promoted VMs to Amazon S3, and so on – all similarly integrated with Flowdock.
If you’re interested in trying Maestro out for yourself, contact us and we’ll set you up with an evaluation system and several similar pre-configured examples.
Flowdock has become the first thing I check in the morning, and one of the most useful tools I turn to throughout the day to find out what is happening, discuss a solution with a colleague, or just share a link to something fun and interesting. Our thanks go to the Flowdock team for a great product!
October 25th, 2012
Two popular CI services have just implemented Flowdock integrations: Semaphore & TravisCI. Flowdock goes great together with continuous integration apps. That way the whole team can take responsibility of the state of the build. Previously, Flowdock has CI integrations for CircleCI, Bamboo, CruiseControl and Jenkins.
Special thanks to Phil Cohen for implementing the Travis CI integration.
September 19th, 2012
CircleCI is a hosted continuous integration server that works together with GitHub. Setting it up for some of our Ruby-based open source projects was easy, and it figured all configuration settings automatically.
Now you don’t need those build notifications cluttering your email inbox, since CircleCI just added a Flowdock integration using our API. Check out the integration instructions and sign up for a free trial.
In addition, CircleCI offers a 10% discount for a year for the first 10 Flowdock users who sign up. Contact them for more details.
September 11th, 2012
Assembla Workspaces provides wikis, ticketing, version control, milestone, time tracking and process tools. The service also has a built-in webhook feature, which we have used to integrate Assembla to Flowdock.
The integration produces notifications of updates in the different areas of Assembla, such as wiki edits, new tickets and so on. This is what it looks like:
July 26th, 2012
UserVoice is a feedback and help desk product that makes responding to customer needs fast and effortless. We at Flowdock have previously integrated with UserVoice only by plain email notifications. Seeing that UserVoice has recently rolled out its neat Service Hooks, we just couldn’t resist making the integration even better.
With the new integration you will be notified of all that is happening in your UserVoice community, and the entire team can participate in responding to the feedback. Now that the feedback is sent directly to Flowdock, your email inbox no longer gets overflowed with notifications. In addition, the Service Hook configuration makes it easy to define which notifications you want to see in your team inbox.
Setting up the integration
To get started, visit our UserVoice help page and follow the short list of instructions. You should be integrated and receiving notifications from UserVoice in no time.
Here is an example notification in the team inbox:
In a deal we struck with the awesome UserVoice folks, the ten first Flowdock teams to sign up to UserVoice by using the code hiflowdockers will receive 25 % off for a year of UserVoice.
July 12th, 2012
ScrumDo is a project management tool that’s built from ground up for agile teams doing Scrum. It helps you to plan your iterations, manage your backlog and visualize your progress.
If ScrumDo is your project management tool of choice, it’s now even easier to follow your team’s activity. Just follow the simple configuration instructions and all relevant activity will be streamed to Flowdock.
Naturally, the integration was built using Flowdock’s API.
May 24th, 2012
Redmine is an open source project management application, which includes basic ticketing, wiki and other functionality. We’ve just released a Flowdock Redmine plugin on GitHub, which gives you a completely real-time Flowdock integration with issues and wiki.
Installation is straightforward and you can read the guide in the README.
March 21st, 2012
Predictions have been told over the years about the downfall of e-mail, all of them nonsense. E-mail is a great messaging technology. Most importantly, SMTP is a push protocol making e-mail relatively real-time. That’s also why it’s been used for automated notifications since its birth.
Automated e-mails can easily clutter your mailbox to the point where you filter them out and start ignoring them. Flowdock is a great solution for this as it frees your own mailbox. Automated mails are much easier to process if the work is shared by a team. A shared pain is a lesser pain.
Another great side of e-mail is its ubiquity. Any old tinderbox of a web application has the ability to send notifications via e-mail. That means Flowdock can be integrated to almost any service.
Get The Most Out Of Your E-Mail Integration
Using e-mail with Flowdock gives you full control over what notifications should contain and when they should be sent and who should be addressed in particular. Here’s how.
Create Logs With Tags
It’s a great idea to pre-tag automated e-mails to create sensible logs. For example, our deployment notifications come tagged both with #deploy and the name of the deployed project (frontend, backend) and the environment (qa, staging, production).
There are two ways to make this happen, you can either use a #hashtag in the subject, eg. “Deployed #frontend on #qa”, or you can add the tags prefixed with plus (+) signs into the e-mail address used for sending like this:
Log By User And Get Attention
You can also tag by users. Lets say I wanted to easily see all deploys deployed by a certain someone, I could either use @username in the subject “Deployed #frontend on #qa by @mikael” or add the tag to the email address prefixed with a dot (.) like so
So all strings prefixed with a plus sign after the flow name are stored as tags, and all prefixed with a dot are stored as user tags. You can also use the user tags to get someone’s attention. The @everyone tag can also be used and is also handy for important notifications that require everyone’s immediate attention.
Real-World E-Mail Workflows
Tags are a great way to filter important content that streams to your Flowdock flow. We recently showed how we handle feedback using a lightweight process.
In fact, we use e-mail integration with a bunch of services ourselves:
August 11th, 2011
Two awesome things are going on at Flowdock today. Number one, we are about to launch a new front page with a new no-BS message: Flowdock – Team Inbox With Chat. The other thing is the Flowdock API. Flowdock thrives on integrations to other tools that the team is using. That’s why we are now launching the Flowdock API.
In the first version we start with a simple API enabling posting new items to Flowdock’s Team Inbox (previously called Influx). » See the API Docs
We’ve also wrapped up a Ruby Gem to get you going in just seconds if Ruby is your choice of language. » Check out the Ruby Gem and install it
Example 1: Custom Feedback Form
Here’s a quick example to get you going. Getting user feedback directly to Flowdock is great. You can talk it over quickly with your team and decide what to do.
This Sinatra app shows a feedback form and sends the feedback to your Flowdock flow using the Flowdock API Ruby Gem.
The Sinatra controller:
Example 2: FogBugz integration (no coding required!)
The Flowdock Influx API is perfect for use with any service which has web hook / url trigger functionality, such as FogBugz.
Simply by configuring the URL Triggers plugin in Fogbugz (means filling out one form), you can get nicely formatted notifications to Flowdock. We’ve created example instructions for FogBugz Cases, but you can get notifications from wiki changes etc by adding small modifications and creating new triggers.
Example 3: Deployment notifications
If you implement an integration using the Flowdock API, let us know, and we’ll spread the good word!
What would you like to see in the Flowdock API? Here’s a few initial ideas:
- bots! (Check out the awesome Flowdock bot implementation by the guys at MyNewsDesk).
- fetching messages by tag – slideshow of latest #sketches ?
- Fetching influx messages
- Jabber integration to use Flowdock with other chat clients (See this idea/discussion in our UserVoice)
Let us know what you think via UserVoice or in the comments.