Github API

Getting access, Developing, Testing

Back to Github

Update pull request review protection

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.

Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.

Note: Passing new arrays of users and teams replaces their previous values.

Input

type: object properties: parameters: type: object properties: owner: type: string description: The account owner of the repository. The name is not case sensitive. repo: type: string description: The name of the repository. The name is not case sensitive. branch: type: string description: >- The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). required: - owner - repo - branch title: Parameters data: type: object properties: dismissal_restrictions: type: object properties: users: type: array description: The list of user `login`s with dismissal access items: type: string teams: type: array description: The list of team `slug`s with dismissal access items: type: string apps: type: array description: The list of app `slug`s with dismissal access items: type: string dismiss_stale_reviews: type: boolean description: >- Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. require_code_owner_reviews: type: boolean description: >- Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. required_approving_review_count: type: integer description: >- Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. require_last_push_approval: type: boolean description: >- Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` default: false bypass_pull_request_allowances: type: object properties: users: type: array description: >- The list of user `login`s allowed to bypass pull request requirements. items: type: string teams: type: array description: >- The list of team `slug`s allowed to bypass pull request requirements. items: type: string apps: type: array description: >- The list of app `slug`s allowed to bypass pull request requirements. items: type: string title: Data

Output

type: object title: Protected Branch Pull Request Review properties: url: type: string format: uri example: >- https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions dismissal_restrictions: type: object properties: users: description: The list of users with review dismissal access. type: array items: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' teams: description: The list of teams with review dismissal access. type: array items: type: object title: Team properties: id: type: integer node_id: type: string name: type: string slug: type: string description: type: string nullable: true privacy: type: string notification_setting: type: string permission: type: string permissions: type: object properties: pull: type: boolean triage: type: boolean push: type: boolean maintain: type: boolean admin: type: boolean url: type: string format: uri html_url: type: string format: uri example: https://github.com/orgs/rails/teams/core members_url: type: string repositories_url: type: string format: uri parent: type: object title: Team Simple properties: id: description: Unique identifier of the team type: integer example: 1 node_id: type: string example: MDQ6VGVhbTE= url: description: URL for the team type: string format: uri example: https://api.github.com/organizations/1/team/1 members_url: type: string example: >- https://api.github.com/organizations/1/team/1/members{/member} name: description: Name of the team type: string example: Justice League description: description: Description of the team type: string nullable: true example: A great team. permission: description: Permission that the team will have for its repositories type: string example: admin privacy: description: The level of privacy this team should have type: string example: closed notification_setting: description: The notification setting the team has set type: string example: notifications_enabled html_url: type: string format: uri example: https://github.com/orgs/rails/teams/core repositories_url: type: string format: uri example: https://api.github.com/organizations/1/team/1/repos slug: type: string example: justice-league ldap_dn: description: >- Distinguished Name (DN) that team maps to within LDAP environment example: uid=example,ou=users,dc=github,dc=com type: string apps: description: The list of apps with review dismissal access. type: array items: type: object title: GitHub app properties: id: description: Unique identifier of the GitHub app example: 37 type: integer slug: description: The slug name of the GitHub app example: probot-owners type: string node_id: type: string example: MDExOkludGVncmF0aW9uMQ== owner: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' name: description: The name of the GitHub app example: Probot Owners type: string description: type: string example: The description of the app. nullable: true external_url: type: string format: uri example: https://example.com html_url: type: string format: uri example: https://github.com/apps/super-ci created_at: type: string format: date-time example: '2017-07-08T20:18:44.000Z' updated_at: type: string format: date-time example: '2017-07-08T20:18:44.000Z' permissions: type: object properties: issues: type: string checks: type: string metadata: type: string contents: type: string deployments: type: string events: type: array items: type: string installations_count: description: The number of installations associated with the GitHub app example: 5 type: integer client_id: type: string example: '"Iv1.25b5d1e65ffc4022"' client_secret: type: string example: '"1d4b2097ac622ba702d19de498f005747a8b21d3"' webhook_secret: type: string example: '"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b"' nullable: true pem: type: string example: >- "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" url: type: string example: >- "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" users_url: type: string example: >- "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" teams_url: type: string example: >- "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" bypass_pull_request_allowances: type: object properties: users: description: The list of users allowed to bypass pull request requirements. type: array items: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' teams: description: The list of teams allowed to bypass pull request requirements. type: array items: type: object title: Team properties: id: type: integer node_id: type: string name: type: string slug: type: string description: type: string nullable: true privacy: type: string notification_setting: type: string permission: type: string permissions: type: object properties: pull: type: boolean triage: type: boolean push: type: boolean maintain: type: boolean admin: type: boolean url: type: string format: uri html_url: type: string format: uri example: https://github.com/orgs/rails/teams/core members_url: type: string repositories_url: type: string format: uri parent: type: object title: Team Simple properties: id: description: Unique identifier of the team type: integer example: 1 node_id: type: string example: MDQ6VGVhbTE= url: description: URL for the team type: string format: uri example: https://api.github.com/organizations/1/team/1 members_url: type: string example: >- https://api.github.com/organizations/1/team/1/members{/member} name: description: Name of the team type: string example: Justice League description: description: Description of the team type: string nullable: true example: A great team. permission: description: Permission that the team will have for its repositories type: string example: admin privacy: description: The level of privacy this team should have type: string example: closed notification_setting: description: The notification setting the team has set type: string example: notifications_enabled html_url: type: string format: uri example: https://github.com/orgs/rails/teams/core repositories_url: type: string format: uri example: https://api.github.com/organizations/1/team/1/repos slug: type: string example: justice-league ldap_dn: description: >- Distinguished Name (DN) that team maps to within LDAP environment example: uid=example,ou=users,dc=github,dc=com type: string apps: description: The list of apps allowed to bypass pull request requirements. type: array items: type: object title: GitHub app properties: id: description: Unique identifier of the GitHub app example: 37 type: integer slug: description: The slug name of the GitHub app example: probot-owners type: string node_id: type: string example: MDExOkludGVncmF0aW9uMQ== owner: type: object title: Simple User properties: name: nullable: true type: string email: nullable: true type: string login: type: string example: octocat id: type: integer example: 1 node_id: type: string example: MDQ6VXNlcjE= avatar_url: type: string format: uri example: https://github.com/images/error/octocat_happy.gif gravatar_id: type: string example: 41d064eb2195891e12d0413f63227ea7 nullable: true url: type: string format: uri example: https://api.github.com/users/octocat html_url: type: string format: uri example: https://github.com/octocat followers_url: type: string format: uri example: https://api.github.com/users/octocat/followers following_url: type: string example: https://api.github.com/users/octocat/following{/other_user} gists_url: type: string example: https://api.github.com/users/octocat/gists{/gist_id} starred_url: type: string example: https://api.github.com/users/octocat/starred{/owner}{/repo} subscriptions_url: type: string format: uri example: https://api.github.com/users/octocat/subscriptions organizations_url: type: string format: uri example: https://api.github.com/users/octocat/orgs repos_url: type: string format: uri example: https://api.github.com/users/octocat/repos events_url: type: string example: https://api.github.com/users/octocat/events{/privacy} received_events_url: type: string format: uri example: https://api.github.com/users/octocat/received_events type: type: string example: User site_admin: type: boolean starred_at: type: string example: '"2020-07-09T00:17:55Z"' name: description: The name of the GitHub app example: Probot Owners type: string description: type: string example: The description of the app. nullable: true external_url: type: string format: uri example: https://example.com html_url: type: string format: uri example: https://github.com/apps/super-ci created_at: type: string format: date-time example: '2017-07-08T20:18:44.000Z' updated_at: type: string format: date-time example: '2017-07-08T20:18:44.000Z' permissions: type: object properties: issues: type: string checks: type: string metadata: type: string contents: type: string deployments: type: string events: type: array items: type: string installations_count: description: The number of installations associated with the GitHub app example: 5 type: integer client_id: type: string example: '"Iv1.25b5d1e65ffc4022"' client_secret: type: string example: '"1d4b2097ac622ba702d19de498f005747a8b21d3"' webhook_secret: type: string example: '"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b"' nullable: true pem: type: string example: >- "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" dismiss_stale_reviews: type: boolean example: true require_code_owner_reviews: type: boolean example: true required_approving_review_count: type: integer minimum: 0 maximum: 6 example: 2 require_last_push_approval: description: >- Whether the most recent push must be approved by someone other than the person who pushed it. type: boolean example: true default: false