Just a week ago, GitHub announced two major releases: first, a new beta version of Atom that integrates Git and GitHub operations, like making commits, right inside your text editor. A brand new, completely rebuilt GitHub desktop client, also beta, came out the same day.
Today the Gitiverse expands even further with the launch of three new innovations: GitHub Marketplace, GitHub Apps, and the GitHub GraphQL API. The triple release was announced in London at GitHub Satellite, a regional extension of the annual fall GitHub Universe conference.
More below, but briefly here: GitHub Marketplace, just like it sounds, is a storefront for apps aimed at integrating and optimizing workflow across the development process. Building on original early release versions announced at the 2016 Universe conference, GitHub Apps (formerly “Integrations”), is a first-class actor connecting your service to GitHub to act on its own behalf instead of impersonating a user. And GitHub GraphQL API allows developers to access all the data they need, and only the data they need, with one API call — the same API used by GitHub’s engineers.
“I’m super excited,” said Kyle Daigle, senior engineering manager for the company. “I’ve been at GitHub for four years, and what we are shipping at Satellite is a whole new age for our platform.”
Read on for details about these new technologies Daigle and the other GH engineers have been “building on user feedback we’ve gotten over years” to create.
Welcome to the Marketplace
Ever gone searching for an add-on tool for a project, something simple yet specific that you don’t want to build yourself, that you know is out there? Then you know what it is like to disappear down the rabbit hole of researching what’s out there and what it does, comparing the apps you find, spending time getting approval to actually buy it, and then praying it works.
GitHub Marketplace aims to be one-stop shopping for the busy developer who doesn’t have time for rabbit holes. Users can discover and purchase apps that cover the entire development process, from project management to continuous integration to code review — all pre-wired to integrate seamlessly into the GitHub workflow.
“Marketplace makes it makes it way easier to find the perfect tool for your workflow, whether you’re a three-person startup needing continuous integration, or a Fortune 500 wanting to crack your code quality,” said Daigle. “Now you can come to GitHub Marketplace, shop the complete, best in breed dev tool options, view price plans side by side — then click, install, and get to work!”
A major benefit to the marketplace setup, said Daigle, is the ability to shop using your GH account, with payment via your existing billing info. “Especially for large orgs, there’s a barrier to entry — spinning up a server to try out an open source CI, or the time cost to get approval to spend $20 per month on an app to drastically improve your workflow,” he said. “Marketplace streamlines the process.”
Initially, there are about a dozen “integrator” companies offering apps in the GH Marketplace, with many more to come. Apps fall into four categories (though more categories will be added over time in response to user demand): Code quality, continuous integration, monitoring, and project management. Current Marketplace members include Travis CI, Appveyor, Waffle, ZenHub, Sentry.io and Codacy. Each integrator sets their own rates but, Daigle says, both the GH team and the integrator companies will evolve “better, more granular price points” according to customer response.
There’s a GitHub App For That
The newest option for enhancing workflow, GitHub Apps offer highly customizable control over your team’s development process. Each of these integration acts on its own behalf instead of impersonating a user — making it a first class actor on GitHub without taking up a paid seat. There is a single administrator with the ability to configure integrations directly, controlling which repositories they allow access to for.”
“The permissions are extremely fine grained: just this repo, some of these repos, all the repos… We even have permissions for allowing someone to read just a single file,” explained Daigle. “Customers get to only give access to precisely what is needed, so it’s secure without having to go all in, the way it’s been structured up until now.”
Installing the apps has also been streamlined and simplified. “Previously, everyone who wanted to do integration had to do this scary auth step. Every single person had to go through this screen that essentially said, ‘You’re giving away the keys to the kingdom,’ and some people would freeze at that step, and rightfully so,” said Daigle. “Now, that one admin sets up everything, so people can just pick up the app and start using.”
GitHub Apps also brings built-in webhooks, so customers can build bots that automate their workflow and connect GitHub to their internal tools.
“The GitHub Apps model is built human first,” said Daigle. “We aren’t trying to graft on a tech specification forcing everyone to learn what scopes mean. Now it’s ‘Tell us where you want us to go, tell us what you want them to see, you’re done.’ Better control from both sides.”
Everybody Plays With the Same API
The now production-ready GitHub GraphQL API offers the same exact APIs that the company’s internal engineers use to build GitHub.com. This is not a new version of the GH API, said Daigle, but rather a change in the way that GH is building software.
“This is a new age for the platform, one that plays by the same rules, and uses the same toolbox, as our internal engineers,” said Daigle. “Open source, hobby side projects, small businesses, large businesses in GH Enterprise — OK, everyone, now it’s all the same playing field.”
The benefit to every user singing from the same API songbook? “When we all have access to the same data, we here at GitHub can see what the customers and community do to build along with us. Since you no longer have to just use what we give you, but can create exactly what you need,” said Daigle. “With the APIs all public and ready to go, you guys can even build it better and contribute back.”
The GH team will also be observing how users customize their individual workflows. Lessons learned from these observations could eventually lead to changes in the GitHub GUI to reflect real-world user needs.
Ultimately, Daigle says, the goal is for letting even non-tech people contribute back to the same place where all the devs are, using a product like Zube’s GitHub project management app to make it less scary. “We are trying to make it easier for everyone on the team, like marketing and customer support, to harness the same tools, so they can collaborate better with the builders,” he said.
Which leads right back to last week’s release of the newly rebuilt, friendly-to-non-techies desktop client. As well as the making-our-dev-lives-better Atom integration.
“I am truly excited about how all this ties in together,” said Daigle. “If you have a custom need the GitHub Apps offering doesn’t provide, you can just click over to the Marketplace section — or use the public APIs in a custom build. It doesn’t matter to us. We just want to make it really easy for you do exactly what you need.”
“Ultimately, GitHub’s mission is to empower developers to build the best software they can, using the exact right tools for their specific needs,” concluded Daigle. “That is what this new platform is all about.”
Feature image via Unsplash.