Announcing the deprecation of GitHub Services
GitHub plans on shutting down GitHub Services so we can shift focus to other areas of the API, such as strengthening GitHub Apps and GraphQL, and improving webhooks. The intention of GitHub Services was to allow third-party developers to submit code for integrating with their services, but this functionality has been superseded by GitHub Apps and webhooks. GitHub Services has not supported new features since April 25, 2016, and we plan to officially deprecate it on October 1st, 2018.
Move to webhooks using GitHub or OAuth apps
As part of the deprecation process, we need integrators on our platform to move from HTTP-based services over to plain webhooks. Webhooks are much easier for both users and GitHub staff to debug on the web because of improved logging.
We have been coordinating with our largest integrators to assist them in seamlessly transitioning from GitHub Services to GitHub Apps and webhooks. In order to move your integration over to plain webhooks, you can leverage either GitHub or OAuth apps. Both "Replacing GitHub Services" and "Differences between GitHub Apps and OAuth Apps" provide information regarding the differences between the two frameworks.
Learn more about replacing GitHub Services
To learn more about this deprecation or moving from GitHub Services to GitHub or OAuth apps, check out Replacing GitHub Services.
Deprecation timeline
Updated 01-29-19
- May 31, 2018: Submit your intentions for migrating or replacing your GitHub Service.
- October 1, 2018: GitHub discontinues allowing users to install services. GitHub Services will be removed from the GitHub.com UI.
- January 29, 2019: As an alternative to the email service, you can now start using email notifications for pushes to your repository. See "About email notifications for pushes to your repository" in the GitHub Help documentation to learn how to configure commit email notifications.
- January 31, 2019: GitHub stops delivering installed services' events on GitHub.com.
New User-to-Server endpoints for GitHub Apps
As part of the ongoing audit of the availability of REST API endpoints for GitHub Apps, we've enabled another batch of endpoints. For a complete list of endpoints enabled for GitHub Apps, see available endpoints and identifying and authorizing users for GitHub Apps.
user-to-server endpoints:
Recently enabledDeployments & Deployment Statuses
Git Blobs & Refs
- Get a blob
- List references
- Get a reference
Issues & Issue Events
Labels
Pull Request Review Events
Repo Collaborators, Commits, and Releases
- List repository collaborators
- Check if a user is a repository collaborator
- List commits
- Get a commit
- List releases
Root
How can I try it?
To access this functionality, you’ll need to provide the following custom media type in the Accept
header:
application/vnd.github.machine-man-preview+json
What about other endpoints?
We're actively working on enabling more endpoints. Check back on the developer blog for updates when new batches become available. If you have specific requests or feedback, come chat with us in the Platform forum.
Preview the new Vulnerability Alerts and Dependency Graph APIs and Webhooks
We're releasing a Dependency Graph API in GraphQL that enables you to retrieve information about a repository's dependency graph. But that's not all; we are also adding a lightweight Repository Vulnerability Alerts API in GraphQL so you can get your security alerts through the API. You can stay up-to-date with the most recent changes using a webhooks that trigger when alerts are created, dismissed, or resolved.
Dependency Graph GraphQL API
We're introducing a new connection on Repository
called dependencyGraphManifests
which enables you to retrieve data about a repository's dependencies. Public repositories have dependency graph and security alerts enabled by default. For private repositories, you’ll need to Allow access in the Dependency graph section of your repository’s Insights tab.
To access this new API during the preview period, you must provide a custom media type in the Accept
header:
application/vnd.github.hawkgirl-preview
Repository Vulnerability Alerts GraphQL API
We're introducing a new connection on Repository
called vulnerabilityAlerts
which enables you to retrieve data about a repository's security alerts.
To access this new API during the preview period, you must provide a custom media type in the Accept
header:
application/vnd.github.vixen-preview
Repository Vulnerability Alerts Webhooks
We're introducing a new webhook event for repositories called repository_vulnerability_alert
. You can get webhooks for create
, dismiss
, and resolve
actions.
During the preview period, we may change aspects of these APIs based on developer feedback. If we do, we will announce the changes here on the developer blog, but we will not provide any advance notice.
If you have any questions or feedback, please let us know!
Additional endpoints available for GitHub Apps
As part of the ongoing audit of the availability of REST API endpoints for GitHub Apps, we've enabled another batch of endpoints. For a complete list of endpoints enabled for GitHub Apps, see "Available endpoints".
Recently enabled endpoints
The newly enabled endpoints available now include:
Organization Members
Teams
Pull Request Review Events
PUT /repos/:owner/:repo/pulls/:number/reviews/:id/dismissals
POST /repos/:owner/:repo/pulls/:number/reviews/:id/events
Pull Request Review Requests
GET /repos/:owner/:repo/pulls/:number/requested_reviewers
POST /repos/:owner/:repo/pulls/:number/requested_reviewers
DELETE /repos/:owner/:repo/pulls/:number/requested_reviewers
Pull Requests
New user-to-server endpoints are available in these APIs:
- Milestones
- Org Members
- Teams
- Team Members
- Orgs
- Projects
- Pull Comments
- Pull Request Reviews
- Pull Request Review Requests
- Pull Requests
- Issue Timeline
How can I try it?
To access this functionality, you’ll need to provide the following custom media type in the Accept
header:
application/vnd.github.machine-man-preview+json
What about other endpoints?
We're actively working on enabling more endpoints. Check back on the developer blog for updates when new batches become available. If you have specific requests or feedback, come chat with us in the Platform forum.
Self-serve Onboarding for the GitHub Marketplace
After looking through our queue of amazing tools waiting to join the GitHub Marketplace we've decided to simplify the process--and to this end we're giving developers the ability to quickly get an app on the marketplace and onboard themselves.
New and improved guide
We now have a micro-guide that explains everything you need to get setup on the GitHub Marketplace:
- Providing Marketing guidelines
- Finding API endpoints
- Catching webhooks
- Supporting billing and purchase flows
- Testing methods
What if you've already started
If you're already building a Marketplace app then you may have noticed the changes we've shipped this week. There is a completely new interface that enables you to move at your own pace and walks you through all the steps to go live on the Marketplace.
Feel free to continue building and make sure you have 4 green checkmarks in the left panel before you re-submit. We cannot wait to see what you've been building!
For any other questions, feel free to contact us here.
Preview the Organization Project Permissions API
We're releasing new API endpoints to support the new organization project permissions system. These new endpoints will give you the same granular control over organization projects that you're used to having with organization repositories.
Organization project collaborators
Using the new organization project collaborator API endpoints, you can add, remove, review, and list organization project collaborators. You'll need admin access on a project to use these API endpoints, and they are only available to organization projects.
Organization projects on teams
Just like with repositories, you can add organization projects to teams, remove organization projects from teams, review a team's permission on an organization project, and list all the organization projects for a team. Adding and removing a team project requires admin access to that project, and these new endpoints are only available to organization projects.
New "Update project" parameters
The Update project endpoint has two new parameters: organization_permission
and private
. You'll need admin access on a project to make changes to these parameters, and they only apply to organization projects.
Preview period
To access these new and updated endpoints during the preview period, you must provide a custom media type in the Accept
header:
application/vnd.github.inertia-preview+json
During the preview period, we may change aspects of these API methods based on developer feedback. If we do, we will announce the changes here on the developer blog, but we will not provide any advance notice.
If you have any questions or feedback, please let us know!
Preview the new Hovercard API
We're releasing a Hovercard API that enables you to retrieve information contained in someone's hovercard using either GraphQL or REST. Use the subject_type
and subject_id
parameters to find out more about someone in relation to their pull requests, issues, repositories, and organizations.
REST API
To access the new Get contextual information for a user endpoint during the preview period, you must provide a custom media type in the Accept
header:
application/vnd.github.hagar-preview+json
GraphQL API
We're introducing a new connection on User
called hovercard
which enables you to retrieve data contained in someone's hovercard.
To access this new API during the preview period, you must provide an Accept header as well:
application/vnd.github.hagar-preview
During the preview period, we may change aspects of these APIs based on developer feedback. If we do, we will announce the changes here on the developer blog, but we will not provide any advance notice.
If you have any questions or feedback, please let us know!
Introducing new ways to build on your workflow
Whether you’re a team of 2 or 20,000, there's an app to simplify your work on GitHub Marketplace. Last week, we launched 2 new apps in the Marketplace that will make it easier to automate dependency updates and review code.
Code review
CodeFactor is a simple to use, automated Code Review service built by developers for developers. Setup with GitHub in seconds, to save time on code reviews and easily create issues directly from CodeFactor. Streamline your code review process and create actionable reports.
Dependency Management
Renovate brings automatic Javascript dependency updates to your workflow and supports npm, Yarn, Meteor, Docker or Bazel. It comes ready to go with a smart default configuration but provides a flexible configuration framework including scheduling and rules-based auto-merging to guide the updates you want to see in your repositories.
Ready to try out these new additions? See how they can help your team work better or discover even more tools in GitHub Marketplace.
GitHub Apps and Reactions for Team Discussions
Today we added new endpoints to the Reactions API preview that allow you to interact with reactions to team discussions and their comments. You can access these endpoints during the preview period by providing custom media types in the Accept
header:
application/vnd.github.squirrel-girl-preview+json, application/vnd.github.echo-preview+json
Over the course of the preview period we may change aspects of the API based on developer feedback. If we do, we will not provide any advance notice of the changes, but we will announce them here on the developer blog.
[Updated 04-20-18] OAuth access tokens now require the write:discussion
scope when creating a reaction to a discussion, creating a reaction to a comment, or deleting a reaction.
New REST API endpoints
- List reactions to a discussion
- Create a reaction to a discussion
- List reactions to a comment
- Create a reaction to a comment
We've also enabled GitHub Apps for all endpoints related to team discussions. The endpoints listed below are available for both server-to-server and user-to-server requests.
Recently enabled REST API endpoints for GitHub Apps
- List discussions
- Get a discussion
- Create a discussion
- Update a discussion
- Delete a discussion
- List discussion comments
- Get a discussion comment
- Create a discussion comment
- Update a discussion comment
- Delete a discussion comment
- List reactions to a discussion
- Create a reaction to a team discussion
- List reactions to a team discussion comment
- Create a reaction to a team discussion comment
We hope these changes help you build better integrations! If you have any questions or feedback, please let us know.
Require Multiple Approving Reviews for Protected Branches
The Protected Branches API now has a setting for requiring up to 6 approving pull request reviews. You can manage and view this setting from four endpoints:
- Get branch protection
- Update branch protection
- Get pull request review protection
- Update pull request review protection
How can I try it?
To access this functionality during the preview period, you’ll need to provide the following custom media type in the Accept header:
application/vnd.github.luke-cage-preview+json
Take a look at the docs here. If you have any questions, please get in touch.