Pull Request Reviews API becomes an official part of API v3

The Pull Request Reviews API just graduated from preview mode. It's now an official part of GitHub API v3, along with Review Requests.

Preview media type no longer needed

If you used the Pull Request Reviews API during the preview period, you needed to provide a custom media type in the Accept header:

application/vnd.github.black-cat-preview+json

Now that the preview period has ended, you no longer need to pass this custom media type. Instead, we recommend that you specify v3 as the version in the Accept header:

application/vnd.github.v3+json

Onward! Thanks again to everyone that tried out the Pull Request Reviews API during the preview period.

Repository Collaborators API breaking change with Repository Invitation API becoming official on July 17

We're making the Repository Invitation API part of the official GitHub API on July 17, 2017. This will be a breaking change to the API and the API endpoint for directly adding a collaborator to a repository. You will no longer be able to directly add a user to a repository. Instead, the user will receive an invitation, which they can accept or decline via email, notification, or API endpoint.

During the preview period you needed to provide the application/vnd.github.swamp-thing-preview preview media type in the Accept header to opt-in to the changes. Once the preview period ends, you will no longer need to specify this custom media type.

For details on how to use the repository invitations endpoints, please refer to the API documentation.

If you have any questions or feedback, please get in touch with us!

Protected Branches API - Admin Enforcement Updates

Today we're introducing a breaking change to the Protected Branches API preview, as we mentioned last month. With this update you'll only be able to turn on and off admin settings by passing enforce_admins.

Adjusting admin settings the old way by passing include_admins will no longer work. The only way to change your admin settings will be to pass enforce_admins. Which is now required and will return 404 responses if not included.

To access the Protected Branches API during the preview period, you'll have to provide a custom media type in the Accept header:

application/vnd.github.loki-preview+json

If you have any questions or feedback, please let us know!

Integrations Pre-Release

Last September, we launched the Early Access program of GitHub Integrations, a new option for extending GitHub. Today, we're adding some new features and moving Integrations into pre-release so you can begin using Integrations within your production workflows.

Enabling users to login from your Integration

Users can now login via your Integration, using the OAuth protocol, allowing you to identify users and display data to them from the relevant installations.

An Integration can now make authorized API requests on behalf of a user, for example to deploy code or create an issue. When an Integration needs to fetch or create any information for a user, it should authenticate as that user to make these user-to-server requests. You can check which installations a user has access to via a new endpoint:

GET /user/installations?access_token=...

User via Integration action screenshot

More details can be found in Authenticating as a user via an Integration.

For regular server-to-server requests, for example creating a deployment status as the Integration, an Integration should continue to authenticate as itself for the specific installation.

Updating an Integration's permissions

When you create an Integration, you specify which permissions it needs, for example the ability to read issues or create deployments. You can now update the requested permissions, via Settings > Developer settings > Integrations, when the needs of your Integration change.

Accept permissions screenshot

Users will be prompted to accept these changes, and enable the new permissions on their installation.

You can check which permissions an installation has via the Integrations API, which now includes which permissions are available to each installation.

Post-Installation Setup

You can now configure a Setup URL for your Integration, to redirect users to after they install your integration, if additional setup is required on your end.

How can I try it?

To access Integrations, you must first sign the pre-release agreement.

Anyone can then register an Integration on GitHub via Settings > Developer settings > Integrations, and manage an existing Integration from the same place.

More information on getting started can be found in our developer documentation.

To access the Integrations API functionality during the Pre-release, you’ll need to provide the following custom media type in the Accept header:

application/vnd.github.machine-man-preview+json

Give us your feedback

Come talk to us, in the new Platform forum.

Protected Branches API - Dismiss Stale Reviews

Today we're introducing an addition to the Protected Branches API preview. You will now be able to turn on and off the ability to dismiss stale reviews.

To access Protected Branches API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.loki-preview+json

If you have any questions or feedback, please let us know!

Announcing the new GitHub Developer Program

Iteration is an essential part of building anything, be it an application, a company...even a developer program. Over the past few months we've had conversations with thousands of developers from all over the globe. Thanks to the insights and feedback shared with us, today we're announcing two exciting changes to the program.

First, we're opening access to the Developer Program to users without a paid account. That means almost any developer, at any stage of production, can take advantage of this opportunity. Second, we've introduced participation levels that will allow members to receive not only benefits from GitHub and our partners, but a path to successful development for your next great application.

Here's how the levels work:

Level 1

If you're just getting started, or need a little help getting off the ground, this level provides you with tools to learn more about the GitHub API and join our integrator community, such as dedicated Developer Program content and events.

Level 2

At this crucial stage, you've already launched a successful app — now we'll help you grow by taking full advantage of level 1 benefits as well as GitHub.com credits and network discounts.

Level 3

At this level, you're maintaining your successful application, and thinking about how to grow. You'll receive level 1 and 2 benefits, as well as GDP member spotlights and consulting services to help you scale successfully, among other rewards.

If you're already enrolled in the GitHub Developer Program, no action is needed on your end. You will receive an email detailing your level, as well as your benefits. If you'd like to join the GitHub Developer Program, visit our homepage to sign up.

If you have any questions or feedback, please get in touch with us!

Protected Branches API Pull Request Review Dismissal Restrictions

Today we're releasing an addition to the Protected Branches API preview, the ability to restrict dismissals to a specific group of users and teams.

To access the Protected Branches API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.loki-preview+json

If you have any questions or feedback, please let us know!

Merge methods API is now official

We're making the Merge methods API part of the official GitHub API.

During the preview period you needed to provide the application/vnd.github.polaris-preview preview media type in the Accept header to opt-in to the changes. Now that the preview period has ended, you no longer need to specify this custom media type.

Note: During the preview period, we initially added a squash property in the payload to the pull request merge endpoint. This property was superseded by a merge_method property to support both "squash and merge" as well as "rebase and merge" operations. With the end of the preview period, support for the squash property was removed in favor of the merge_method property.

If you have any questions or feedback, please get in touch with us!

Organization Memberships API is now official

We're making the Organization Membership part of the official GitHub API.

During the preview period you needed to provide the application/vnd.github.korra-preview preview media type in the Accept header to opt-in to the changes. Now that the preview period has ended, you no longer need to specify this custom media type.

If you have any questions or feedback, please get in touch with us!

Protected Branches API Admin Enforcement Updates

Today we're releasing an addition to the Protected Branches API preview, the ability to turn on and off admin settings in one place!

This will be a breaking change in the near future. To make the transition easier, we're allowing you to set admin settings the old way by passing include_admins for required_status_checks or required_pull_request_reviews on the general update branch protection endpoint until ~April 21, 2017~ May 2, 2017. At that point, the only way to change your admin settings will be to pass enforce_admins, and passing include_admins will receive 404 responses.

To access Protected Branches API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.loki-preview+json

If you have any questions or feedback, please let us know!