Programmer picks: Seven great GitHub integrations

Third-party integrations extend powerful functionality to the red-hot repository-hosting site

Developer picks: 7 tools for making the most of GitHub

Popular code-sharing site GitHub has attracted eye-popping numbers of users and repositories -- not to mention investment dollars. There's also an increasing number of third-party software ventures that are linking up to GitHub to offer services to its users, ranging from project management to continuous integration to PaaS cloud services.

GitHub recently unveiled its Integrations site detailing these partnerships, along with starting the GitHub Developer Program, to entice developers to forge additional integrations. Here are seven tool integrations that GitHub users have found valuable for their development workflows.

Asana

Asana is a project management tool intended to facilitate teamwork without using email. It is offered as a Web app and a mobile app on iOS and Android devices. 

Nathan Potter, vice president of engineering at Chartbeat says Asana is used for task management throughout the company. Chartbeat, which provides real-time Web analytics, manages its code base via GitHub. “I actually wrote the Asana-GitHub integration back in 2012,” Potter says. GitHub’s open source plug-in system helped enable this integration. When a code commit is performed in GitHub, a task ID is created in Asana with a link to the commit appended automatically. 

CircleCI

CircleCI is a continuous integration and deployment tool for Web developers. Intercom CTO Ciaran Lee finds the GitHub-CircleCI pairing a significant time-saver. Intercom, which offers tools for Web businesses to talk to their customers, keeps its code in GitHub and runs tests on this code via CircleCI. “It saves hours and hours everyday,” Lee says, adding that hooking up the two is nearly automatic. The only glitch Lee has encountered is in enabling simultaneous use of CircleCI and Code Climate, a code-quality analysis tool, with GitHub. Intercom has to choose one or the other, but Lee believes GitHub is working on this issue.

CloudBees

CloudBees is a Java PaaS provider that leverages Jenkins continuous integration to help its customers deliver software faster and incrementally. Viridity Energy, which provides commercial customers with information on peak loads and energy transmissions, uses CloudBees for quality assurance testing, a production environment, and as a repository for binaries, says Duncan DeVore, Viridity vice president of engineering. Having built a modular, distributed application, the company stores source code and tracks issues in GitHub and has had no issues with the integration between GitHub and CloudBees. Viridity’s cloud-based paradigm replaces an internal system. “The reason [we went to the cloud] is we want to focus our efforts on building business software and not worry about the deployment side of it and dealing with that headache,” DeVore said.

Code Climate

Code Climate supplies static analysis for Ruby on Rails and JavaScript projects. It is a hosted service accessing code stored on a Git server, accessible over the Internet, and crowdfunding website Kickstarter uses Code Climate-GitHub integration to discover bugs.

“When we push code to GitHub, a Web hook automatically tells Code Climate to analyze the changes,” says Aaron Suggs, operations engineer at Kickstarter. “Code Climate results are linked in our pull requests. Code Climate also notifies developers about significant events via email and our chat room.” Kickstarter also uses Code Climate’s recent feature for posting comments to GitHub pull requests.

Pivotal Tracker

Pivotal Tracker is an agile project management tool from Pivotal Labs. Medical journal Cureus uses Pivotal Tracker to manage tasks in conjunction with its GitHub code repository. “With each commit to the repository, we include the developer pair who is authoring the commit, along with the Tracker story ID and status,” Chris Barretto, Cureus vice president of engineering, says. “When the commit gets pushed up to the master branch of GitHub, the story gets updated in Tracker with the new status, as well as embedding the GitHub commit inside of the story comments.” While exceptionally pleased with the results of the Pivotal Tracker-GitHub integration, Cureus would like improvements, including notification settings per project in Pivotal Tracker.

Travis CI

Offered in both hosted and behind-the-firewall versions, Travis CI is a tool for continuous integration, deployment, and testing. Online retailer ModCloth switched from a Jenkins server to Travis CI a year ago to reduce administrative overhead andhas been using Travis CI with a GitHub code repository for about that long. GitHub and Travis CI interact via GitHub APIs, says Dan Buch, senior software engineer at ModCloth. Although happy with GitHub, ModCloth does have an issue of sorts with the platform, Buch said. “They can’t deliver features fast enough for our appetite.” 

tenXer

The tenXer productivity analytics tool is intended to help engineers gain insights on work habits by pulling data from services the team already uses, including GitHub. Integration between GitHub is done via the standard GitHub API or by signing up for tenXer using GitHub OAuth, says JP Patil, a marketing official at tenXer. “For GitHub Enterprise users, customers will need to install the tenXer Agent behind their firewall. The tenXer Agent communicates with GitHub Enterprise through the same API but is able to push the required data to tenXer’s servers via a secure port,” Patil says. When a GitHub user has given tenXer permission to access data through the API, tenXer can track a range of metrics and data points for tenXer to perform analysis.