Development Work
Developer Productivity App
A Firebase Cloud Function hosted Node.js middleware app.
Developer
Development workflows are already very complicated. This middleware app made for speedy squashing of bugs without bouncing back-and-forth between development and productivity apps.
- Node server-side express app on Firebase Cloud Functions
- Captures GitLab/GitHub hook to update Teamwork project tasklists
- Saves hours of developer time
- Close tasks with simple git commit comment
There are so many productivity tools out there now. For our team at Cal, it became a discussion around which to use, how to integrate each platform, and a preferred developer workflow. GitLab is a great product, but asking it to be a code repository, a task tracker, a ticketing system, a messaging platform, and a project management app, well...is a bit much. I like to say "the right tool for the right job" and GitLab was just trying to do too much, similar to JIRA's all-in-one solution.
Teamwork was introduced as a project management platform. I love that it excelled at project management—but also allowed an API for connecting with other apps. Fortunately, GitLab offered hooks which can be fired upon events in the code repository. You can see where this is going.
Having to log into GitLab to check tickets, then check in a fix, then go back to Teamwork and comment the issue, then close the issue, and repeat the process was a huge pain. I was able to use Firebase and Node as a middleware to receive GitLab hooks with commit payload, parse the comments for Teamwork task Ids, and comment and close any tasks assigned to developers, which also were made easier as they were assigned via e-mail. So the developer never had to log into either platform.
In summary, a developer would get a new task or bug email along with the Task ID. They would code the fix, add the task ID to the commit comment, commit the fix, and the Teamwork task would be commented and completed automatically. The task would include all repo information including user data and links back to the repo so you could visit the exact commit later on if needed be. This idea could be extended to also update something like percentage complete with a comment if the task was still in-progress. This helps the project manager keep track of developer progress without need for check-ins. Profit!
I now use this tool for all my own projects, in conjunction with GitHub, which offers similar hooks functionality.
This project is not publicly accessible.