I have written before about self tracking and why, when, and how you would want to do it. I missed something spectacular in that post I should have included. Actually, I didn’t realize this was the case until now. I have known for quite a while that IFTTT has a GitHub integration. This thrilled me when I first discovered it, but I was quickly disappointed. IFTTT only offers triggers on GitHub issues, new repositories, and pull requests and actions on issues. These are useful for many things, but I had high hopes for setting up automation based on commits being pushed into GitHub repositories and thought this was going to have to be something I’d implement myself. I was bummed after the initial jolt of excitement. This is still the case – the GitHub channel on IFTTT has this limitation.
The beauty of something like IFTTT, though is that it is an idea that is repeatable. Integrating great services on the web that offer APIs and use OAuth is a problem worthy of solving and worthy of solving in different ways and for different purposes. Zapier is a service similar to IFTTT, but with many subtle and not-so-subtle differences. It is sometimes the case that what you want isn’t supported on one of these, but is on the other. I didn’t even think at first to check what Zapier had to offer regarding my favorite remote source control providers. It turns out Zapier’s GitHub integration supports exactly what I sought. Not only does it support triggers on GitHub commits, it also has this support for BitBucket as well. Oh, happy and joyous day! Simply committing to a repository and pushing my branch to my GitHub or BitBucket repository can trigger automations for which I don’t have to test and write any code.
I mentioned in my other post about tracking that I like to use iDoneThis. It turns out Zapier also hooks into IDoneThis. This means the automation I really want – tracking my accomplishments using IDoneThis for tasks associated with code in the projects on which I work happens easily and automatically. Every commit to repositories I have set up for tracking (on branches I have set up for tracking) and push to my remote repositories automatically create a done in iDoneThis. When I receive my daily iDoneThis email, all I need to do is respond with personal done items (like things I did with my children and reading I got done – though I’m thinking I’ll soon figure out a way to leverage Kindle software to automatically report what I have read for a day – that would be sweet – let me know if you know a way to do this). It comes to mind too that tracking commits against issues on Trello cards or in Jira or something (if you’re not using GitHub for your issues) like that would have value.
There are two lessons to take away from this post:
- if you have something you want to get done with an automated integration services, check all your options before giving up.
- The Zapier integration with GitHub and BitBucket is awesome and useful and makes tracking efforts much easier.