reposUpdatePullRequestReviewProtection
Update pull request review protection
Details
- Method:
PATCH - Path:
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews - Operation ID:
repos/update-pull-request-review-protection
Parameters
{
"owner": {
"description": "The account owner of the repository. The name is not case sensitive.",
"required": true,
"location": "path",
"type": "string"
},
"repo": {
"description": "The name of the repository without the `.git` extension. The name is not case sensitive.",
"required": true,
"location": "path",
"type": "string"
},
"branch": {
"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": true,
"location": "path",
"type": "string"
},
"dismissal_restrictions": {
"description": "Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.",
"required": false,
"location": "body",
"type": "object"
},
"dismiss_stale_reviews": {
"description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.",
"required": false,
"location": "body",
"type": "boolean"
},
"require_code_owner_reviews": {
"description": "Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed.",
"required": false,
"location": "body",
"type": "boolean"
},
"required_approving_review_count": {
"description": "Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers.",
"required": false,
"location": "body",
"type": "integer"
},
"require_last_push_approval": {
"description": "Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`",
"required": false,
"location": "body",
"type": "boolean"
},
"bypass_pull_request_allowances": {
"description": "Allow specific users, teams, or apps to bypass pull request requirements.",
"required": false,
"location": "body",
"type": "object"
}
}Response Schema
{
"title": "Protected Branch Pull Request Review",
"description": "Protected Branch Pull Request Review",
"type": "object",
"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": {
"title": "Simple User",
"description": "A GitHub user.",
"type": "object",
"properties": {
"name": {
"nullable": true,
"type": "string"
},
"email": {
"nullable": true,
"type": "string"
},
"login": {
"type": "string",
"example": "octocat"
},
"id": {
"type": "integer",
"format": "int64",
"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\""
},
"user_view_type": {
"type": "string",
"example": "public"
}
},
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
]
}
},
"teams": {
"description": "The list of teams with review dismissal access.",
"type": "array",
"items": {
"title": "Team",
"description": "Groups of organization members that gives permissions on specified repositories.",
"type": "object",
"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"
}
},
"required": [
"pull",
"triage",
"push",
"maintain",
"admin"
]
},
"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"
},
"type": {
"description": "The ownership type of the team",
"type": "string",
"enum": [
"enterprise",
"organization"
]
},
"organization_id": {
"type": "integer",
"description": "Unique identifier of the organization to which this team belongs",
"example": 37
},
"enterprise_id": {
"type": "integer",
"description": "Unique identifier of the enterprise to which this team belongs",
"example": 42
},
"parent": {
"title": "Team Simple",
"description": "Groups of organization members that gives permissions on specified repositories.",
"type": "object",
"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"
},
"type": {
"description": "The ownership type of the team",
"type": "string",
"enum": [
"enterprise",
"organization"
]
},
"organization_id": {
"type": "integer",
"description": "Unique identifier of the organization to which this team belongs",
"example": 37
},
"enterprise_id": {
"type": "integer",
"description": "Unique identifier of the enterprise to which this team belongs",
"example": 42
}
},
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"type"
],
"nullable": true
}
},
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"parent",
"type"
]
}
},
"apps": {
"description": "The list of apps with review dismissal access.",
"type": "array",
"items": {
"title": "GitHub app",
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.",
"type": "object",
"nullable": true,
"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=="
},
"client_id": {
"type": "string",
"example": "\"Iv1.25b5d1e65ffc4022\""
},
"owner": {
"oneOf": [
{
"title": "Simple User",
"description": "A GitHub user.",
"type": "object",
"properties": {
"name": {
"nullable": true,
"type": "string"
},
"email": {
"nullable": true,
"type": "string"
},
"login": {
"type": "string",
"example": "octocat"
},
"id": {
"type": "integer",
"format": "int64",
"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\""
},
"user_view_type": {
"type": "string",
"example": "public"
}
},
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
]
},
{
"title": "Enterprise",
"description": "An enterprise on GitHub.",
"type": "object",
"properties": {
"description": {
"description": "A short description of the enterprise.",
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/enterprises/octo-business"
},
"website_url": {
"description": "The enterprise's website URL.",
"type": "string",
"nullable": true,
"format": "uri"
},
"id": {
"description": "Unique identifier of the enterprise",
"example": 42,
"type": "integer"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"name": {
"description": "The name of the enterprise.",
"type": "string",
"example": "Octo Business"
},
"slug": {
"description": "The slug url identifier for the enterprise.",
"type": "string",
"example": "octo-business"
},
"created_at": {
"type": "string",
"nullable": true,
"format": "date-time",
"example": "2019-01-26T19:01:12Z"
},
"updated_at": {
"type": "string",
"nullable": true,
"format": "date-time",
"example": "2019-01-26T19:14:43Z"
},
"avatar_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"node_id",
"name",
"slug",
"html_url",
"created_at",
"updated_at",
"avatar_url"
]
}
]
},
"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-08T16:18:44-04:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-08T16:18:44-04:00"
},
"permissions": {
"description": "The set of permissions for the GitHub app",
"type": "object",
"properties": {
"issues": {
"type": "string"
},
"checks": {
"type": "string"
},
"metadata": {
"type": "string"
},
"contents": {
"type": "string"
},
"deployments": {
"type": "string"
}
},
"additionalProperties": {
"type": "string"
},
"example": {
"issues": "read",
"deployments": "write"
}
},
"events": {
"description": "The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation.",
"example": [
"label",
"deployment"
],
"type": "array",
"items": {
"type": "string"
}
},
"installations_count": {
"description": "The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself.",
"example": 5,
"type": "integer"
}
},
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at",
"permissions",
"events"
]
}
},
"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",
"description": "Allow specific users, teams, or apps to bypass pull request requirements.",
"properties": {
"users": {
"description": "The list of users allowed to bypass pull request requirements.",
"type": "array",
"items": {
"title": "Simple User",
"description": "A GitHub user.",
"type": "object",
"properties": {
"name": {
"nullable": true,
"type": "string"
},
"email": {
"nullable": true,
"type": "string"
},
"login": {
"type": "string",
"example": "octocat"
},
"id": {
"type": "integer",
"format": "int64",
"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\""
},
"user_view_type": {
"type": "string",
"example": "public"
}
},
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
]
}
},
"teams": {
"description": "The list of teams allowed to bypass pull request requirements.",
"type": "array",
"items": {
"title": "Team",
"description": "Groups of organization members that gives permissions on specified repositories.",
"type": "object",
"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"
}
},
"required": [
"pull",
"triage",
"push",
"maintain",
"admin"
]
},
"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"
},
"type": {
"description": "The ownership type of the team",
"type": "string",
"enum": [
"enterprise",
"organization"
]
},
"organization_id": {
"type": "integer",
"description": "Unique identifier of the organization to which this team belongs",
"example": 37
},
"enterprise_id": {
"type": "integer",
"description": "Unique identifier of the enterprise to which this team belongs",
"example": 42
},
"parent": {
"title": "Team Simple",
"description": "Groups of organization members that gives permissions on specified repositories.",
"type": "object",
"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"
},
"type": {
"description": "The ownership type of the team",
"type": "string",
"enum": [
"enterprise",
"organization"
]
},
"organization_id": {
"type": "integer",
"description": "Unique identifier of the organization to which this team belongs",
"example": 37
},
"enterprise_id": {
"type": "integer",
"description": "Unique identifier of the enterprise to which this team belongs",
"example": 42
}
},
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"type"
],
"nullable": true
}
},
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"parent",
"type"
]
}
},
"apps": {
"description": "The list of apps allowed to bypass pull request requirements.",
"type": "array",
"items": {
"title": "GitHub app",
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.",
"type": "object",
"nullable": true,
"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=="
},
"client_id": {
"type": "string",
"example": "\"Iv1.25b5d1e65ffc4022\""
},
"owner": {
"oneOf": [
{
"title": "Simple User",
"description": "A GitHub user.",
"type": "object",
"properties": {
"name": {
"nullable": true,
"type": "string"
},
"email": {
"nullable": true,
"type": "string"
},
"login": {
"type": "string",
"example": "octocat"
},
"id": {
"type": "integer",
"format": "int64",
"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\""
},
"user_view_type": {
"type": "string",
"example": "public"
}
},
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
]
},
{
"title": "Enterprise",
"description": "An enterprise on GitHub.",
"type": "object",
"properties": {
"description": {
"description": "A short description of the enterprise.",
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/enterprises/octo-business"
},
"website_url": {
"description": "The enterprise's website URL.",
"type": "string",
"nullable": true,
"format": "uri"
},
"id": {
"description": "Unique identifier of the enterprise",
"example": 42,
"type": "integer"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"name": {
"description": "The name of the enterprise.",
"type": "string",
"example": "Octo Business"
},
"slug": {
"description": "The slug url identifier for the enterprise.",
"type": "string",
"example": "octo-business"
},
"created_at": {
"type": "string",
"nullable": true,
"format": "date-time",
"example": "2019-01-26T19:01:12Z"
},
"updated_at": {
"type": "string",
"nullable": true,
"format": "date-time",
"example": "2019-01-26T19:14:43Z"
},
"avatar_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"node_id",
"name",
"slug",
"html_url",
"created_at",
"updated_at",
"avatar_url"
]
}
]
},
"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-08T16:18:44-04:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-08T16:18:44-04:00"
},
"permissions": {
"description": "The set of permissions for the GitHub app",
"type": "object",
"properties": {
"issues": {
"type": "string"
},
"checks": {
"type": "string"
},
"metadata": {
"type": "string"
},
"contents": {
"type": "string"
},
"deployments": {
"type": "string"
}
},
"additionalProperties": {
"type": "string"
},
"example": {
"issues": "read",
"deployments": "write"
}
},
"events": {
"description": "The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation.",
"example": [
"label",
"deployment"
],
"type": "array",
"items": {
"type": "string"
}
},
"installations_count": {
"description": "The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself.",
"example": 5,
"type": "integer"
}
},
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at",
"permissions",
"events"
]
}
}
}
},
"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
}
},
"required": [
"dismiss_stale_reviews",
"require_code_owner_reviews"
]
}Usage
from ocp_agent import OCPAgent
agent = OCPAgent()
await agent.register_api('github')
# Call this tool
result = await agent.call_tool('reposUpdatePullRequestReviewProtection', {
# Add required parameters here
})