{ "name": "Github", "spec_source": "openapi_spec", "token_for_http_testing": "", "package_name": "github_api", "package_dir_path": "/Users/franciscojuniodelimaliberal/git/Team/arcade-mcp/toolkits/github_api/arcade_github_api", "project_dir_path": "/Users/franciscojuniodelimaliberal/git/Team/arcade-mcp/toolkits/github_api", "arcade_new_cmd_executed": true, "api_endpoint_selection_customized": false, "api_endpoint_for_http_testing": "", "authorization_type": "oauth", "auth_provider_id": "arcade-github", "where_to_provide_token": "header", "token_key_name": "Authorization", "token_value": "Bearer {authorization}", "secrets": [ { "arcade_key_name": "GIT_SERVER_URL", "service_key_name": "git_server_url", "where_to_provide": "path", "formatted_value": null } ], "global_base_url": "{git_server_url}", "global_headers": {}, "edit_operations": [], "uuid": "051becd8-6f19-49aa-8dfb-1abe846a092d", "api_endpoints": [ { "name": "meta/root", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_root_links", "description": { "tagline": "Retrieve Hypermedia links to GitHub's REST API resources.", "detailed": "Call this tool to obtain Hypermedia links that provide access to various resources in GitHub's REST API. Useful for navigating the capabilities and endpoints available in GitHub's API." }, "return_annotation": "Hypermedia links to GitHub REST API resources.", "arguments": [] }, "method": "GET", "path": "/", "tags": ["meta"], "summary": "GitHub API Root", "description": "Get Hypermedia links to resources accessible in GitHub's REST API", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-global-webhooks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_global_webhooks", "description": { "tagline": "Retrieve a list of global webhooks from GitHub Enterprise.", "detailed": "Use this tool to obtain a list of all global webhooks configured in a GitHub Enterprise environment. Ideal for administrators managing hooks across the entire enterprise." }, "return_annotation": "List of global webhooks for GitHub Enterprise.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to include in each page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_number"], "description": "Specify the page number of the results to fetch. This is used to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/admin/hooks", "tags": ["enterprise-admin"], "summary": "List global webhooks", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-global-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_global_webhook", "description": { "tagline": "Create a global webhook in GitHub Enterprise Admin.", "detailed": "Use this tool to create a global webhook for GitHub Enterprise. It should be called when you need to set up notifications for all repositories across the organization." }, "return_annotation": "Details of the newly created global webhook.", "arguments": [ { "name": "payload_delivery_url", "alternative_names": ["webhook_target_url", "notification_url"], "description": "The destination URL where the webhook payloads will be delivered. Ensure this URL is accessible and properly configured to handle incoming requests.", "endpoint_argument_name": "config.url" }, { "name": "webhook_type", "alternative_names": ["hook_type", "webhook_name"], "description": "Specifies the type of webhook. Must be set to \"web\".", "endpoint_argument_name": "name" }, { "name": "payload_content_type", "alternative_names": ["payload_format_type", "serialization_format"], "description": "Specifies the media type for payload serialization. Options: 'json', 'form'. Default is 'form'.", "endpoint_argument_name": "config.content_type" }, { "name": "ssl_verification", "alternative_names": ["ssl_certificate_verification", "verify_ssl"], "description": "Set '0' to verify SSL certificate of the host for the URL; '1' to skip verification. Default is '0'. Avoid setting to '1' to prevent security risks.", "endpoint_argument_name": "config.insecure_ssl" }, { "name": "hmac_key_for_signature", "alternative_names": ["webhook_secret_key", "signature_secret"], "description": "The key for generating the HMAC hex digest in the X-Hub-Signature header. Optional.", "endpoint_argument_name": "config.secret" }, { "name": "trigger_events", "alternative_names": ["webhook_events", "global_webhook_events"], "description": "List of events that trigger the webhook. Default events are `user` and `organization`.", "endpoint_argument_name": "events" }, { "name": "send_notifications", "alternative_names": ["notification_enabled", "notifications_active"], "description": "Set to `true` to send notifications when the webhook is triggered.", "endpoint_argument_name": "active" } ] }, "method": "POST", "path": "/admin/hooks", "tags": ["enterprise-admin"], "summary": "Create a global webhook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "active", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", "required": false, "deprecated": false, "default": true, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "schema_required": false }, { "name": "config.content_type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "schema_required": false }, { "name": "config.insecure_ssl", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**" }, "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**" }, "schema_required": false }, { "name": "config.secret", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header." }, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header." }, "schema_required": false }, { "name": "config.url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." }, "description": "The URL to which the payloads will be delivered.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The URL to which the payloads will be delivered." }, "schema_required": true }, { "name": "events", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`." }, "description": "The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`.", "items": { "type": "string" } }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Must be passed as \"web\"." }, "description": "Must be passed as \"web\".", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Must be passed as \"web\"." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"config\": {\n \"content_type\": \"json\",\n \"secret\": \"secret\",\n \"url\": \"https://example.com/webhook\"\n },\n \"events\": [\n \"organization\",\n \"user\"\n ],\n \"name\": \"web\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"default\": true,\n \"description\": \"Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\",\n \"type\": \"boolean\"\n },\n \"config\": {\n \"description\": \"Key/value pairs to provide settings for this webhook.\",\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"type\": \"string\"\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header.\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"events\": {\n \"description\": \"The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"description\": \"Must be passed as \\\"web\\\".\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"config\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/delete-global-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_global_webhook", "description": { "tagline": "Delete a global webhook in GitHub Enterprise.", "detailed": "Use this tool to delete a global webhook in a GitHub Enterprise setup. It should be called when there's a need to remove a webhook that is no longer required." }, "return_annotation": "Confirmation of webhook deletion.", "arguments": [ { "name": "webhook_id", "alternative_names": ["hook_identifier", "global_hook_id"], "description": "The unique identifier of the global webhook to be deleted.", "endpoint_argument_name": "hook_id" } ] }, "method": "DELETE", "path": "/admin/hooks/{hook_id}", "tags": ["enterprise-admin"], "summary": "Delete a global webhook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-global-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_global_webhook", "description": { "tagline": "Retrieve details of a specific global webhook in GitHub Enterprise.", "detailed": "Use this tool to obtain detailed information about a specific global webhook in a GitHub Enterprise setup by providing the hook ID." }, "return_annotation": "Details of the specified global webhook.", "arguments": [ { "name": "global_webhook_id", "alternative_names": ["webhook_identifier", "hook_reference_id"], "description": "The unique identifier for the global webhook in GitHub Enterprise. Provide this ID to retrieve specific webhook details.", "endpoint_argument_name": "hook_id" } ] }, "method": "GET", "path": "/admin/hooks/{hook_id}", "tags": ["enterprise-admin"], "summary": "Get a global webhook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-global-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_global_webhook", "description": { "tagline": "Update a GitHub enterprise global webhook.", "detailed": "Use this tool to modify settings of a global webhook in GitHub Enterprise. Parameters not provided will default or be removed if no default exists." }, "return_annotation": "Updates and returns the status of a global webhook.", "arguments": [ { "name": "webhook_identifier", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique integer identifier for the webhook that needs to be updated.", "endpoint_argument_name": "hook_id" }, { "name": "payload_media_type", "alternative_names": ["payload_format_type", "serialization_media_type"], "description": "The media type for payload serialization. Supported values: `json`, `form`. Default is `form`.", "endpoint_argument_name": "config.content_type" }, { "name": "verify_ssl_certificate", "alternative_names": ["ssl_certificate_verification", "insecure_ssl_setting"], "description": "Determines SSL certificate verification for payload delivery. Use '0' for verification and '1' to skip (not recommended). Default is '0'.", "endpoint_argument_name": "config.insecure_ssl" }, { "name": "hmac_secret_key", "alternative_names": ["webhook_secret_key", "payload_secret_key"], "description": "Secret key for generating HMAC hex digest value in `X-Hub-Signature` header.", "endpoint_argument_name": "config.secret" }, { "name": "payload_delivery_url", "alternative_names": ["payload_url", "webhook_target_url"], "description": "The URL where webhook payloads will be delivered for processing.", "endpoint_argument_name": "config.url" }, { "name": "webhook_trigger_events", "alternative_names": ["global_webhook_events", "webhook_events"], "description": "The events that trigger the global webhook. Can include 'user', 'organization'. Defaults to both if not specified.", "endpoint_argument_name": "events" }, { "name": "send_notifications_on_trigger", "alternative_names": ["enable_notifications_on_trigger", "trigger_notifications"], "description": "Set to `true` to send notifications when the webhook is triggered.", "endpoint_argument_name": "active" } ] }, "method": "PATCH", "path": "/admin/hooks/{hook_id}", "tags": ["enterprise-admin"], "summary": "Update a global webhook", "description": "Parameters that are not provided will be overwritten with the default value or removed if no default exists.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "active", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", "required": false, "deprecated": false, "default": true, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "schema_required": false }, { "name": "config.content_type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "schema_required": false }, { "name": "config.insecure_ssl", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**" }, "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**" }, "schema_required": false }, { "name": "config.secret", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header." }, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header." }, "schema_required": false }, { "name": "config.url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." }, "description": "The URL to which the payloads will be delivered.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The URL to which the payloads will be delivered." }, "schema_required": false }, { "name": "events", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`." }, "description": "The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`.", "items": { "type": "string" } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"config\": {\n \"url\": \"https://example.com/webhook\"\n },\n \"events\": [\n \"organization\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"default\": true,\n \"description\": \"Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\",\n \"type\": \"boolean\"\n },\n \"config\": {\n \"description\": \"Key/value pairs to provide settings for this webhook.\",\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"type\": \"string\"\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers) header.\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"events\": {\n \"description\": \"The [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/ping-global-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "trigger_github_webhook_ping", "description": { "tagline": "Trigger a ping event to a GitHub webhook.", "detailed": "This tool sends a ping event to the specified GitHub webhook to test connectivity or configuration. It should be called when it's necessary to verify if the webhook setup is correct." }, "return_annotation": "Confirmation of the ping event being sent to a webhook.", "arguments": [ { "name": "webhook_hook_id", "alternative_names": ["webhook_id", "hook_identifier"], "description": "The unique identifier of the GitHub webhook to ping.", "endpoint_argument_name": "hook_id" } ] }, "method": "POST", "path": "/admin/hooks/{hook_id}/pings", "tags": ["enterprise-admin"], "summary": "Ping a global webhook", "description": "This will trigger a [ping event](https://docs.github.com/enterprise-server@3.8/webhooks/#ping-event) to be sent to the webhook.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-public-keys", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_public_keys", "description": { "tagline": "Retrieve GitHub Enterprise Admin public keys.", "detailed": "Use this tool to obtain a list of public keys available for GitHub Enterprise Admin. Ideal for administrators needing to access or audit public keys." }, "return_annotation": "A list of public keys for GitHub Enterprise Admin.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of results to display per page. Maximum allowed is 100. Use to limit the amount of data retrieved per call.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["results_page_number", "fetch_page_number"], "description": "The specific page number of results to retrieve.", "endpoint_argument_name": "page" }, { "name": "sort_direction", "alternative_names": ["order_direction", "sorting_order"], "description": "The direction to sort the results: 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "sort_order", "alternative_names": ["sorting_criteria", "order_by"], "description": "Criteria for sorting results. Options: 'created', 'updated', 'accessed'.", "endpoint_argument_name": "sort" }, { "name": "filter_keys_accessed_since", "alternative_names": ["keys_since", "public_keys_from_time"], "description": "Specify a timestamp to only list public keys accessed after this time. Use ISO 8601 format.", "endpoint_argument_name": "since" } ] }, "method": "GET", "path": "/admin/keys", "tags": ["enterprise-admin"], "summary": "List public keys", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "accessed"], "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "accessed"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show public keys accessed after the given time." }, "description": "Only show public keys accessed after the given time.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/delete-public-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_public_key", "description": { "tagline": "Delete a public key from GitHub Enterprise.", "detailed": "Use this tool to delete a specific public key from a GitHub Enterprise account. This should be called when an obsolete or compromised key needs to be removed." }, "return_annotation": "Confirmation of public key deletion from GitHub Enterprise.", "arguments": [ { "name": "public_key_identifier", "alternative_names": ["key_unique_id", "public_key_id"], "description": "The unique identifier of the public key to delete from GitHub Enterprise.", "endpoint_argument_name": "key_ids" } ] }, "method": "DELETE", "path": "/admin/keys/{key_ids}", "tags": ["enterprise-admin"], "summary": "Delete a public key", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "key_ids", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the key." }, "description": "The unique identifier of the key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-ldap-mapping-for-team", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_ldap_mapping_for_team", "description": { "tagline": "Update the LDAP mapping for a GitHub team.", "detailed": "Use this tool to update the distinguished name (DN) of an LDAP entry mapped to a GitHub team. LDAP synchronization must be enabled for this operation." }, "return_annotation": "Confirmation of LDAP mapping update for a team.", "arguments": [ { "name": "team_id", "alternative_names": ["team_identifier", "team_unique_id"], "description": "The unique identifier of the GitHub team to update LDAP mapping for.", "endpoint_argument_name": "team_id" }, { "name": "ldap_distinguished_name", "alternative_names": ["distinguished_name", "ldap_dn"], "description": "The distinguished name (DN) of the LDAP entry to map to a team. This should be a string following the LDAP DN format.", "endpoint_argument_name": "ldap_dn" } ] }, "method": "PATCH", "path": "/admin/ldap/teams/{team_id}/mapping", "tags": ["enterprise-admin"], "summary": "Update LDAP mapping for a team", "description": "Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "ldap_dn", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team." }, "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"ldap_dn\": \"cn=Enterprise Ops,ou=teams,dc=github,dc=com\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"ldap_dn\": {\n \"description\": \"The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"ldap_dn\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/sync-ldap-mapping-for-team", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "queue_ldap_sync_for_team", "description": { "tagline": "Queue an LDAP sync job for a specified team.", "detailed": "This tool is used to queue an LDAP sync job for a specific GitHub team. It should be called when you want to sync LDAP mappings for a team. A successful response indicates the job has been queued, not that it has been completed." }, "return_annotation": "Indicates if the LDAP sync job was successfully queued.", "arguments": [ { "name": "team_id", "alternative_names": ["team_identifier", "team_unique_id"], "description": "The unique identifier of the GitHub team for which the LDAP sync job should be queued.", "endpoint_argument_name": "team_id" } ] }, "method": "POST", "path": "/admin/ldap/teams/{team_id}/sync", "tags": ["enterprise-admin"], "summary": "Sync LDAP mapping for a team", "description": "Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-ldap-mapping-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_ldap_mapping_for_user", "description": { "tagline": "Update LDAP mapping for a user in GitHub Enterprise Admin.", "detailed": "This tool is used to update the LDAP mapping for a specific user in the GitHub Enterprise environment. It should be called when there's a need to modify or correct the LDAP information associated with a user's account." }, "return_annotation": "Confirms the update of LDAP mapping for a user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The handle for the GitHub user account to update the LDAP mapping for.", "endpoint_argument_name": "username" }, { "name": "ldap_distinguished_name", "alternative_names": ["ldap_entry_dn", "ldap_user_dn"], "description": "The distinguished name (DN) of the LDAP entry to map to a team. It should be in a string format as specified [here](https://www.ldap.com/ldap-dns-and-rdns).", "endpoint_argument_name": "ldap_dn" } ] }, "method": "PATCH", "path": "/admin/ldap/users/{username}/mapping", "tags": ["enterprise-admin"], "summary": "Update LDAP mapping for a user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "ldap_dn", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team." }, "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"ldap_dn\": \"uid=asdf,ou=users,dc=github,dc=com\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"ldap_dn\": {\n \"description\": \"The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"ldap_dn\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/sync-ldap-mapping-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "sync_github_ldap_user_mapping", "description": { "tagline": "Queue a sync job for LDAP mapping of a GitHub user.", "detailed": "Use this tool to queue a job to sync LDAP mapping for a specific GitHub user. This does not initiate immediate synchronization but queues it for when the instance is ready. A response of `201` indicates successful queuing." }, "return_annotation": "Indicates if the LDAP sync job for the user was successfully queued.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["user_handle", "github_username"], "description": "The GitHub user account handle to queue LDAP sync for.", "endpoint_argument_name": "username" } ] }, "method": "POST", "path": "/admin/ldap/users/{username}/sync", "tags": ["enterprise-admin"], "summary": "Sync LDAP mapping for a user", "description": "Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_organization", "description": { "tagline": "Create a new organization on GitHub.", "detailed": "This tool is used to create a new organization on GitHub Enterprise. Call it when you need to set up a new organization within a GitHub Enterprise setup." }, "return_annotation": "Details of the created GitHub organization.", "arguments": [ { "name": "admin_user_login", "alternative_names": ["organization_admin_login", "org_manager_login"], "description": "The login username of the user designated to manage the new GitHub organization.", "endpoint_argument_name": "admin" }, { "name": "organization_username", "alternative_names": ["organization_login", "org_user_name"], "description": "The username for the organization in GitHub.", "endpoint_argument_name": "login" }, { "name": "organization_display_name", "alternative_names": ["org_display_name", "organization_name_display"], "description": "The display name for the organization to be created on GitHub.", "endpoint_argument_name": "profile_name" } ] }, "method": "POST", "path": "/admin/organizations", "tags": ["enterprise-admin"], "summary": "Create an organization", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "admin", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The login of the user who will manage this organization." }, "description": "The login of the user who will manage this organization.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The login of the user who will manage this organization." }, "schema_required": true }, { "name": "login", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization's username." }, "description": "The organization's username.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The organization's username." }, "schema_required": true }, { "name": "profile_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization's display name." }, "description": "The organization's display name.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The organization's display name." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"admin\": \"monalisaoctocat\",\n \"login\": \"github\",\n \"profile_name\": \"GitHub, Inc.\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"admin\": {\n \"description\": \"The login of the user who will manage this organization.\",\n \"type\": \"string\"\n },\n \"login\": {\n \"description\": \"The organization's username.\",\n \"type\": \"string\"\n },\n \"profile_name\": {\n \"description\": \"The organization's display name.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"login\",\n \"admin\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/update-org-name", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_org_name", "description": { "tagline": "Updates the organization name on GitHub Enterprise.", "detailed": "Use this tool to update the name of an organization in GitHub Enterprise Administration. Ideal for managing organizational details in GitHub Enterprise settings." }, "return_annotation": "Confirmation of the updated organization name.", "arguments": [ { "name": "current_organization_name", "alternative_names": ["existing_org_name", "present_org_name"], "description": "The current name of the organization to be updated. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "new_organization_name", "alternative_names": ["new_org_name", "organization_new_name"], "description": "The new name for the organization on GitHub Enterprise. This will be the name you want to update to.", "endpoint_argument_name": "login" } ] }, "method": "PATCH", "path": "/admin/organizations/{org}", "tags": ["enterprise-admin"], "summary": "Update an organization name", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "login", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization's new name." }, "description": "The organization's new name.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The organization's new name." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"login\": \"the-new-octocats\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"login\": {\n \"description\": \"The organization's new name.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"login\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-pre-receive-environments", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pre_receive_environments", "description": { "tagline": "Retrieve a list of pre-receive environments for GitHub Enterprise.", "detailed": "This tool is used to fetch and list all pre-receive environments in a GitHub Enterprise instance. It should be called when you need to inspect or manage pre-receive environments." }, "return_annotation": "A list of pre-receive environments for admin inspection.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "limit_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Specifies the page number of results to fetch. Use this to navigate through paginated data.", "endpoint_argument_name": "page" }, { "name": "sort_direction", "alternative_names": ["sorting_order", "results_order"], "description": "Specifies the order to sort results: 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "sort", "alternative_names": ["order_by", "sort_by"], "description": "Criteria to sort the results: 'created', 'updated', or 'name'.", "endpoint_argument_name": "sort" } ] }, "method": "GET", "path": "/admin/pre-receive-environments", "tags": ["enterprise-admin"], "summary": "List pre-receive environments", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "name"], "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "name"] }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-pre-receive-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_pre_receive_environment", "description": { "tagline": "Create a new pre-receive environment on GitHub Enterprise.", "detailed": "This tool is used to create a pre-receive environment in GitHub Enterprise. It should be called when you need to set up an environment for pre-receive hooks." }, "return_annotation": "Details of the newly created pre-receive environment.", "arguments": [ { "name": "tarball_download_url", "alternative_names": ["environment_tarball_url", "pre_receive_tarball_url"], "description": "URL to download the tarball for the pre-receive environment setup.", "endpoint_argument_name": "image_url" }, { "name": "pre_receive_environment_name", "alternative_names": ["environment_name", "pre_receive_name"], "description": "The name of the new pre-receive environment to be created.", "endpoint_argument_name": "name" } ] }, "method": "POST", "path": "/admin/pre-receive-environments", "tags": ["enterprise-admin"], "summary": "Create a pre-receive environment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "image_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "URL from which to download a tarball of this environment." }, "description": "URL from which to download a tarball of this environment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "URL from which to download a tarball of this environment." }, "schema_required": true }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new pre-receive environment's name." }, "description": "The new pre-receive environment's name.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new pre-receive environment's name." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"image_url\": \"https://my_file_server/path/to/devtools_env.tar.gz\",\n \"name\": \"DevTools Hook Env\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"image_url\": {\n \"description\": \"URL from which to download a tarball of this environment.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The new pre-receive environment's name.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"image_url\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/delete-pre-receive-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_pre_receive_environment", "description": { "tagline": "Delete a specified pre-receive environment in GitHub Enterprise.", "detailed": "This tool deletes a specified pre-receive environment by its ID in GitHub Enterprise. If the environment cannot be deleted, a `422 Unprocessable Entity` response is returned with potential error messages indicating that the default environment cannot be modified or deleted, hooks are present, or a download is in progress." }, "return_annotation": "Confirmation of deletion or details of unprocessable entity error.", "arguments": [ { "name": "pre_receive_environment_identifier", "alternative_names": ["environment_id", "pre_receive_id"], "description": "The unique integer identifier of the pre-receive environment to be deleted.", "endpoint_argument_name": "pre_receive_environment_id" } ] }, "method": "DELETE", "path": "/admin/pre-receive-environments/{pre_receive_environment_id}", "tags": ["enterprise-admin"], "summary": "Delete a pre-receive environment", "description": "If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response.\n\nThe possible error messages are:\n\n* _Cannot modify or delete the default environment_\n* _Cannot delete environment that has hooks_\n* _Cannot delete environment when download is in progress_", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_environment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive environment." }, "description": "The unique identifier of the pre-receive environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-pre-receive-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_pre_receive_environment", "description": { "tagline": "Retrieve a GitHub pre-receive environment by ID.", "detailed": "Use this tool to get detailed information about a specific pre-receive environment in GitHub for enterprise administration purposes." }, "return_annotation": "Details of the specified pre-receive environment.", "arguments": [ { "name": "pre_receive_environment_id", "alternative_names": ["environment_id", "pre_receive_id"], "description": "The unique identifier for the GitHub pre-receive environment.", "endpoint_argument_name": "pre_receive_environment_id" } ] }, "method": "GET", "path": "/admin/pre-receive-environments/{pre_receive_environment_id}", "tags": ["enterprise-admin"], "summary": "Get a pre-receive environment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_environment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive environment." }, "description": "The unique identifier of the pre-receive environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-pre-receive-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_pre_receive_environment", "description": { "tagline": "Update a pre-receive environment in GitHub Enterprise.", "detailed": "Use this tool to update a specific pre-receive environment in a GitHub Enterprise setup. Note that the default environment cannot be modified." }, "return_annotation": "Response indicating the success or failure of the update operation.", "arguments": [ { "name": "pre_receive_environment_id", "alternative_names": ["environment_id", "pre_receive_id"], "description": "The unique identifier of the pre-receive environment to update.", "endpoint_argument_name": "pre_receive_environment_id" }, { "name": "tarball_download_url", "alternative_names": ["environment_tarball_url", "tarball_url"], "description": "The URL to download the tarball for the environment update.", "endpoint_argument_name": "image_url" }, { "name": "new_environment_name", "alternative_names": ["pre_receive_environment_new_name", "updated_environment_name"], "description": "The new name for the pre-receive environment.", "endpoint_argument_name": "name" } ] }, "method": "PATCH", "path": "/admin/pre-receive-environments/{pre_receive_environment_id}", "tags": ["enterprise-admin"], "summary": "Update a pre-receive environment", "description": "You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_environment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive environment." }, "description": "The unique identifier of the pre-receive environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "image_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "URL from which to download a tarball of this environment." }, "description": "URL from which to download a tarball of this environment.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "URL from which to download a tarball of this environment." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "This pre-receive environment's new name." }, "description": "This pre-receive environment's new name.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "This pre-receive environment's new name." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"image_url\": \"https://my_file_server/path/to/devtools_env.tar.gz\",\n \"name\": \"DevTools Hook Env\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"image_url\": {\n \"description\": \"URL from which to download a tarball of this environment.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"This pre-receive environment's new name.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/start-pre-receive-environment-download", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "trigger_environment_download", "description": { "tagline": "Start a new download of the environment tarball.", "detailed": "This tool triggers a new download of the environment tarball based on the specified `image_url`. Once completed, the downloaded tarball replaces the existing environment. It should be called when a new version of the environment is needed. If a download cannot be started due to constraints like ongoing downloads or protected environments, an error will be provided." }, "return_annotation": "Result of triggering the environment tarball download operation.", "arguments": [ { "name": "pre_receive_environment_id", "alternative_names": ["environment_id", "pre_receive_env_id"], "description": "The unique identifier for the pre-receive environment to trigger the download for.", "endpoint_argument_name": "pre_receive_environment_id" } ] }, "method": "POST", "path": "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads", "tags": ["enterprise-admin"], "summary": "Start a pre-receive environment download", "description": "Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment.\n\nIf a download cannot be triggered, you will receive a `422 Unprocessable Entity` response.\n\nThe possible error messages are:\n\n* _Cannot modify or delete the default environment_\n* _Can not start a new download when a download is in progress_", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_environment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive environment." }, "description": "The unique identifier of the pre-receive environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-download-status-for-pre-receive-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pre_receive_env_download_status", "description": { "tagline": "Retrieve the latest download status for a pre-receive environment.", "detailed": "Use this tool to check the most recent download status for a pre-receive environment within GitHub Enterprise Administration. It's useful for monitoring or verifying the status separately from other environment data." }, "return_annotation": "Provides the latest download status for a pre-receive environment.", "arguments": [ { "name": "pre_receive_environment_identifier", "alternative_names": ["pre_receive_env_id", "environment_unique_id"], "description": "The unique identifier for the pre-receive environment to retrieve its download status.", "endpoint_argument_name": "pre_receive_environment_id" } ] }, "method": "GET", "path": "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest", "tags": ["enterprise-admin"], "summary": "Get the download status for a pre-receive environment", "description": "In addition to seeing the download status at the \"[Get a pre-receive environment](#get-a-pre-receive-environment)\" endpoint, there is also this separate endpoint for just the download status.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_environment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive environment." }, "description": "The unique identifier of the pre-receive environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-pre-receive-hooks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pre_receive_hooks", "description": { "tagline": "Retrieve the list of pre-receive hooks in GitHub Enterprise.", "detailed": "Use this tool to get a list of all the pre-receive hooks configured in the GitHub Enterprise admin settings." }, "return_annotation": "A list of pre-receive hooks configured in the GitHub enterprise admin.", "arguments": [ { "name": "results_per_page", "alternative_names": ["results_page_size", "number_of_results_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "page_number"], "description": "The specific page number of results to retrieve, used for pagination.", "endpoint_argument_name": "page" }, { "name": "sort_direction", "alternative_names": ["sorting_direction", "result_sort_direction"], "description": "The direction to sort the results by. Options are 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "sort_results_by", "alternative_names": ["order_by_property", "sort_by_field"], "description": "Specify the property to sort the results by. Options are 'created', 'updated', or 'name'.", "endpoint_argument_name": "sort" } ] }, "method": "GET", "path": "/admin/pre-receive-hooks", "tags": ["enterprise-admin"], "summary": "List pre-receive hooks", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "name"], "properties": null, "inner_properties": null, "description": "The property to sort the results by." }, "description": "The property to sort the results by.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "name"] }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-pre-receive-hook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_pre_receive_hook", "description": { "tagline": "Create a pre-receive hook for GitHub enterprise administration.", "detailed": "Use this tool when you need to create a pre-receive hook for managing GitHub enterprise repositories. It's crucial for setting up checks before code is accepted." }, "return_annotation": "Details of the newly created pre-receive hook.", "arguments": [ { "name": "pre_receive_hook_configuration", "alternative_names": ["pre_receive_hook_settings", "hook_configuration"], "description": "A JSON object containing details for creating a pre-receive hook, including name, script, enforcement state, and other settings.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/admin/pre-receive-hooks", "tags": ["enterprise-admin"], "summary": "Create a pre-receive hook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "allow_downstream_configuration": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether enforcement can be overridden at the org or repo level. default: `false`" }, "enforcement": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The state of enforcement for this hook. default: `disabled`" }, "environment": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The pre-receive environment where the script is executed." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the hook." }, "script": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The script that the hook runs." }, "script_repository": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The GitHub repository where the script is kept." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "allow_downstream_configuration": { "type": "boolean", "description": "Whether enforcement can be overridden at the org or repo level. default: `false`" }, "enforcement": { "type": "string", "description": "The state of enforcement for this hook. default: `disabled`" }, "environment": { "type": "object", "description": "The pre-receive environment where the script is executed.", "properties": {}, "additionalProperties": true }, "name": { "type": "string", "description": "The name of the hook." }, "script": { "type": "string", "description": "The script that the hook runs." }, "script_repository": { "type": "object", "description": "The GitHub repository where the script is kept.", "properties": {}, "additionalProperties": true } }, "required": ["name", "script", "script_repository", "environment"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allow_downstream_configuration\": false,\n \"enforcement\": \"disabled\",\n \"environment\": {\n \"id\": 2\n },\n \"name\": \"Check Commits\",\n \"script\": \"scripts/commit_check.sh\",\n \"script_repository\": {\n \"full_name\": \"DevIT/hooks\"\n }\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_downstream_configuration\": {\n \"description\": \"Whether enforcement can be overridden at the org or repo level. default: `false`\",\n \"type\": \"boolean\"\n },\n \"enforcement\": {\n \"description\": \"The state of enforcement for this hook. default: `disabled`\",\n \"type\": \"string\"\n },\n \"environment\": {\n \"additionalProperties\": true,\n \"description\": \"The pre-receive environment where the script is executed.\",\n \"properties\": {},\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"The name of the hook.\",\n \"type\": \"string\"\n },\n \"script\": {\n \"description\": \"The script that the hook runs.\",\n \"type\": \"string\"\n },\n \"script_repository\": {\n \"additionalProperties\": true,\n \"description\": \"The GitHub repository where the script is kept.\",\n \"properties\": {},\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"name\",\n \"script\",\n \"script_repository\",\n \"environment\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/delete-pre-receive-hook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_pre_receive_hook", "description": { "tagline": "Delete a pre-receive hook from GitHub Enterprise Admin.", "detailed": "This tool deletes a pre-receive hook from a GitHub Enterprise Server instance. Use it when you need to remove a specific pre-receive hook, identified by its ID, from the administrative settings." }, "return_annotation": "Acknowledgment of pre-receive hook deletion.", "arguments": [ { "name": "pre_receive_hook_identifier", "alternative_names": ["pre_receive_hook_id_number", "hook_identifier"], "description": "The unique identifier for the pre-receive hook to delete.", "endpoint_argument_name": "pre_receive_hook_id" } ] }, "method": "DELETE", "path": "/admin/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Delete a pre-receive hook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-pre-receive-hook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pre_receive_hook", "description": { "tagline": "Retrieve details of a specific pre-receive hook in GitHub Enterprise Admin.", "detailed": "This tool is used to get information about a specific pre-receive hook by its ID in GitHub Enterprise. It is helpful for administrators managing repositories who need to view hook configurations." }, "return_annotation": "Details of the specified pre-receive hook.", "arguments": [ { "name": "pre_receive_hook_id", "alternative_names": ["hook_id", "prehook_id"], "description": "The unique identifier of the pre-receive hook to retrieve details for.", "endpoint_argument_name": "pre_receive_hook_id" } ] }, "method": "GET", "path": "/admin/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Get a pre-receive hook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-pre-receive-hook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_pre_receive_hook", "description": { "tagline": "Update a GitHub enterprise pre-receive hook.", "detailed": "Use this tool to update details of a pre-receive hook in a GitHub enterprise environment. This is useful for modifying hook settings or configurations." }, "return_annotation": "Details of the updated pre-receive hook.", "arguments": [ { "name": "pre_receive_hook_id", "alternative_names": ["hook_id", "pre_receive_id"], "description": "The unique identifier of the pre-receive hook in the GitHub enterprise environment. This is required for updating hook details.", "endpoint_argument_name": "pre_receive_hook_id" }, { "name": "pre_receive_hook_request_body", "alternative_names": ["hook_update_details", "pre_receive_hook_config"], "description": "A JSON object containing fields such as 'allow_downstream_configuration', 'enforcement', 'environment', 'name', 'script', and 'script_repository'. These specify details to update the pre-receive hook.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/admin/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Update a pre-receive hook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "allow_downstream_configuration": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether enforcement can be overridden at the org or repo level." }, "enforcement": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The state of enforcement for this hook." }, "environment": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The pre-receive environment where the script is executed." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the hook." }, "script": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The script that the hook runs." }, "script_repository": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The GitHub repository where the script is kept." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "allow_downstream_configuration": { "type": "boolean", "description": "Whether enforcement can be overridden at the org or repo level." }, "enforcement": { "type": "string", "description": "The state of enforcement for this hook." }, "environment": { "type": "object", "description": "The pre-receive environment where the script is executed.", "properties": {}, "additionalProperties": true }, "name": { "type": "string", "description": "The name of the hook." }, "script": { "type": "string", "description": "The script that the hook runs." }, "script_repository": { "type": "object", "description": "The GitHub repository where the script is kept.", "properties": {}, "additionalProperties": true } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allow_downstream_configuration\": true,\n \"environment\": {\n \"id\": 1\n },\n \"name\": \"Check Commits\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_downstream_configuration\": {\n \"description\": \"Whether enforcement can be overridden at the org or repo level.\",\n \"type\": \"boolean\"\n },\n \"enforcement\": {\n \"description\": \"The state of enforcement for this hook.\",\n \"type\": \"string\"\n },\n \"environment\": {\n \"additionalProperties\": true,\n \"description\": \"The pre-receive environment where the script is executed.\",\n \"properties\": {},\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"The name of the hook.\",\n \"type\": \"string\"\n },\n \"script\": {\n \"description\": \"The script that the hook runs.\",\n \"type\": \"string\"\n },\n \"script_repository\": {\n \"additionalProperties\": true,\n \"description\": \"The GitHub repository where the script is kept.\",\n \"properties\": {},\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/list-personal-access-tokens", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_personal_access_tokens", "description": { "tagline": "Retrieve personal access tokens for all users including admins.", "detailed": "This tool calls the GitHub API to list personal access tokens for all users in an enterprise, including admin users. It's useful for administrators wanting to audit or manage user access tokens." }, "return_annotation": "List of personal access tokens for all users.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "tokens_per_page"], "description": "Number of results to return per page. Maximum value is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["token_page_number", "access_token_page"], "description": "The page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/admin/tokens", "tags": ["enterprise-admin"], "summary": "List personal access tokens", "description": "Lists personal access tokens for all users, including admin users.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/delete-personal-access-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_personal_access_token", "description": { "tagline": "Delete a GitHub personal access token.", "detailed": "Deletes a specified GitHub personal access token. Use when you need to remove a token. If the token is in use, such as being accessed by the token itself, a '403 - Forbidden' status will be returned." }, "return_annotation": "Confirmation of token deletion or error message.", "arguments": [ { "name": "github_token_id", "alternative_names": ["token_identifier", "unique_token_id"], "description": "The unique identifier of the GitHub personal access token to delete.", "endpoint_argument_name": "token_id" } ] }, "method": "DELETE", "path": "/admin/tokens/{token_id}", "tags": ["enterprise-admin"], "summary": "Delete a personal access token", "description": "Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "token_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the token." }, "description": "The unique identifier of the token.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_enterprise_user", "description": { "tagline": "Creates a new user in GitHub enterprise with external authentication.", "detailed": "This tool should be called to create a new user in GitHub Enterprise when using external authentication mechanisms like LDAP. It ensures the login name is normalized and manages existing account conflicts." }, "return_annotation": "Details of the newly created GitHub enterprise user.", "arguments": [ { "name": "user_username", "alternative_names": ["username", "user_login"], "description": "The user's username for the GitHub enterprise account. It will be normalized to contain only alphanumeric characters or single hyphens.", "endpoint_argument_name": "login" }, { "name": "user_email", "alternative_names": ["enterprise_user_email", "new_user_email"], "description": "The email address of the user. Required for built-in authentication but optional for CAS, LDAP, or SAML auth methods.", "endpoint_argument_name": "email" } ] }, "method": "POST", "path": "/admin/users", "tags": ["enterprise-admin"], "summary": "Create a user", "description": "If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user.\n\nThe login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send `\"octo_cat\"` as the login, a user named `\"octo-cat\"` will be created.\n\nIf the login name or email address is already associated with an account, the server will return a `422` response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "email", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Required for built-in authentication.** The user's email\naddress. This parameter can be omitted when using CAS, LDAP, or SAML.\nFor more information, see \"[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise).\"" }, "description": "**Required for built-in authentication.** The user's email\naddress. This parameter can be omitted when using CAS, LDAP, or SAML.\nFor more information, see \"[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise).\"", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "**Required for built-in authentication.** The user's email\naddress. This parameter can be omitted when using CAS, LDAP, or SAML.\nFor more information, see \"[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise).\"" }, "schema_required": false }, { "name": "login", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The user's username." }, "description": "The user's username.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The user's username." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"email\": \"octocat@github.com\",\n \"login\": \"monalisa\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"email\": {\n \"description\": \"**Required for built-in authentication.** The user's email\\naddress. This parameter can be omitted when using CAS, LDAP, or SAML.\\nFor more information, see \\\"[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise).\\\"\",\n \"type\": \"string\"\n },\n \"login\": {\n \"description\": \"The user's username.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"login\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/delete-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_enterprise_user", "description": { "tagline": "Delete a GitHub Enterprise user and their data.", "detailed": "Use this tool to permanently delete a user on GitHub Enterprise, including all their data such as repositories and personal settings. Consider if suspending the user would be a better option before using this tool." }, "return_annotation": "Confirmation of user deletion on GitHub Enterprise.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_handle"], "description": "The handle for the GitHub user account to be deleted. Ensure it's the correct user, as this action is irreversible.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/admin/users/{username}", "tags": ["enterprise-admin"], "summary": "Delete a user", "description": "Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#suspend-a-user) is often a better option.\n\nYou can delete any user account except your own.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-username-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_username", "description": { "tagline": "Update a GitHub user's username.", "detailed": "Use this tool to change the username for a user in a GitHub enterprise environment." }, "return_annotation": "Confirmation of username update on GitHub.", "arguments": [ { "name": "current_github_username", "alternative_names": ["github_user_handle", "existing_github_username"], "description": "The current handle of the GitHub user account to be updated.", "endpoint_argument_name": "username" }, { "name": "new_github_username", "alternative_names": ["desired_github_username", "updated_github_username"], "description": "The new username for the GitHub user account.", "endpoint_argument_name": "login" } ] }, "method": "PATCH", "path": "/admin/users/{username}", "tags": ["enterprise-admin"], "summary": "Update the username for a user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "login", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The user's new username." }, "description": "The user's new username.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The user's new username." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"login\": \"thenewmonalisa\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"login\": {\n \"description\": \"The user's new username.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"login\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/delete-impersonation-o-auth-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_impersonation_oauth_token", "description": { "tagline": "Deletes an impersonation OAuth token for a user in GitHub Enterprise Admin.", "detailed": "Use this tool to remove an OAuth token for a specific user's impersonation in GitHub Enterprise Admin. This is useful for security and access management in organization environments." }, "return_annotation": "Confirms the deletion of the impersonation OAuth token.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The GitHub user account handle for which the impersonation OAuth token will be deleted.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/admin/users/{username}/authorizations", "tags": ["enterprise-admin"], "summary": "Delete an impersonation OAuth token", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-impersonation-o-auth-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_impersonation_oauth_token", "description": { "tagline": "Create an impersonation OAuth token for a GitHub user.", "detailed": "This tool is used to generate an impersonation OAuth token for a specified GitHub user, typically for enterprise administration purposes. It should be called when there is a need to access a user's resources on their behalf in an enterprise GitHub environment." }, "return_annotation": "Details of the created impersonation OAuth token.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["user_github_handle", "github_username"], "description": "The GitHub user account handle for which to create the impersonation OAuth token.", "endpoint_argument_name": "username" }, { "name": "oauth_scopes_list", "alternative_names": ["token_permission_scopes", "authorization_scopes_list"], "description": "A list of scopes defining the permissions for the OAuth token. Each scope is a string representing a specific set of access rights. Refer to [scopes documentation](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) for valid options.", "endpoint_argument_name": "scopes" } ] }, "method": "POST", "path": "/admin/users/{username}/authorizations", "tags": ["enterprise-admin"], "summary": "Create an impersonation OAuth token", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "scopes", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of [scopes](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." }, "description": "A list of [scopes](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "A list of [scopes](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"scopes\": [\n \"public_repo\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"scopes\": {\n \"description\": \"A list of [scopes](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"scopes\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "apps/get-authenticated", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_info", "description": { "tagline": "Retrieve details about the authenticated GitHub App.", "detailed": "This tool returns information about the GitHub App associated with the authentication credentials. It provides details such as the number of installations linked to the app. It's useful to check app configuration and installation status." }, "return_annotation": "Information about the authenticated GitHub App including installations count.", "arguments": [] }, "method": "GET", "path": "/app", "tags": ["apps"], "summary": "Get the authenticated app", "description": "Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the \"[List installations for the authenticated app](https://docs.github.com/enterprise-server@3.8/rest/reference/apps#list-installations-for-the-authenticated-app)\" endpoint.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/create-from-manifest", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "complete_github_app_handshake", "description": { "tagline": "Complete the GitHub App Manifest handshake to retrieve app details.", "detailed": "Use this tool to finalize the creation of a GitHub App via the manifest flow, retrieving the app's id, pem (private key), and webhook_secret using a temporary code." }, "return_annotation": "GitHub App's details including id, pem, and webhook_secret.", "arguments": [ { "name": "temporary_code_for_github_app", "alternative_names": ["github_app_manifest_code", "app_handshake_temp_code"], "description": "The temporary code provided during the GitHub App Manifest flow to retrieve the app's id, pem, and webhook_secret.", "endpoint_argument_name": "code" } ] }, "method": "POST", "path": "/app-manifests/{code}/conversions", "tags": ["apps"], "summary": "Create a GitHub App from a manifest", "description": "Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "code", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/get-webhook-config-for-app", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_webhook_config", "description": { "tagline": "Fetches the webhook configuration for a GitHub App.", "detailed": "This tool retrieves the webhook configuration details for a specific GitHub App. It should be called when you need to review or manage the webhook settings of your GitHub App. Note that access requires authentication using a JWT." }, "return_annotation": "Returns the webhook configuration details for a GitHub App.", "arguments": [] }, "method": "GET", "path": "/app/hook/config", "tags": ["apps"], "summary": "Get a webhook configuration for an app", "description": "Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/update-webhook-config-for-app", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_app_webhook_config", "description": { "tagline": "Update the webhook configuration for a GitHub App.", "detailed": "Use this tool to update the webhook configuration settings for a GitHub App. This requires authentication with a JSON Web Token (JWT)." }, "return_annotation": "Confirmation of updated webhook configuration for the app.", "arguments": [ { "name": "webhook_configuration", "alternative_names": ["webhook_settings", "webhook_config"], "description": "A JSON object containing the webhook settings: 'content_type' for payload serialization, 'insecure_ssl' for SSL verification, 'secret' for HMAC signature key, and 'url' for the payload delivery endpoint.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/app/hook/config", "tags": ["apps"], "summary": "Update a webhook configuration for an app", "description": "Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content_type\": \"json\",\n \"insecure_ssl\": \"0\",\n \"secret\": \"********\",\n \"url\": \"https://example.com/webhook\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "apps/list-webhook-deliveries", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_webhook_deliveries", "description": { "tagline": "Retrieve webhook deliveries for a GitHub App.", "detailed": "Use this tool to obtain a list of webhook deliveries associated with a GitHub App. Authentication requires a JWT." }, "return_annotation": "A list of webhook deliveries for a GitHub App.", "arguments": [ { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "The number of webhook deliveries to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "pagination_cursor", "alternative_names": ["starting_delivery_cursor", "page_cursor"], "description": "Starting point for pagination to fetch a page of deliveries. Use the `link` header to find next and previous page cursors.", "endpoint_argument_name": "cursor" }, { "name": "only_redeliveries", "alternative_names": ["filter_to_redeliveries", "include_only_redeliveries"], "description": "Set to true to include only redeliveries in the results.", "endpoint_argument_name": "redelivery" } ] }, "method": "GET", "path": "/app/hook/deliveries", "tags": ["apps"], "summary": "List deliveries for an app webhook", "description": "Returns a list of webhook deliveries for the webhook configured for a GitHub App.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "cursor", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors." }, "description": "Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "redelivery", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/get-webhook-delivery", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_webhook_delivery", "description": { "tagline": "Retrieve delivery details for a GitHub App webhook.", "detailed": "Fetches the delivery information for a specific webhook configured in a GitHub App. This tool should be called when you need to obtain details about a specific delivery event linked to a webhook. Ensure you are authenticated with a JWT to access this information." }, "return_annotation": "Webhook delivery details for a GitHub App.", "arguments": [ { "name": "webhook_delivery_id", "alternative_names": [ "github_webhook_delivery_identifier", "webhook_event_delivery_id" ], "description": "The ID of the webhook delivery to retrieve. Must be an integer.", "endpoint_argument_name": "delivery_id" } ] }, "method": "GET", "path": "/app/hook/deliveries/{delivery_id}", "tags": ["apps"], "summary": "Get a delivery for an app webhook", "description": "Returns a delivery for the webhook configured for a GitHub App.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "delivery_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/redeliver-webhook-delivery", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "redeliver_github_webhook_delivery", "description": { "tagline": "Redeliver a GitHub App webhook delivery.", "detailed": "Use this tool to redeliver a webhook delivery for a GitHub App. Authentication with a JWT is required for access." }, "return_annotation": "Confirmation of webhook delivery redelivery.", "arguments": [ { "name": "webhook_delivery_id", "alternative_names": ["delivery_identifier", "webhook_id"], "description": "The unique integer ID of the webhook delivery to be redelivered.", "endpoint_argument_name": "delivery_id" } ] }, "method": "POST", "path": "/app/hook/deliveries/{delivery_id}/attempts", "tags": ["apps"], "summary": "Redeliver a delivery for an app webhook", "description": "Redeliver a delivery for the webhook configured for a GitHub App.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "delivery_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/list-installations", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_app_installations", "description": { "tagline": "Retrieve installations of a GitHub app using a JWT.", "detailed": "Use this tool to get a list of all installations for a GitHub app. The response includes details about the permissions granted to each installation. This is useful for managing and auditing app installations." }, "return_annotation": "A list of installations for the GitHub app, including permissions.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results to return per page. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page", "paging_number"], "description": "Specify the page number of the results you want to retrieve, allowing pagination through the results. Useful for fetching specific subsets of data.", "endpoint_argument_name": "page" }, { "name": "notifications_updated_since", "alternative_names": ["notifications_since", "updates_since"], "description": "Specify a timestamp in ISO 8601 format to filter installations updated after this time. Format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "include_outdated", "alternative_names": ["fetch_outdated", "show_outdated"], "description": "Include or exclude outdated installations in the results. Pass 'true' to include them.", "endpoint_argument_name": "outdated" } ] }, "method": "GET", "path": "/app/installations", "tags": ["apps"], "summary": "List installations for the authenticated app", "description": "You must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n\nThe permissions the installation has are included under the `permissions` key.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "outdated", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/delete-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "uninstall_github_app", "description": { "tagline": "Uninstall a GitHub App from an account.", "detailed": "This tool is used to uninstall a GitHub App from a user, organization, or business account. It should be called when you want to permanently remove an app's access. For temporary suspension, consider using the suspend endpoint instead. Authentication requires a JWT." }, "return_annotation": "Confirmation message of app uninstallation", "arguments": [ { "name": "installation_id", "alternative_names": ["app_installation_id", "github_installation_id"], "description": "The unique identifier of the GitHub App installation to uninstall.", "endpoint_argument_name": "installation_id" } ] }, "method": "DELETE", "path": "/app/installations/{installation_id}", "tags": ["apps"], "summary": "Delete an installation for the authenticated app", "description": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"[Suspend an app installation](https://docs.github.com/enterprise-server@3.8/rest/reference/apps/#suspend-an-app-installation)\" endpoint.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/get-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_installation_info", "description": { "tagline": "Fetch information of a GitHub App installation by ID.", "detailed": "Use this tool to retrieve detailed information about a specific GitHub App installation using its installation ID. Useful for scenarios where you need to know the configuration or settings of a particular installation." }, "return_annotation": "Returns information about a specific GitHub App installation.", "arguments": [ { "name": "installation_id", "alternative_names": ["installation_identifier", "app_installation_id"], "description": "The unique identifier of the GitHub App installation to fetch information for.", "endpoint_argument_name": "installation_id" } ] }, "method": "GET", "path": "/app/installations/{installation_id}", "tags": ["apps"], "summary": "Get an installation for the authenticated app", "description": "Enables an authenticated GitHub App to find an installation's information using the installation id.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/create-installation-access-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_app_installation_token", "description": { "tagline": "Create an installation access token for a GitHub App.", "detailed": "Use this tool to generate an installation access token for a GitHub App, allowing it to make authenticated API requests for its installation on an organization or individual account. Tokens expire in one hour and can be restricted to specific repositories by providing `repository_ids`. Requires JWT authentication." }, "return_annotation": "Installation access token for a GitHub App.", "arguments": [ { "name": "installation_id", "alternative_names": ["app_installation_id", "github_installation_id"], "description": "The unique identifier for the GitHub App installation. Required to create the access token.", "endpoint_argument_name": "installation_id" }, { "name": "installation_access_token_permissions", "alternative_names": ["access_token_permissions", "installation_token_permissions"], "description": "Define the permissions and repository access for the installation access token. Include permissions as an object specifying \"read\" or \"write\" for each action and lists of repository names or IDs.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/app/installations/{installation_id}/access_tokens", "tags": ["apps"], "summary": "Create an installation access token for an app", "description": "Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "permissions": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "actions": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts." }, "administration": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation." }, "checks": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for checks on code." }, "contents": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges." }, "deployments": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for deployments and deployment statuses." }, "environments": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for managing repository environments." }, "issues": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones." }, "members": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for organization teams and members." }, "metadata": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata." }, "organization_administration": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage access to an organization." }, "organization_announcement_banners": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage announcement banners for an organization." }, "organization_hooks": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization." }, "organization_packages": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for organization packages published to GitHub Packages." }, "organization_plan": { "val_type": "string", "inner_val_type": null, "enum": ["read"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for viewing an organization's plan." }, "organization_projects": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage organization projects and projects beta (where available)." }, "organization_secrets": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage organization secrets." }, "organization_self_hosted_runners": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization." }, "organization_user_blocking": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage users blocked by the organization." }, "packages": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for packages published to GitHub Packages." }, "pages": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds." }, "pull_requests": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges." }, "repository_announcement_banners": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage announcement banners for a repository." }, "repository_hooks": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository." }, "repository_projects": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage repository projects, columns, and cards." }, "secret_scanning_alerts": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage secret scanning alerts." }, "secrets": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage repository secrets." }, "security_events": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts." }, "single_file": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage just a single file." }, "statuses": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for commit statuses." }, "team_discussions": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage team discussions and related comments." }, "vulnerability_alerts": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage Dependabot alerts." }, "workflows": { "val_type": "string", "inner_val_type": null, "enum": ["write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to update GitHub Actions workflow files." } }, "inner_properties": null, "description": "The permissions granted to the user-to-server access token." }, "repositories": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "List of repository names that the token should have access to" }, "repository_ids": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of repository IDs that the token should have access to" } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "permissions": { "type": "object", "title": "App Permissions", "description": "The permissions granted to the user-to-server access token.", "properties": { "actions": { "type": "string", "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.", "enum": ["read", "write"] }, "administration": { "type": "string", "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.", "enum": ["read", "write"] }, "checks": { "type": "string", "description": "The level of permission to grant the access token for checks on code.", "enum": ["read", "write"] }, "contents": { "type": "string", "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.", "enum": ["read", "write"] }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", "enum": ["read", "write"] }, "environments": { "type": "string", "description": "The level of permission to grant the access token for managing repository environments.", "enum": ["read", "write"] }, "issues": { "type": "string", "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.", "enum": ["read", "write"] }, "members": { "type": "string", "description": "The level of permission to grant the access token for organization teams and members.", "enum": ["read", "write"] }, "metadata": { "type": "string", "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.", "enum": ["read", "write"] }, "organization_administration": { "type": "string", "description": "The level of permission to grant the access token to manage access to an organization.", "enum": ["read", "write"] }, "organization_announcement_banners": { "type": "string", "description": "The level of permission to grant the access token to view and manage announcement banners for an organization.", "enum": ["read", "write"] }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", "enum": ["read", "write"] }, "organization_packages": { "type": "string", "description": "The level of permission to grant the access token for organization packages published to GitHub Packages.", "enum": ["read", "write"] }, "organization_plan": { "type": "string", "description": "The level of permission to grant the access token for viewing an organization's plan.", "enum": ["read"] }, "organization_projects": { "type": "string", "description": "The level of permission to grant the access token to manage organization projects and projects beta (where available).", "enum": ["read", "write", "admin"] }, "organization_secrets": { "type": "string", "description": "The level of permission to grant the access token to manage organization secrets.", "enum": ["read", "write"] }, "organization_self_hosted_runners": { "type": "string", "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.", "enum": ["read", "write"] }, "organization_user_blocking": { "type": "string", "description": "The level of permission to grant the access token to view and manage users blocked by the organization.", "enum": ["read", "write"] }, "packages": { "type": "string", "description": "The level of permission to grant the access token for packages published to GitHub Packages.", "enum": ["read", "write"] }, "pages": { "type": "string", "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.", "enum": ["read", "write"] }, "pull_requests": { "type": "string", "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.", "enum": ["read", "write"] }, "repository_announcement_banners": { "type": "string", "description": "The level of permission to grant the access token to view and manage announcement banners for a repository.", "enum": ["read", "write"] }, "repository_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository.", "enum": ["read", "write"] }, "repository_projects": { "type": "string", "description": "The level of permission to grant the access token to manage repository projects, columns, and cards.", "enum": ["read", "write", "admin"] }, "secret_scanning_alerts": { "type": "string", "description": "The level of permission to grant the access token to view and manage secret scanning alerts.", "enum": ["read", "write"] }, "secrets": { "type": "string", "description": "The level of permission to grant the access token to manage repository secrets.", "enum": ["read", "write"] }, "security_events": { "type": "string", "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts.", "enum": ["read", "write"] }, "single_file": { "type": "string", "description": "The level of permission to grant the access token to manage just a single file.", "enum": ["read", "write"] }, "statuses": { "type": "string", "description": "The level of permission to grant the access token for commit statuses.", "enum": ["read", "write"] }, "team_discussions": { "type": "string", "description": "The level of permission to grant the access token to manage team discussions and related comments.", "enum": ["read", "write"] }, "vulnerability_alerts": { "type": "string", "description": "The level of permission to grant the access token to manage Dependabot alerts.", "enum": ["read", "write"] }, "workflows": { "type": "string", "description": "The level of permission to grant the access token to update GitHub Actions workflow files.", "enum": ["write"] } } }, "repositories": { "type": "array", "description": "List of repository names that the token should have access to", "items": { "type": "string", "example": "rails" } }, "repository_ids": { "type": "array", "description": "List of repository IDs that the token should have access to", "items": { "type": "integer" } } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"permissions\": {\n \"contents\": \"read\",\n \"issues\": \"write\"\n },\n \"repository\": \"Hello-World\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"permissions\": {\n \"description\": \"The permissions granted to the user-to-server access token.\",\n \"example\": {\n \"contents\": \"read\",\n \"deployments\": \"write\",\n \"issues\": \"read\",\n \"single_file\": \"read\"\n },\n \"properties\": {\n \"actions\": {\n \"description\": \"The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"administration\": {\n \"description\": \"The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"checks\": {\n \"description\": \"The level of permission to grant the access token for checks on code.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"contents\": {\n \"description\": \"The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"deployments\": {\n \"description\": \"The level of permission to grant the access token for deployments and deployment statuses.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"environments\": {\n \"description\": \"The level of permission to grant the access token for managing repository environments.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"issues\": {\n \"description\": \"The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"members\": {\n \"description\": \"The level of permission to grant the access token for organization teams and members.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"metadata\": {\n \"description\": \"The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_administration\": {\n \"description\": \"The level of permission to grant the access token to manage access to an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_announcement_banners\": {\n \"description\": \"The level of permission to grant the access token to view and manage announcement banners for an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_hooks\": {\n \"description\": \"The level of permission to grant the access token to manage the post-receive hooks for an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_packages\": {\n \"description\": \"The level of permission to grant the access token for organization packages published to GitHub Packages.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_plan\": {\n \"description\": \"The level of permission to grant the access token for viewing an organization's plan.\",\n \"enum\": [\n \"read\"\n ],\n \"type\": \"string\"\n },\n \"organization_projects\": {\n \"description\": \"The level of permission to grant the access token to manage organization projects and projects beta (where available).\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\"\n ],\n \"type\": \"string\"\n },\n \"organization_secrets\": {\n \"description\": \"The level of permission to grant the access token to manage organization secrets.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_self_hosted_runners\": {\n \"description\": \"The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_user_blocking\": {\n \"description\": \"The level of permission to grant the access token to view and manage users blocked by the organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"packages\": {\n \"description\": \"The level of permission to grant the access token for packages published to GitHub Packages.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"pages\": {\n \"description\": \"The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"pull_requests\": {\n \"description\": \"The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"repository_announcement_banners\": {\n \"description\": \"The level of permission to grant the access token to view and manage announcement banners for a repository.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"repository_hooks\": {\n \"description\": \"The level of permission to grant the access token to manage the post-receive hooks for a repository.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"repository_projects\": {\n \"description\": \"The level of permission to grant the access token to manage repository projects, columns, and cards.\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\"\n ],\n \"type\": \"string\"\n },\n \"secret_scanning_alerts\": {\n \"description\": \"The level of permission to grant the access token to view and manage secret scanning alerts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"secrets\": {\n \"description\": \"The level of permission to grant the access token to manage repository secrets.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"security_events\": {\n \"description\": \"The level of permission to grant the access token to view and manage security events like code scanning alerts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"single_file\": {\n \"description\": \"The level of permission to grant the access token to manage just a single file.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"statuses\": {\n \"description\": \"The level of permission to grant the access token for commit statuses.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"team_discussions\": {\n \"description\": \"The level of permission to grant the access token to manage team discussions and related comments.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"vulnerability_alerts\": {\n \"description\": \"The level of permission to grant the access token to manage Dependabot alerts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"workflows\": {\n \"description\": \"The level of permission to grant the access token to update GitHub Actions workflow files.\",\n \"enum\": [\n \"write\"\n ],\n \"type\": \"string\"\n }\n },\n \"title\": \"App Permissions\",\n \"type\": \"object\"\n },\n \"repositories\": {\n \"description\": \"List of repository names that the token should have access to\",\n \"items\": {\n \"example\": \"rails\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"repository_ids\": {\n \"description\": \"List of repository IDs that the token should have access to\",\n \"example\": [\n 1\n ],\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "apps/unsuspend-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_github_app_suspension", "description": { "tagline": "Unsuspend a GitHub App installation.", "detailed": "This tool removes the suspension of a GitHub App installation. Use this when you need to reactivate an app on GitHub that has been suspended. Requires authentication with a JSON Web Token (JWT) as a GitHub App." }, "return_annotation": "Indicates the success of unsuspending a GitHub App installation.", "arguments": [ { "name": "installation_id", "alternative_names": ["app_installation_id", "github_installation_id"], "description": "The unique identifier for the GitHub App installation to be unsuspended.", "endpoint_argument_name": "installation_id" } ] }, "method": "DELETE", "path": "/app/installations/{installation_id}/suspended", "tags": ["apps"], "summary": "Unsuspend an app installation", "description": "Removes a GitHub App installation suspension.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/suspend-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "suspend_github_app_installation", "description": { "tagline": "Suspend a GitHub App's installation for specified accounts.", "detailed": "Use this tool to suspend a GitHub App on a user, organization, or business account. This blocks the app from accessing the account's resources via the GitHub Enterprise Server API or webhook events. Note: A JWT is required for authentication." }, "return_annotation": "Confirmation of the suspension status.", "arguments": [ { "name": "installation_id", "alternative_names": ["installation_identifier", "app_installation_id"], "description": "The unique identifier of the GitHub App installation to suspend.", "endpoint_argument_name": "installation_id" } ] }, "method": "PUT", "path": "/app/installations/{installation_id}/suspended", "tags": ["apps"], "summary": "Suspend an app installation", "description": "Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub Enterprise Server API or webhook events is blocked for that account.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/list-grants", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/applications/grants", "tags": ["oauth-authorizations"], "summary": "List your grants", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `[\"repo\", \"user\"]`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of your GitHub app." }, "description": "The client ID of your GitHub app.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/delete-grant", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/applications/grants/{grant_id}", "tags": ["oauth-authorizations"], "summary": "Delete a grant", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "grant_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the grant." }, "description": "The unique identifier of the grant.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/get-grant", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/applications/grants/{grant_id}", "tags": ["oauth-authorizations"], "summary": "Get a single grant", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "grant_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the grant." }, "description": "The unique identifier of the grant.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/delete-authorization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "revoke_github_oauth_grant", "description": { "tagline": "Revoke OAuth grant for a GitHub application and user.", "detailed": "This tool is used to revoke a grant for a specified user's OAuth application on GitHub. It requires Basic Authentication using the application's client_id and client_secret, along with the user's access_token. Once executed, it deletes all OAuth tokens for the user associated with the application, removing the application's access to the user's GitHub account." }, "return_annotation": "Confirmation of OAuth grant revocation for a user.", "arguments": [ { "name": "github_app_client_id", "alternative_names": ["client_identifier_github", "app_client_key_github"], "description": "The unique client ID for the GitHub app, used for Basic Authentication.", "endpoint_argument_name": "client_id" }, { "name": "oauth_access_token", "alternative_names": ["user_access_token", "github_access_token"], "description": "The OAuth access token for authenticating the GitHub API and revoking the grant.", "endpoint_argument_name": "access_token" } ] }, "method": "DELETE", "path": "/applications/{client_id}/grant", "tags": ["apps"], "summary": "Delete an app authorization", "description": "OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the GitHub app." }, "description": "The client ID of the GitHub app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "access_token", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OAuth access token used to authenticate to the GitHub API." }, "description": "The OAuth access token used to authenticate to the GitHub API.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The OAuth access token used to authenticate to the GitHub API." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"access_token\": \"e72e16c7e42f292c6912e7710c838347ae178b4a\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"access_token\": {\n \"description\": \"The OAuth access token used to authenticate to the GitHub API.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"access_token\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "apps/delete-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "revoke_github_oauth_token", "description": { "tagline": "Revoke a GitHub OAuth application's token.", "detailed": "Use this tool to revoke a single token for a GitHub OAuth application. Requires basic authentication with the application's client ID and client secret." }, "return_annotation": "Confirmation of token revocation status.", "arguments": [ { "name": "github_app_client_id", "alternative_names": ["oauth_app_client_id", "github_client_id"], "description": "The client ID of the GitHub OAuth application to identify the app during token revocation.", "endpoint_argument_name": "client_id" }, { "name": "oauth_access_token", "alternative_names": ["github_access_token", "authentication_token"], "description": "The OAuth access token used to authenticate to the GitHub API. Required for token revocation.", "endpoint_argument_name": "access_token" } ] }, "method": "DELETE", "path": "/applications/{client_id}/token", "tags": ["apps"], "summary": "Delete an app token", "description": "OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the GitHub app." }, "description": "The client ID of the GitHub app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "access_token", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OAuth access token used to authenticate to the GitHub API." }, "description": "The OAuth access token used to authenticate to the GitHub API.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The OAuth access token used to authenticate to the GitHub API." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"access_token\": \"e72e16c7e42f292c6912e7710c838347ae178b4a\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"access_token\": {\n \"description\": \"The OAuth access token used to authenticate to the GitHub API.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"access_token\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "apps/reset-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "reset_github_oauth_token", "description": { "tagline": "Reset an OAuth token for a GitHub application.", "detailed": "Use this tool to reset a valid OAuth token for a GitHub application using Basic Authentication with the application's client_id and client_secret. This operation invalidates the previous token immediately. A 404 error indicates the token was invalid." }, "return_annotation": "Newly reset OAuth token details.", "arguments": [ { "name": "github_app_client_id", "alternative_names": ["app_client_id", "github_client_id"], "description": "The client ID of the GitHub application required for resetting the OAuth token.", "endpoint_argument_name": "client_id" }, { "name": "oauth_access_token", "alternative_names": ["github_access_token", "app_access_token"], "description": "The access token of the OAuth application to be reset.", "endpoint_argument_name": "access_token" } ] }, "method": "PATCH", "path": "/applications/{client_id}/token", "tags": ["apps"], "summary": "Reset a token", "description": "OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the GitHub app." }, "description": "The client ID of the GitHub app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "access_token", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The access_token of the OAuth application." }, "description": "The access_token of the OAuth application.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The access_token of the OAuth application." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"access_token\": \"e72e16c7e42f292c6912e7710c838347ae178b4a\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"access_token\": {\n \"description\": \"The access_token of the OAuth application.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"access_token\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "apps/check-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_github_token_validity", "description": { "tagline": "Check GitHub OAuth token validity with reduced rate limits.", "detailed": "" }, "return_annotation": "Result of the GitHub token validation.", "arguments": [ { "name": "github_app_client_id", "alternative_names": ["client_id_for_github_app", "github_app_id"], "description": "The unique client ID of the GitHub application for OAuth authentication.", "endpoint_argument_name": "client_id" }, { "name": "oauth_access_token", "alternative_names": ["access_token", "github_access_token"], "description": "The OAuth access token to verify its validity with the GitHub API.", "endpoint_argument_name": "access_token" } ] }, "method": "POST", "path": "/applications/{client_id}/token", "tags": ["apps"], "summary": "Check a token", "description": "OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the GitHub app." }, "description": "The client ID of the GitHub app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "access_token", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The access_token of the OAuth application." }, "description": "The access_token of the OAuth application.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The access_token of the OAuth application." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"access_token\": \"e72e16c7e42f292c6912e7710c838347ae178b4a\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"access_token\": {\n \"description\": \"The access_token of the OAuth application.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"access_token\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "apps/scope-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_scoped_token", "description": { "tagline": "Create a GitHub repository and permission scoped token.", "detailed": "This tool generates a repository and/or permission scoped user-to-server access token for GitHub. It requires a non-scoped token and the client's Basic Authentication details. Use this when specific repository access or permission is needed for an app." }, "return_annotation": "Details of the newly created GitHub scoped access token.", "arguments": [ { "name": "github_client_id", "alternative_names": ["github_app_client_id", "github_application_id"], "description": "The client ID of your GitHub app used for authentication.", "endpoint_argument_name": "client_id" }, { "name": "token_scope_request_body", "alternative_names": ["github_token_permissions", "github_scope_request_details"], "description": "JSON object specifying access token, targeted repositories or IDs, target user or organization, and desired permissions levels.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/applications/{client_id}/token/scoped", "tags": ["apps"], "summary": "Create a scoped access token", "description": "Use a non-scoped user-to-server access token to create a repository scoped and/or permission scoped user-to-server access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the GitHub app." }, "description": "The client ID of the GitHub app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "access_token": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The access token used to authenticate to the GitHub API." }, "permissions": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "actions": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts." }, "administration": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation." }, "checks": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for checks on code." }, "contents": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges." }, "deployments": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for deployments and deployment statuses." }, "environments": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for managing repository environments." }, "issues": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones." }, "members": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for organization teams and members." }, "metadata": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata." }, "organization_administration": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage access to an organization." }, "organization_announcement_banners": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage announcement banners for an organization." }, "organization_hooks": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization." }, "organization_packages": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for organization packages published to GitHub Packages." }, "organization_plan": { "val_type": "string", "inner_val_type": null, "enum": ["read"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for viewing an organization's plan." }, "organization_projects": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage organization projects and projects beta (where available)." }, "organization_secrets": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage organization secrets." }, "organization_self_hosted_runners": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization." }, "organization_user_blocking": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage users blocked by the organization." }, "packages": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for packages published to GitHub Packages." }, "pages": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds." }, "pull_requests": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges." }, "repository_announcement_banners": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage announcement banners for a repository." }, "repository_hooks": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository." }, "repository_projects": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage repository projects, columns, and cards." }, "secret_scanning_alerts": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage secret scanning alerts." }, "secrets": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage repository secrets." }, "security_events": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts." }, "single_file": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage just a single file." }, "statuses": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token for commit statuses." }, "team_discussions": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage team discussions and related comments." }, "vulnerability_alerts": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to manage Dependabot alerts." }, "workflows": { "val_type": "string", "inner_val_type": null, "enum": ["write"], "properties": null, "inner_properties": null, "description": "The level of permission to grant the access token to update GitHub Actions workflow files." } }, "inner_properties": null, "description": "The permissions granted to the user-to-server access token." }, "repositories": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified." }, "repository_ids": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified." }, "target": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified." }, "target_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "access_token": { "type": "string", "description": "The access token used to authenticate to the GitHub API.", "example": "e72e16c7e42f292c6912e7710c838347ae178b4a" }, "permissions": { "type": "object", "title": "App Permissions", "description": "The permissions granted to the user-to-server access token.", "properties": { "actions": { "type": "string", "description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.", "enum": ["read", "write"] }, "administration": { "type": "string", "description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.", "enum": ["read", "write"] }, "checks": { "type": "string", "description": "The level of permission to grant the access token for checks on code.", "enum": ["read", "write"] }, "contents": { "type": "string", "description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.", "enum": ["read", "write"] }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", "enum": ["read", "write"] }, "environments": { "type": "string", "description": "The level of permission to grant the access token for managing repository environments.", "enum": ["read", "write"] }, "issues": { "type": "string", "description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.", "enum": ["read", "write"] }, "members": { "type": "string", "description": "The level of permission to grant the access token for organization teams and members.", "enum": ["read", "write"] }, "metadata": { "type": "string", "description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.", "enum": ["read", "write"] }, "organization_administration": { "type": "string", "description": "The level of permission to grant the access token to manage access to an organization.", "enum": ["read", "write"] }, "organization_announcement_banners": { "type": "string", "description": "The level of permission to grant the access token to view and manage announcement banners for an organization.", "enum": ["read", "write"] }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", "enum": ["read", "write"] }, "organization_packages": { "type": "string", "description": "The level of permission to grant the access token for organization packages published to GitHub Packages.", "enum": ["read", "write"] }, "organization_plan": { "type": "string", "description": "The level of permission to grant the access token for viewing an organization's plan.", "enum": ["read"] }, "organization_projects": { "type": "string", "description": "The level of permission to grant the access token to manage organization projects and projects beta (where available).", "enum": ["read", "write", "admin"] }, "organization_secrets": { "type": "string", "description": "The level of permission to grant the access token to manage organization secrets.", "enum": ["read", "write"] }, "organization_self_hosted_runners": { "type": "string", "description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.", "enum": ["read", "write"] }, "organization_user_blocking": { "type": "string", "description": "The level of permission to grant the access token to view and manage users blocked by the organization.", "enum": ["read", "write"] }, "packages": { "type": "string", "description": "The level of permission to grant the access token for packages published to GitHub Packages.", "enum": ["read", "write"] }, "pages": { "type": "string", "description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.", "enum": ["read", "write"] }, "pull_requests": { "type": "string", "description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.", "enum": ["read", "write"] }, "repository_announcement_banners": { "type": "string", "description": "The level of permission to grant the access token to view and manage announcement banners for a repository.", "enum": ["read", "write"] }, "repository_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for a repository.", "enum": ["read", "write"] }, "repository_projects": { "type": "string", "description": "The level of permission to grant the access token to manage repository projects, columns, and cards.", "enum": ["read", "write", "admin"] }, "secret_scanning_alerts": { "type": "string", "description": "The level of permission to grant the access token to view and manage secret scanning alerts.", "enum": ["read", "write"] }, "secrets": { "type": "string", "description": "The level of permission to grant the access token to manage repository secrets.", "enum": ["read", "write"] }, "security_events": { "type": "string", "description": "The level of permission to grant the access token to view and manage security events like code scanning alerts.", "enum": ["read", "write"] }, "single_file": { "type": "string", "description": "The level of permission to grant the access token to manage just a single file.", "enum": ["read", "write"] }, "statuses": { "type": "string", "description": "The level of permission to grant the access token for commit statuses.", "enum": ["read", "write"] }, "team_discussions": { "type": "string", "description": "The level of permission to grant the access token to manage team discussions and related comments.", "enum": ["read", "write"] }, "vulnerability_alerts": { "type": "string", "description": "The level of permission to grant the access token to manage Dependabot alerts.", "enum": ["read", "write"] }, "workflows": { "type": "string", "description": "The level of permission to grant the access token to update GitHub Actions workflow files.", "enum": ["write"] } } }, "repositories": { "type": "array", "description": "The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.", "items": { "type": "string", "example": "rails" } }, "repository_ids": { "type": "array", "description": "The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.", "items": { "type": "integer" } }, "target": { "type": "string", "description": "The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified.", "example": "octocat" }, "target_id": { "type": "integer", "description": "The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified.", "example": 1 } }, "required": ["access_token"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"access_token\": \"e72e16c7e42f292c6912e7710c838347ae178b4a\",\n \"permissions\": {\n \"contents\": \"read\",\n \"issues\": \"write\",\n \"metadata\": \"read\"\n },\n \"target\": \"octocat\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"access_token\": {\n \"description\": \"The access token used to authenticate to the GitHub API.\",\n \"example\": \"e72e16c7e42f292c6912e7710c838347ae178b4a\",\n \"type\": \"string\"\n },\n \"permissions\": {\n \"description\": \"The permissions granted to the user-to-server access token.\",\n \"example\": {\n \"contents\": \"read\",\n \"deployments\": \"write\",\n \"issues\": \"read\",\n \"single_file\": \"read\"\n },\n \"properties\": {\n \"actions\": {\n \"description\": \"The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"administration\": {\n \"description\": \"The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"checks\": {\n \"description\": \"The level of permission to grant the access token for checks on code.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"contents\": {\n \"description\": \"The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"deployments\": {\n \"description\": \"The level of permission to grant the access token for deployments and deployment statuses.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"environments\": {\n \"description\": \"The level of permission to grant the access token for managing repository environments.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"issues\": {\n \"description\": \"The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"members\": {\n \"description\": \"The level of permission to grant the access token for organization teams and members.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"metadata\": {\n \"description\": \"The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_administration\": {\n \"description\": \"The level of permission to grant the access token to manage access to an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_announcement_banners\": {\n \"description\": \"The level of permission to grant the access token to view and manage announcement banners for an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_hooks\": {\n \"description\": \"The level of permission to grant the access token to manage the post-receive hooks for an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_packages\": {\n \"description\": \"The level of permission to grant the access token for organization packages published to GitHub Packages.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_plan\": {\n \"description\": \"The level of permission to grant the access token for viewing an organization's plan.\",\n \"enum\": [\n \"read\"\n ],\n \"type\": \"string\"\n },\n \"organization_projects\": {\n \"description\": \"The level of permission to grant the access token to manage organization projects and projects beta (where available).\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\"\n ],\n \"type\": \"string\"\n },\n \"organization_secrets\": {\n \"description\": \"The level of permission to grant the access token to manage organization secrets.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_self_hosted_runners\": {\n \"description\": \"The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"organization_user_blocking\": {\n \"description\": \"The level of permission to grant the access token to view and manage users blocked by the organization.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"packages\": {\n \"description\": \"The level of permission to grant the access token for packages published to GitHub Packages.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"pages\": {\n \"description\": \"The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"pull_requests\": {\n \"description\": \"The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"repository_announcement_banners\": {\n \"description\": \"The level of permission to grant the access token to view and manage announcement banners for a repository.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"repository_hooks\": {\n \"description\": \"The level of permission to grant the access token to manage the post-receive hooks for a repository.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"repository_projects\": {\n \"description\": \"The level of permission to grant the access token to manage repository projects, columns, and cards.\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\"\n ],\n \"type\": \"string\"\n },\n \"secret_scanning_alerts\": {\n \"description\": \"The level of permission to grant the access token to view and manage secret scanning alerts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"secrets\": {\n \"description\": \"The level of permission to grant the access token to manage repository secrets.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"security_events\": {\n \"description\": \"The level of permission to grant the access token to view and manage security events like code scanning alerts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"single_file\": {\n \"description\": \"The level of permission to grant the access token to manage just a single file.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"statuses\": {\n \"description\": \"The level of permission to grant the access token for commit statuses.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"team_discussions\": {\n \"description\": \"The level of permission to grant the access token to manage team discussions and related comments.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"vulnerability_alerts\": {\n \"description\": \"The level of permission to grant the access token to manage Dependabot alerts.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n },\n \"workflows\": {\n \"description\": \"The level of permission to grant the access token to update GitHub Actions workflow files.\",\n \"enum\": [\n \"write\"\n ],\n \"type\": \"string\"\n }\n },\n \"title\": \"App Permissions\",\n \"type\": \"object\"\n },\n \"repositories\": {\n \"description\": \"The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.\",\n \"items\": {\n \"example\": \"rails\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"repository_ids\": {\n \"description\": \"The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.\",\n \"example\": [\n 1\n ],\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"target\": {\n \"description\": \"The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified.\",\n \"example\": \"octocat\",\n \"type\": \"string\"\n },\n \"target_id\": {\n \"description\": \"The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified.\",\n \"example\": 1,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"access_token\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "apps/get-by-slug", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_details_by_slug", "description": { "tagline": "Retrieve GitHub App details using its slug.", "detailed": "Use this tool to obtain details about a GitHub App by providing its URL-friendly slug. This can be accessed without authentication for public apps, but requires authentication for private ones using a personal or installation access token." }, "return_annotation": "Details of the specified GitHub App.", "arguments": [ { "name": "github_app_slug", "alternative_names": ["application_slug", "app_slug_identifier"], "description": "The URL-friendly name of the GitHub App to retrieve details for. Found on the GitHub App settings page.", "endpoint_argument_name": "app_slug" } ] }, "method": "GET", "path": "/apps/{app_slug}", "tags": ["apps"], "summary": "Get an app", "description": "**Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).\n\nIf the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/enterprise-server@3.8/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "app_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/list-authorizations", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/authorizations", "tags": ["oauth-authorizations"], "summary": "List your authorizations", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of your GitHub app." }, "description": "The client ID of your GitHub app.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/create-authorization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "POST", "path": "/authorizations", "tags": ["oauth-authorizations"], "summary": "Create a new authorization", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nCreates OAuth tokens using [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\nTo create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them.\n\nYou can also create tokens on GitHub Enterprise Server from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/enterprise-server@3.8/articles/creating-an-access-token-for-command-line-use).\n\nOrganizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/enterprise-server@3.8/articles/about-identity-and-access-management-with-saml-single-sign-on).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "client_id": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OAuth app client key for which to create the token." }, "client_secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OAuth app client secret for which to create the token." }, "fingerprint": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique string to distinguish an authorization from others created for the same client ID and user." }, "note": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A note to remind you what the OAuth token is for." }, "note_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL to remind you what app the OAuth token is for." }, "scopes": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of scopes that this authorization is in." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "client_id": { "type": "string", "description": "The OAuth app client key for which to create the token." }, "client_secret": { "type": "string", "description": "The OAuth app client secret for which to create the token." }, "fingerprint": { "type": "string", "description": "A unique string to distinguish an authorization from others created for the same client ID and user." }, "note": { "type": "string", "description": "A note to remind you what the OAuth token is for.", "example": "Update all gems" }, "note_url": { "type": "string", "description": "A URL to remind you what app the OAuth token is for." }, "scopes": { "type": "array", "description": "A list of scopes that this authorization is in.", "items": { "type": "string" } } } }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/get-or-create-authorization-for-app", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PUT", "path": "/authorizations/clients/{client_id}", "tags": ["oauth-authorizations"], "summary": "Get-or-create an authorization for a specific app", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nCreates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\n**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the OAuth app." }, "description": "The client ID of the OAuth app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "client_secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OAuth app client secret for which to create the token." }, "fingerprint": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique string to distinguish an authorization from others created for the same client ID and user." }, "note": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A note to remind you what the OAuth token is for." }, "note_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL to remind you what app the OAuth token is for." }, "scopes": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of scopes that this authorization is in." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "client_secret": { "type": "string", "description": "The OAuth app client secret for which to create the token." }, "fingerprint": { "type": "string", "description": "A unique string to distinguish an authorization from others created for the same client ID and user." }, "note": { "type": "string", "description": "A note to remind you what the OAuth token is for.", "example": "Update all gems" }, "note_url": { "type": "string", "description": "A URL to remind you what app the OAuth token is for." }, "scopes": { "type": "array", "description": "A list of scopes that this authorization is in.", "items": { "type": "string" } } }, "required": ["client_secret"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PUT", "path": "/authorizations/clients/{client_id}/{fingerprint}", "tags": ["oauth-authorizations"], "summary": "Get-or-create an authorization for a specific app and fingerprint", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nThis method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "client_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The client ID of the OAuth app." }, "description": "The client ID of the OAuth app.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "fingerprint", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "client_secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OAuth app client secret for which to create the token." }, "note": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A note to remind you what the OAuth token is for." }, "note_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL to remind you what app the OAuth token is for." }, "scopes": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of scopes that this authorization is in." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "client_secret": { "type": "string", "description": "The OAuth app client secret for which to create the token." }, "note": { "type": "string", "description": "A note to remind you what the OAuth token is for.", "example": "Update all gems" }, "note_url": { "type": "string", "description": "A URL to remind you what app the OAuth token is for." }, "scopes": { "type": "array", "description": "A list of scopes that this authorization is in.", "items": { "type": "string" } } }, "required": ["client_secret"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/delete-authorization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/authorizations/{authorization_id}", "tags": ["oauth-authorizations"], "summary": "Delete an authorization", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "authorization_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the authorization." }, "description": "The unique identifier of the authorization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/get-authorization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/authorizations/{authorization_id}", "tags": ["oauth-authorizations"], "summary": "Get a single authorization", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "authorization_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the authorization." }, "description": "The unique identifier of the authorization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oauth-authorizations/update-authorization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PATCH", "path": "/authorizations/{authorization_id}", "tags": ["oauth-authorizations"], "summary": "Update an existing authorization", "description": "**Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.8/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.8/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\nYou can only send one of these scope keys at a time.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "authorization_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the authorization." }, "description": "The unique identifier of the authorization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "add_scopes": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of scopes to add to this authorization." }, "fingerprint": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique string to distinguish an authorization from others created for the same client ID and user." }, "note": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A note to remind you what the OAuth token is for." }, "note_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL to remind you what app the OAuth token is for." }, "remove_scopes": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of scopes to remove from this authorization." }, "scopes": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of scopes that this authorization is in." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "add_scopes": { "type": "array", "description": "A list of scopes to add to this authorization.", "items": { "type": "string" } }, "fingerprint": { "type": "string", "description": "A unique string to distinguish an authorization from others created for the same client ID and user." }, "note": { "type": "string", "description": "A note to remind you what the OAuth token is for.", "example": "Update all gems" }, "note_url": { "type": "string", "description": "A URL to remind you what app the OAuth token is for." }, "remove_scopes": { "type": "array", "description": "A list of scopes to remove from this authorization.", "items": { "type": "string" } }, "scopes": { "type": "array", "description": "A list of scopes that this authorization is in.", "items": { "type": "string" } } } }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "codes-of-conduct/get-all-codes-of-conduct", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_all_github_codes_of_conduct", "description": { "tagline": "Retrieve all GitHub codes of conduct.", "detailed": "Call this tool to get a list of all codes of conduct available on GitHub. Useful for reviewing or selecting a code of conduct for a project." }, "return_annotation": "All GitHub codes of conduct.", "arguments": [] }, "method": "GET", "path": "/codes_of_conduct", "tags": ["codes-of-conduct"], "summary": "Get all codes of conduct", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "codes-of-conduct/get-conduct-code", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_code_of_conduct", "description": { "tagline": "Retrieve a specific code of conduct from GitHub.", "detailed": "This tool retrieves the details of a specific code of conduct using its unique key from GitHub. It should be called when you need information about a particular community guideline." }, "return_annotation": "Returns the specified code of conduct details.", "arguments": [ { "name": "conduct_code_key", "alternative_names": ["conduct_key", "guideline_key"], "description": "The unique identifier for the specific code of conduct you want to retrieve.", "endpoint_argument_name": "key" } ] }, "method": "GET", "path": "/codes_of_conduct/{key}", "tags": ["codes-of-conduct"], "summary": "Get a code of conduct", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "emojis/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_emojis", "description": { "tagline": "Lists all available GitHub emojis.", "detailed": "Use this tool to retrieve a list of all emojis that can be used on GitHub Enterprise Server." }, "return_annotation": "A list of emojis available on GitHub Enterprise Server.", "arguments": [] }, "method": "GET", "path": "/emojis", "tags": ["emojis"], "summary": "Get emojis", "description": "Lists all the emojis available to use on GitHub Enterprise Server.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/remove-announcement", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_enterprise_announcement", "description": { "tagline": "Removes the global announcement banner in your enterprise.", "detailed": "This tool removes the global announcement banner in a GitHub enterprise setup. Use it to clear announcements when they are no longer needed." }, "return_annotation": "Confirmation of announcement removal.", "arguments": [] }, "method": "DELETE", "path": "/enterprise/announcement", "tags": ["enterprise-admin"], "summary": "Remove the global announcement banner", "description": "Removes the global announcement banner in your enterprise.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-announcement", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_enterprise_announcement_banner", "description": { "tagline": "Retrieve the global announcement banner for your enterprise.", "detailed": "This tool fetches the current message and expiration date of the global announcement banner in your enterprise on GitHub. It is useful for administrators who need to check or display the announcement details." }, "return_annotation": "Current message and expiration date of the announcement banner.", "arguments": [] }, "method": "GET", "path": "/enterprise/announcement", "tags": ["enterprise-admin"], "summary": "Get the global announcement banner", "description": "Gets the current message and expiration date of the global announcement banner in your enterprise.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-announcement", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_announcement", "description": { "tagline": "Set the announcement banner message and expiration in GitHub Enterprise.", "detailed": "Use this tool to configure the global announcement banner message and expiration time in your GitHub Enterprise. This is useful for communicating important messages to all users in the enterprise." }, "return_annotation": "Confirmation of announcement update.", "arguments": [ { "name": "announcement_text_gfm", "alternative_names": ["global_announcement_text", "enterprise_banner_message"], "description": "The announcement text in GitHub Flavored Markdown. Use for global messages in GitHub Enterprise.", "endpoint_argument_name": "announcement" }, { "name": "announcement_expiration_time", "alternative_names": ["announcement_end_time", "banner_expiry_time"], "description": "Timestamp for when the announcement expires in ISO 8601 format. Use `null` or an empty string for no expiration.", "endpoint_argument_name": "expires_at" } ] }, "method": "PATCH", "path": "/enterprise/announcement", "tags": ["enterprise-admin"], "summary": "Set the global announcement banner", "description": "Sets the message and expiration time for the global announcement banner in your enterprise.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "announcement", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\"" }, "description": "The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\"", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\"", "example": "Very **important** announcement about _something_." }, "schema_required": true }, { "name": "expires_at", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string." }, "description": "The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string.", "format": "date-time", "example": "\"2021-01-01T00:00:00.000-07:00\"" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"announcement\": \"Very **important** announcement about _something_.\",\n \"expires_at\": \"2021-01-01T00:00:00+00:00\"\n }\n }\n },\n \"schema\": {\n \"description\": \"Enterprise global announcement\",\n \"properties\": {\n \"announcement\": {\n \"description\": \"The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \\\"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\\\"\",\n \"example\": \"Very **important** announcement about _something_.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"expires_at\": {\n \"description\": \"The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string.\",\n \"example\": \"\\\"2021-01-01T00:00:00.000-07:00\\\"\",\n \"format\": \"date-time\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"announcement\"\n ],\n \"title\": \"Enterprise Announcement\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/get-license-information", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_license_information", "description": { "tagline": "Retrieve GitHub Enterprise license information.", "detailed": "Use this tool to fetch information about your GitHub Enterprise license settings. It is helpful for administrators who need to manage license details." }, "return_annotation": "Details about the GitHub Enterprise license.", "arguments": [] }, "method": "GET", "path": "/enterprise/settings/license", "tags": ["enterprise-admin"], "summary": "Get license information", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-all-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_enterprise_stats", "description": { "tagline": "Retrieve all statistics for GitHub Enterprise.", "detailed": "This tool fetches comprehensive statistics related to GitHub Enterprise. It should be used when you need detailed operational insights into the GitHub Enterprise environment." }, "return_annotation": "Comprehensive statistics about the GitHub Enterprise.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/all", "tags": ["enterprise-admin"], "summary": "Get all statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-comment-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_comment_statistics", "description": { "tagline": "Retrieve comment statistics from GitHub Enterprise.", "detailed": "Use this tool to get detailed statistics about comments in a GitHub Enterprise instance. Useful for analyzing comment activity and engagement across repositories." }, "return_annotation": "Comment statistics for GitHub Enterprise.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/comments", "tags": ["enterprise-admin"], "summary": "Get comment statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-gist-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_git_gist_statistics", "description": { "tagline": "Retrieve gist statistics from GitHub Enterprise.", "detailed": "Use this tool to obtain statistics for gists from GitHub Enterprise. It should be called when you need detailed data about gists usage and distribution." }, "return_annotation": "Gist statistics data from GitHub Enterprise.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/gists", "tags": ["enterprise-admin"], "summary": "Get gist statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-hooks-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_hooks_statistics", "description": { "tagline": "Retrieves statistics about enterprise webhooks on GitHub.", "detailed": "Use this tool to obtain detailed statistics on webhook usage and performance within a GitHub Enterprise environment. It helps administrators monitor and analyze webhook activity." }, "return_annotation": "Provides statistics about webhooks in a GitHub enterprise instance.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/hooks", "tags": ["enterprise-admin"], "summary": "Get hooks statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-issue-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_issue_statistics", "description": { "tagline": "Retrieve statistics on GitHub issues for an enterprise.", "detailed": "This tool fetches statistical data related to issues in a GitHub enterprise account. It should be called when you need insights on issue counts, trends, or other related metrics." }, "return_annotation": "Statistics on GitHub issues in an enterprise.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/issues", "tags": ["enterprise-admin"], "summary": "Get issue statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-milestone-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_milestone_statistics", "description": { "tagline": "Retrieve GitHub enterprise milestone statistics.", "detailed": "Use this tool to get statistics about milestones in a GitHub enterprise environment. It is useful for understanding project progress and tracking milestones." }, "return_annotation": "Milestone statistics for GitHub enterprise.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/milestones", "tags": ["enterprise-admin"], "summary": "Get milestone statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-org-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_org_stats", "description": { "tagline": "Retrieve organization statistics from GitHub Enterprise.", "detailed": "Use this tool to get detailed statistics about organizations in a GitHub Enterprise setup. It's useful for monitoring and analyzing organizational data." }, "return_annotation": "Statistics of GitHub organizations.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/orgs", "tags": ["enterprise-admin"], "summary": "Get organization statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-pages-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_pages_stats", "description": { "tagline": "Retrieve statistics for GitHub Pages in an enterprise account.", "detailed": "Use this tool to obtain detailed statistics about GitHub Pages usage and performance within an enterprise account." }, "return_annotation": "Statistics of GitHub Pages for an enterprise account.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/pages", "tags": ["enterprise-admin"], "summary": "Get pages statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-pull-request-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pull_request_statistics", "description": { "tagline": "Retrieve pull request statistics from GitHub Enterprise.", "detailed": "Use this tool to obtain statistics related to pull requests from a GitHub Enterprise instance." }, "return_annotation": "Pull request statistics for an enterprise instance.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/pulls", "tags": ["enterprise-admin"], "summary": "Get pull request statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-repo-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repository_statistics", "description": { "tagline": "Retrieve statistics for GitHub repositories.", "detailed": "This tool is used to get statistical information about repositories in a GitHub enterprise setting. It should be called when detailed repository stats are needed." }, "return_annotation": "Repository statistics data.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/repos", "tags": ["enterprise-admin"], "summary": "Get repository statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-user-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_user_stats", "description": { "tagline": "Retrieve user statistics from GitHub Enterprise.", "detailed": "This tool retrieves user statistics from a GitHub Enterprise instance. It should be called when needing detailed user data to analyze usage and activity metrics." }, "return_annotation": "User statistics data from GitHub Enterprise.", "arguments": [] }, "method": "GET", "path": "/enterprise/stats/users", "tags": ["enterprise-admin"], "summary": "Get users statistics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-usage-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_cache_usage_for_enterprise", "description": { "tagline": "Retrieve GitHub Actions cache usage for an enterprise.", "detailed": "Fetches the total cache usage for GitHub Actions in a specified enterprise. Useful for monitoring and managing enterprise-level actions resources. The data is refreshed every 5 minutes and requires an access token with the 'admin:enterprise' scope for authentication." }, "return_annotation": "Total GitHub Actions cache usage for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Can be either the enterprise name in slug format or the enterprise ID.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/cache/usage", "tags": ["actions"], "summary": "Get GitHub Actions cache usage for an enterprise", "description": "Gets the total GitHub Actions cache usage for an enterprise.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-usage-policy-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_cache_policy", "description": { "tagline": "Retrieve the GitHub Actions cache usage policy for an enterprise.", "detailed": "Fetches the cache usage policy for GitHub Actions associated with a specific enterprise. Requires authentication with an access token that has the `admin:enterprise` scope or a GitHub App with the `enterprise_administration:write` permission." }, "return_annotation": "GitHub Actions cache usage policy for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version or ID of the enterprise for GitHub Actions cache policy retrieval.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/cache/usage-policy", "tags": ["actions"], "summary": "Get GitHub Actions cache usage policy for an enterprise", "description": "Gets the GitHub Actions cache usage policy for an enterprise.\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\nGitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-actions-cache-usage-policy-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_actions_cache_policy", "description": { "tagline": "Set GitHub Actions cache usage policy for an enterprise.", "detailed": "This tool sets the cache usage policy for GitHub Actions within a specific enterprise. Requires authentication with an access token having `admin:enterprise` scope or an appropriate GitHub App permission." }, "return_annotation": "Confirmation of cache usage policy update.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise for which to set the cache policy.", "endpoint_argument_name": "enterprise" }, { "name": "maximum_repository_cache_size_limit_in_gb", "alternative_names": ["max_cache_size_limit", "cache_size_limit_in_gb"], "description": "Maximum cache size limit for all repository caches in an enterprise, in gigabytes.", "endpoint_argument_name": "max_repo_cache_size_limit_in_gb" }, { "name": "default_repo_cache_size_limit_gb", "alternative_names": ["repo_cache_default_size_gb", "default_cache_limit_gb"], "description": "Default size limit for all caches in a repository, specified in gigabytes.", "endpoint_argument_name": "repo_cache_size_limit_in_gb" } ] }, "method": "PATCH", "path": "/enterprises/{enterprise}/actions/cache/usage-policy", "tags": ["actions"], "summary": "Set GitHub Actions cache usage policy for an enterprise", "description": "Sets the GitHub Actions cache usage policy for an enterprise.\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\nGitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "max_repo_cache_size_limit_in_gb", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes." }, "description": "For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes.", "example": 15 }, "schema_required": false }, { "name": "repo_cache_size_limit_in_gb", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes." }, "description": "For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes.", "example": 10 }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"selected_actions\": {\n \"$ref\": \"#/components/examples/actions-cache-usage-policy-enterprise\"\n }\n },\n \"schema\": {\n \"description\": \"GitHub Actions cache usage policy for an enterprise.\",\n \"properties\": {\n \"max_repo_cache_size_limit_in_gb\": {\n \"description\": \"For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes.\",\n \"example\": 15,\n \"type\": \"integer\"\n },\n \"repo_cache_size_limit_in_gb\": {\n \"description\": \"For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes.\",\n \"example\": 10,\n \"type\": \"integer\"\n }\n },\n \"title\": \"Actions cache usage policy for an enterprise\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/get-github-actions-permissions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_permissions", "description": { "tagline": "Get GitHub Actions permissions for an enterprise.", "detailed": "Retrieve the GitHub Actions permissions policy and allowed actions for organizations within a specified enterprise. Requires authentication with an access token that has the `admin:enterprise` scope." }, "return_annotation": "GitHub Actions permissions for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_name_slug", "enterprise_id"], "description": "Identifier for the enterprise, either as a slug version of the name or the enterprise ID.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/permissions", "tags": ["enterprise-admin"], "summary": "Get GitHub Actions permissions for an enterprise", "description": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-github-actions-permissions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_actions_permissions", "description": { "tagline": "Set GitHub Actions permissions for an enterprise.", "detailed": "Set the permissions policy for GitHub Actions within an enterprise. Requires admin authentication with the `admin:enterprise` scope." }, "return_annotation": "Confirmation of updated GitHub Actions permissions.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise for setting GitHub Actions permissions.", "endpoint_argument_name": "enterprise" }, { "name": "enabled_organizations_policy", "alternative_names": ["organizations_actions_policy", "actions_enabled_organizations"], "description": "Specifies which organizations can run GitHub Actions: 'all', 'none', or 'selected'.", "endpoint_argument_name": "enabled_organizations" }, { "name": "actions_permission_policy", "alternative_names": ["action_policy_setting", "github_action_permission"], "description": "Specifies the actions allowed to run in the enterprise. Possible values: 'all', 'local_only', 'selected'.", "endpoint_argument_name": "allowed_actions" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/permissions", "tags": ["enterprise-admin"], "summary": "Set GitHub Actions permissions for an enterprise", "description": "Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allowed_actions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "local_only", "selected"], "properties": null, "inner_properties": null, "description": "The permissions policy that controls the actions that are allowed to run." }, "description": "The permissions policy that controls the actions that are allowed to run.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permissions policy that controls the actions that are allowed to run.", "enum": ["all", "local_only", "selected"] }, "schema_required": false }, { "name": "enabled_organizations", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "none", "selected"], "properties": null, "inner_properties": null, "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions." }, "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions.", "enum": ["all", "none", "selected"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allowed_actions\": \"selected\",\n \"enabled_organizations\": \"all\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allowed_actions\": {\n \"description\": \"The permissions policy that controls the actions that are allowed to run.\",\n \"enum\": [\n \"all\",\n \"local_only\",\n \"selected\"\n ],\n \"type\": \"string\"\n },\n \"enabled_organizations\": {\n \"description\": \"The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions.\",\n \"enum\": [\n \"all\",\n \"none\",\n \"selected\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"enabled_organizations\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_actions_enabled_orgs_enterprise", "description": { "tagline": "List organizations with GitHub Actions enabled in an enterprise.", "detailed": "This tool lists organizations selected to have GitHub Actions enabled within a specified enterprise. It requires the enterprise permission policy for `enabled_organizations` to be set to `selected`. Authentication with an access token with the `admin:enterprise` scope is necessary." }, "return_annotation": "List of organizations with GitHub Actions enabled in an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug_or_id", "enterprise_name_or_id"], "description": "The slug or ID of the enterprise to identify it for listing organizations with GitHub Actions enabled.", "endpoint_argument_name": "enterprise" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specifies which page of results to retrieve, helpful for navigating through multiple pages.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/permissions/organizations", "tags": ["enterprise-admin"], "summary": "List selected organizations enabled for GitHub Actions in an enterprise", "description": "Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_actions_enabled_orgs", "description": { "tagline": "Replace organizations enabled for GitHub Actions in an enterprise.", "detailed": "Use this tool to update the list of organizations enabled for GitHub Actions within a specific enterprise. It requires the enterprise's permission policy to be set to 'selected'. Ensure authentication with an access token having the 'admin:enterprise' scope." }, "return_annotation": "Confirmation of updated organizations enabled for GitHub Actions.", "arguments": [ { "name": "enterprise_slug_or_id", "alternative_names": ["enterprise_identifier", "enterprise_slug"], "description": "The slug version or ID of the enterprise for which to update enabled GitHub Actions organizations.", "endpoint_argument_name": "enterprise" }, { "name": "organization_ids_for_github_actions", "alternative_names": ["github_actions_org_ids", "actions_enabled_org_ids"], "description": "An array of organization IDs to enable GitHub Actions for specific organizations in the enterprise.", "endpoint_argument_name": "selected_organization_ids" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/permissions/organizations", "tags": ["enterprise-admin"], "summary": "Set selected organizations enabled for GitHub Actions in an enterprise", "description": "Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_organization_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of organization IDs to enable for GitHub Actions." }, "description": "List of organization IDs to enable for GitHub Actions.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of organization IDs to enable for GitHub Actions.", "items": { "type": "integer", "description": "Unique identifier of the organization." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_organization_ids\": [\n 32,\n 91\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_organization_ids\": {\n \"description\": \"List of organization IDs to enable for GitHub Actions.\",\n \"items\": {\n \"description\": \"Unique identifier of the organization.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_organization_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/disable-selected-organization-github-actions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "disable_org_github_actions", "description": { "tagline": "Disable GitHub Actions for an organization in an enterprise.", "detailed": "This tool removes a specified organization from the list enabled for GitHub Actions within an enterprise. It requires the enterprise permission policy for `enabled_organizations` to be set to `selected`, and an access token with `admin:enterprise` scope is needed for authentication. Use this when you need to disable GitHub Actions for an organization in your enterprise." }, "return_annotation": "Confirmation of organization removal from GitHub Actions.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version of the enterprise name or the enterprise ID to identify it for the operation.", "endpoint_argument_name": "enterprise" }, { "name": "organization_unique_identifier", "alternative_names": ["org_id_number", "organization_id"], "description": "The unique identifier of the organization to disable GitHub Actions for.", "endpoint_argument_name": "org_id" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "tags": ["enterprise-admin"], "summary": "Disable a selected organization for GitHub Actions in an enterprise", "description": "Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "org_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the organization." }, "description": "The unique identifier of the organization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/enable-selected-organization-github-actions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "enable_github_actions_for_org", "description": { "tagline": "Enable GitHub Actions for a selected organization in an enterprise.", "detailed": "This tool adds an organization to the list enabled for GitHub Actions within an enterprise. The enterprise's permissions must allow 'selected' organizations. Requires an access token with 'admin:enterprise' scope." }, "return_annotation": "Confirmation of the organization's enablement for GitHub Actions.", "arguments": [ { "name": "enterprise_slug_or_id", "alternative_names": ["enterprise_identifier", "enterprise_slug"], "description": "The slug or ID of the enterprise to identify it for GitHub Actions enablement. Accepts slug version or enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "organization_id", "alternative_names": ["org_identifier", "org_unique_id"], "description": "The unique identifier for the organization to enable GitHub Actions. Must be an integer.", "endpoint_argument_name": "org_id" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "tags": ["enterprise-admin"], "summary": "Enable a selected organization for GitHub Actions in an enterprise", "description": "Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "org_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the organization." }, "description": "The unique identifier of the organization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-allowed-actions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_allowed_actions_for_enterprise", "description": { "tagline": "Retrieve the actions allowed in a GitHub enterprise.", "detailed": "This tool gets the selected actions permitted in a specified enterprise. The enterprise's permission policy must be configured to allow selected actions. Authentication with an access token having the `admin:enterprise` scope is required." }, "return_annotation": "List of actions allowed in the specified enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version or ID of the enterprise to fetch allowed actions for.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/permissions/selected-actions", "tags": ["enterprise-admin"], "summary": "Get allowed actions for an enterprise", "description": "Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-allowed-actions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_allowed_actions_enterprise", "description": { "tagline": "Configure allowed GitHub Actions for an enterprise.", "detailed": "This tool sets the allowed GitHub Actions for a given enterprise. It is used when the enterprise's permission policy for `allowed_actions` is set to `selected`. Requires authentication with an `admin:enterprise` scope token." }, "return_annotation": "Confirmation of allowed actions set for the enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "allowed_action_patterns", "alternative_names": ["action_patterns_allowed", "permitted_action_patterns"], "description": "List of patterns to match specific GitHub Actions to allow. Use wildcards, tags, and SHAs for specification.", "endpoint_argument_name": "patterns_allowed" }, { "name": "allow_github_owned_actions", "alternative_names": ["enable_github_owned_actions", "permit_github_owned_actions"], "description": "Set to true to allow GitHub-owned actions in the enterprise, such as those in the 'actions' organization.", "endpoint_argument_name": "github_owned_allowed" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/permissions/selected-actions", "tags": ["enterprise-admin"], "summary": "Set allowed actions for an enterprise", "description": "Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "github_owned_allowed", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." }, "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." }, "schema_required": true }, { "name": "patterns_allowed", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." }, "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"selected_actions\": {\n \"$ref\": \"#/components/examples/selected-actions\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"github_owned_allowed\": {\n \"description\": \"Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.\",\n \"type\": \"boolean\"\n },\n \"patterns_allowed\": {\n \"description\": \"Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"github_owned_allowed\",\n \"patterns_allowed\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/get-github-actions-default-workflow-permissions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_token_workflow_permissions", "description": { "tagline": "Retrieve GitHub Actions default workflow permissions for an enterprise.", "detailed": "This tool retrieves the default permissions for the `GITHUB_TOKEN` in workflows within a specified enterprise, including settings for pull request review approvals. Use this tool to understand and manage workflow access within your GitHub enterprise." }, "return_annotation": "Default GitHub Actions workflow permissions and approval settings.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/permissions/workflow", "tags": ["actions"], "summary": "Get default workflow permissions for an enterprise", "description": "Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise,\nas well as whether GitHub Actions can submit approving pull request reviews. For more information, see\n\"[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-server@3.8/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\nGitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-github-actions-default-workflow-permissions-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_enterprise_workflow_permissions", "description": { "tagline": "Set default GitHub Actions permissions for an enterprise.", "detailed": "Use this tool to set the default workflow permissions for the `GITHUB_TOKEN` in GitHub enterprise workflows, and determine if GitHub Actions can approve pull request reviews. Authentication with an `admin:enterprise` scoped token is required." }, "return_annotation": "Confirmation of the updated workflow permissions.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Use the slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "default_workflow_permissions", "alternative_names": ["workflow_token_permissions", "github_token_default_permissions"], "description": "Specify 'read' or 'write' to set the permissions for the GITHUB_TOKEN when running workflows.", "endpoint_argument_name": "default_workflow_permissions" }, { "name": "allow_approve_pull_request_reviews", "alternative_names": ["enable_pr_review_approval", "approve_reviews_toggle"], "description": "Indicate if GitHub Actions can approve pull requests. Enabling this may pose a security risk.", "endpoint_argument_name": "can_approve_pull_request_reviews" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/permissions/workflow", "tags": ["actions"], "summary": "Set default workflow permissions for an enterprise", "description": "Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets\nwhether GitHub Actions can submit approving pull request reviews. For more information, see\n\"[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-server@3.8/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\nGitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "can_approve_pull_request_reviews", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk." }, "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk." }, "schema_required": false }, { "name": "default_workflow_permissions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows." }, "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows.", "enum": ["read", "write"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"$ref\": \"#/components/examples/actions-default-workflow-permissions\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"can_approve_pull_request_reviews\": {\n \"description\": \"Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.\",\n \"type\": \"boolean\"\n },\n \"default_workflow_permissions\": {\n \"description\": \"The default workflow permissions granted to the GITHUB_TOKEN when running workflows.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-self-hosted-runner-groups-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_self_hosted_runner_groups", "description": { "tagline": "Retrieve all self-hosted runner groups for an enterprise.", "detailed": "Fetches a list of all self-hosted runner groups for a specified enterprise. Requires authentication with an access token having the 'manage_runners:enterprise' scope." }, "return_annotation": "A list of self-hosted runner groups for an enterprise.", "arguments": [ { "name": "enterprise_slug", "alternative_names": ["enterprise_identifier", "enterprise_id"], "description": "The slug or ID of the enterprise for which to list self-hosted runner groups. This identifies the enterprise by name or numeric ID.", "endpoint_argument_name": "enterprise" }, { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "max_results_per_page"], "description": "The maximum number of results to return per page, up to 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_index", "pagination_page"], "description": "Specifies which page of the self-hosted runner groups results to retrieve. Useful for paginating through large sets of data.", "endpoint_argument_name": "page" }, { "name": "organization_filter", "alternative_names": ["filter_by_organization", "organization_visibility"], "description": "Filter results to show runner groups usable by the specified organization.", "endpoint_argument_name": "visible_to_organization" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runner-groups", "tags": ["enterprise-admin"], "summary": "List self-hosted runner groups for an enterprise", "description": "Lists all self-hosted runner groups for an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "visible_to_organization", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only return runner groups that are allowed to be used by this organization." }, "description": "Only return runner groups that are allowed to be used by this organization.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-self-hosted-runner-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_self_hosted_runner_group", "description": { "tagline": "Create a self-hosted runner group for an enterprise.", "detailed": "Use this tool to create a new self-hosted runner group for an enterprise on GitHub. Requires authentication with an access token having the `manage_runners:enterprise` scope." }, "return_annotation": "Details of the newly created runner group.", "arguments": [ { "name": "enterprise_name_or_id", "alternative_names": ["enterprise_identifier", "enterprise_slug"], "description": "The slug version of the enterprise name or the enterprise ID to identify the enterprise.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_name", "alternative_names": ["runner_group_title", "group_name"], "description": "Name of the runner group to be created.", "endpoint_argument_name": "name" }, { "name": "runner_ids", "alternative_names": ["list_of_runner_ids", "runner_id_array"], "description": "List of runner IDs to be added to the new runner group.", "endpoint_argument_name": "runners" }, { "name": "organization_ids_for_access", "alternative_names": ["organization_ids_list", "access_organization_ids"], "description": "List of IDs for organizations allowed to access the runner group.", "endpoint_argument_name": "selected_organization_ids" }, { "name": "workflows_allowed_for_runner_group", "alternative_names": ["runner_group_workflows", "allowed_workflows"], "description": "List of workflows the runner group can run. Ignored unless `restricted_to_workflows` is `true`.", "endpoint_argument_name": "selected_workflows" }, { "name": "runner_group_visibility", "alternative_names": ["runner_group_accessibility", "runner_group_scope"], "description": "Specifies the visibility of the runner group: 'selected' for individual organizations or 'all' for all organizations.", "endpoint_argument_name": "visibility" }, { "name": "allow_public_repository_use", "alternative_names": ["enable_public_repositories", "permit_public_repositories"], "description": "Set to true to allow the runner group to be used by public repositories.", "endpoint_argument_name": "allows_public_repositories" }, { "name": "restrict_to_selected_workflows", "alternative_names": ["limit_to_workflows", "workflow_restriction"], "description": "Set to true to restrict the runner group to only the workflows in 'selected_workflows'.", "endpoint_argument_name": "restricted_to_workflows" } ] }, "method": "POST", "path": "/enterprises/{enterprise}/actions/runner-groups", "tags": ["enterprise-admin"], "summary": "Create a self-hosted runner group for an enterprise", "description": "Creates a new self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allows_public_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the runner group can be used by `public` repositories." }, "description": "Whether the runner group can be used by `public` repositories.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether the runner group can be used by `public` repositories." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the runner group." }, "description": "Name of the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the runner group." }, "schema_required": true }, { "name": "restricted_to_workflows", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "schema_required": false }, { "name": "runners", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of runner IDs to add to the runner group." }, "description": "List of runner IDs to add to the runner group.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of runner IDs to add to the runner group.", "items": { "type": "integer", "description": "Unique identifier of the runner." } }, "schema_required": false }, { "name": "selected_organization_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of organization IDs that can access the runner group." }, "description": "List of organization IDs that can access the runner group.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of organization IDs that can access the runner group.", "items": { "type": "integer", "description": "Unique identifier of the organization." } }, "schema_required": false }, { "name": "selected_workflows", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`." }, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "items": { "type": "string", "description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.", "example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main" } }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["selected", "all"], "properties": null, "inner_properties": null, "description": "Visibility of a runner group. You can select all organizations or select individual organization." }, "description": "Visibility of a runner group. You can select all organizations or select individual organization.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Visibility of a runner group. You can select all organizations or select individual organization.", "enum": ["selected", "all"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"Expensive hardware runners\",\n \"runners\": [\n 9,\n 2\n ],\n \"selected_organization_ids\": [\n 32,\n 91\n ],\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allows_public_repositories\": {\n \"default\": false,\n \"description\": \"Whether the runner group can be used by `public` repositories.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"Name of the runner group.\",\n \"type\": \"string\"\n },\n \"restricted_to_workflows\": {\n \"default\": false,\n \"description\": \"If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.\",\n \"type\": \"boolean\"\n },\n \"runners\": {\n \"description\": \"List of runner IDs to add to the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the runner.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"selected_organization_ids\": {\n \"description\": \"List of organization IDs that can access the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the organization.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"selected_workflows\": {\n \"description\": \"List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.\",\n \"items\": {\n \"description\": \"Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.\",\n \"example\": \"octo-org/octo-repo/.github/workflows/deploy.yaml@main\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"visibility\": {\n \"description\": \"Visibility of a runner group. You can select all organizations or select individual organization.\",\n \"enum\": [\n \"selected\",\n \"all\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/delete-self-hosted-runner-group-from-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_self_hosted_runner_group", "description": { "tagline": "Delete a self-hosted runner group for an enterprise.", "detailed": "Use this tool to delete a self-hosted runner group from an enterprise. It requires authentication with an access token that has the `manage_runners:enterprise` scope. Call this tool when you need to manage enterprise runner groups on GitHub." }, "return_annotation": "Confirmation of runner group deletion for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_name_slug", "enterprise_id_slug"], "description": "The slug version of the enterprise name or the enterprise ID to identify which enterprise the runner group belongs to.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["runner_group_identifier", "group_id"], "description": "Unique identifier for the self-hosted runner group to be deleted.", "endpoint_argument_name": "runner_group_id" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "tags": ["enterprise-admin"], "summary": "Delete a self-hosted runner group from an enterprise", "description": "Deletes a self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-self-hosted-runner-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_self_hosted_runner_group", "description": { "tagline": "Retrieve a specific self-hosted runner group for an enterprise.", "detailed": "Use this tool to get details of a particular self-hosted runner group within an enterprise. Authentication with an access token is required, including the `manage_runners:enterprise` scope." }, "return_annotation": "Details of a specific self-hosted runner group for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug of the enterprise name or substitute with the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_identifier", "alternative_names": ["runner_group_id_number", "self_hosted_runner_group_key"], "description": "Unique identifier of the self-hosted runner group, required to retrieve specific group details within an enterprise.", "endpoint_argument_name": "runner_group_id" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "tags": ["enterprise-admin"], "summary": "Get a self-hosted runner group for an enterprise", "description": "Gets a specific self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-self-hosted-runner-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_runner_group_enterprise", "description": { "tagline": "Update the name and visibility of a self-hosted runner group in an enterprise.", "detailed": "Use this tool to update the name and visibility settings of a self-hosted runner group within a GitHub enterprise. This requires authentication with a token that has the 'manage_runners:enterprise' scope." }, "return_annotation": "Updated details of the self-hosted runner group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise to identify which enterprise the runner group belongs to.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["runner_group_identifier", "self_hosted_group_id"], "description": "Unique identifier of the self-hosted runner group to update.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_group_name", "alternative_names": ["runner_group_title", "group_name"], "description": "Name of the self-hosted runner group to be updated.", "endpoint_argument_name": "name" }, { "name": "allowable_workflow_list", "alternative_names": ["runner_group_workflow_permissions", "workflow_access_list"], "description": "List of workflow names the runner group is allowed to run. Ignored unless `restricted_to_workflows` is set to `true`.", "endpoint_argument_name": "selected_workflows" }, { "name": "runner_group_visibility", "alternative_names": ["visibility_setting", "runner_group_access"], "description": "Specifies whether the runner group is visible to all organizations or only selected ones. Valid values are 'selected' or 'all'.", "endpoint_argument_name": "visibility" }, { "name": "allow_public_repositories", "alternative_names": ["enable_public_repo_access", "public_repositories_permission"], "description": "Set to true if the runner group can be used by public repositories.", "endpoint_argument_name": "allows_public_repositories" }, { "name": "restrict_to_workflows", "alternative_names": ["limit_to_selected_workflows", "workflow_execution_limit"], "description": "Set to true to restrict the runner group to only the workflows in the selected_workflows array.", "endpoint_argument_name": "restricted_to_workflows" } ] }, "method": "PATCH", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "tags": ["enterprise-admin"], "summary": "Update a self-hosted runner group for an enterprise", "description": "Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allows_public_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the runner group can be used by `public` repositories." }, "description": "Whether the runner group can be used by `public` repositories.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether the runner group can be used by `public` repositories." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the runner group." }, "description": "Name of the runner group.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the runner group." }, "schema_required": false }, { "name": "restricted_to_workflows", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "schema_required": false }, { "name": "selected_workflows", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`." }, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "items": { "type": "string", "description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.", "example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main" } }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["selected", "all"], "properties": null, "inner_properties": null, "description": "Visibility of a runner group. You can select all organizations or select individual organizations." }, "description": "Visibility of a runner group. You can select all organizations or select individual organizations.", "required": false, "deprecated": false, "default": "all", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Visibility of a runner group. You can select all organizations or select individual organizations.", "enum": ["selected", "all"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"Expensive hardware runners\",\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allows_public_repositories\": {\n \"default\": false,\n \"description\": \"Whether the runner group can be used by `public` repositories.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"Name of the runner group.\",\n \"type\": \"string\"\n },\n \"restricted_to_workflows\": {\n \"default\": false,\n \"description\": \"If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.\",\n \"type\": \"boolean\"\n },\n \"selected_workflows\": {\n \"description\": \"List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.\",\n \"items\": {\n \"description\": \"Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.\",\n \"example\": \"octo-org/octo-repo/.github/workflows/deploy.yaml@main\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"visibility\": {\n \"default\": \"all\",\n \"description\": \"Visibility of a runner group. You can select all organizations or select individual organizations.\",\n \"enum\": [\n \"selected\",\n \"all\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_access_runner_group", "description": { "tagline": "List organizations with access to a self-hosted runner group.", "detailed": "Retrieves a list of organizations that have access to a specific self-hosted runner group in an enterprise. Requires authentication with a token that has 'manage_runners:enterprise' scope." }, "return_annotation": "List of organizations with access to the runner group.", "arguments": [ { "name": "enterprise_slug_or_id", "alternative_names": ["enterprise_identifier", "enterprise_key"], "description": "The slug or ID of the enterprise. Used to identify the specific enterprise context for the runner group.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["runner_group_identifier", "self_hosted_runner_group_id"], "description": "Unique identifier for the self-hosted runner group.", "endpoint_argument_name": "runner_group_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["result_page_number", "pagination_page"], "description": "Specify the page number of results to fetch. Useful for pagination in large datasets.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "tags": ["enterprise-admin"], "summary": "List organization access to a self-hosted runner group in an enterprise", "description": "Lists the organizations with access to a self-hosted runner group.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_gh_org_access_to_runner_group", "description": { "tagline": "Update organization access for a GitHub runner group.", "detailed": "This tool allows updating which organizations have access to a self-hosted runner group within a GitHub enterprise. It requires authentication with a token that has the 'manage_runners:enterprise' scope." }, "return_annotation": "Confirmation of updated organization access for the runner group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Specify either for identifying the enterprise.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_identifier", "alternative_names": ["runner_group_id_number", "runner_group_unique_id"], "description": "Unique integer identifier of the self-hosted runner group within the enterprise.", "endpoint_argument_name": "runner_group_id" }, { "name": "organization_ids_for_runner_access", "alternative_names": ["org_ids_runner_access", "allowed_organization_ids"], "description": "List of organization IDs permitted to access the self-hosted runner group.", "endpoint_argument_name": "selected_organization_ids" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "tags": ["enterprise-admin"], "summary": "Set organization access for a self-hosted runner group in an enterprise", "description": "Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_organization_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of organization IDs that can access the runner group." }, "description": "List of organization IDs that can access the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of organization IDs that can access the runner group.", "items": { "type": "integer", "description": "Unique identifier of the organization." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_organization_ids\": [\n 32,\n 91\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_organization_ids\": {\n \"description\": \"List of organization IDs that can access the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the organization.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_organization_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_org_access_runner_group", "description": { "tagline": "Removes an organization's access to a self-hosted runner group.", "detailed": "Use this tool to remove an organization from accessing a specific self-hosted runner group in an enterprise. Requires authentication with a token having `manage_runners:enterprise` scope." }, "return_annotation": "Confirmation of removed access for the organization.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise to identify it for the runner group operation.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["runner_group_identifier", "runner_group_number"], "description": "Unique identifier of the self-hosted runner group to modify access for.", "endpoint_argument_name": "runner_group_id" }, { "name": "organization_id", "alternative_names": ["org_id_number", "organization_identifier"], "description": "The unique identifier for the organization to be removed from the self-hosted runner group.", "endpoint_argument_name": "org_id" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "tags": ["enterprise-admin"], "summary": "Remove organization access to a self-hosted runner group in an enterprise", "description": "Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "org_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the organization." }, "description": "The unique identifier of the organization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_org_access_to_runner_group", "description": { "tagline": "Add organization access to a self-hosted runner group in an enterprise.", "detailed": "Use this tool to add an organization to a selected list that can access a self-hosted runner group. The runner group's visibility must be set to 'selected'. Requires an access token with 'manage_runners:enterprise' scope." }, "return_annotation": "Confirmation of organization access to runner group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Use either the enterprise name slug or its ID.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["self_hosted_runner_group_id", "runner_group_identifier"], "description": "Unique identifier for the self-hosted runner group. Required for adding organization access to it.", "endpoint_argument_name": "runner_group_id" }, { "name": "organization_id", "alternative_names": ["org_identifier", "org_unique_id"], "description": "The unique identifier of the organization to add access to the self-hosted runner group.", "endpoint_argument_name": "org_id" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "tags": ["enterprise-admin"], "summary": "Add organization access to a self-hosted runner group in an enterprise", "description": "Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "org_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the organization." }, "description": "The unique identifier of the organization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_self_hosted_runners_in_group", "description": { "tagline": "Retrieve self-hosted runners in an enterprise group.", "detailed": "Use this tool to list the self-hosted runners associated with a specific group in an enterprise on GitHub. Authentication with an access token that has the 'manage_runners:enterprise' scope is required." }, "return_annotation": "List of self-hosted runners in the specified enterprise group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug_id", "enterprise_name_slug"], "description": "The slug or ID of the enterprise. Use the slug version of the enterprise name or substitute with the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["group_id", "self_hosted_runner_group_id"], "description": "The unique identifier of the self-hosted runner group within the enterprise.", "endpoint_argument_name": "runner_group_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count_per_page"], "description": "The number of results to display per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["pagination_page", "result_page"], "description": "Page number of the results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "tags": ["enterprise-admin"], "summary": "List self-hosted runners in a group for an enterprise", "description": "Lists the self-hosted runners that are in a specific enterprise group.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_self_hosted_runners_in_group", "description": { "tagline": "Update self-hosted runners in an enterprise group.", "detailed": "This tool replaces the list of self-hosted runners in a specified enterprise runner group. It requires authentication with an access token having the `manage_runners:enterprise` scope." }, "return_annotation": "Confirmation of updated self-hosted runners in the group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_name_or_id", "enterprise_slug_id"], "description": "The slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_identifier", "alternative_names": ["runner_group_id_value", "runner_group_key"], "description": "Unique identifier for the self-hosted runner group. This integer ID specifies which group to update.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_ids_to_add", "alternative_names": ["self_hosted_runner_ids", "runners_list"], "description": "Array of runner IDs to be added to the specified runner group in the enterprise. Each runner ID should be an integer.", "endpoint_argument_name": "runners" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "tags": ["enterprise-admin"], "summary": "Set self-hosted runners in a group for an enterprise", "description": "Replaces the list of self-hosted runners that are part of an enterprise runner group.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "runners", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of runner IDs to add to the runner group." }, "description": "List of runner IDs to add to the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of runner IDs to add to the runner group.", "items": { "type": "integer", "description": "Unique identifier of the runner." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"runners\": [\n 9,\n 2\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"runners\": {\n \"description\": \"List of runner IDs to add to the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the runner.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"runners\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_runner_from_enterprise_group", "description": { "tagline": "Remove a self-hosted runner from an enterprise group.", "detailed": "This tool removes a self-hosted runner from a specified group in an enterprise and returns it to the default group. It requires authentication using an access token with the `manage_runners:enterprise` scope." }, "return_annotation": "Confirmation of runner removal from the specified group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Use either the slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_id", "alternative_names": ["group_id", "self_hosted_runner_group_id"], "description": "Unique identifier of the self-hosted runner group to remove a runner from.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_identifier", "alternative_names": ["runner_id_number", "self_hosted_runner_id"], "description": "The unique integer identifier of the self-hosted runner to be removed from the enterprise group.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "tags": ["enterprise-admin"], "summary": "Remove a self-hosted runner from a group for an enterprise", "description": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_self_hosted_runner_to_group", "description": { "tagline": "Add a self-hosted runner to an enterprise group in GitHub.", "detailed": "Use this tool to add a self-hosted runner to a specified runner group within an enterprise on GitHub. Authentication with an access token having the 'manage_runners:enterprise' scope is required." }, "return_annotation": "Confirms the addition of a self-hosted runner to an enterprise group.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "Slug version or ID of the enterprise for adding the runner.", "endpoint_argument_name": "enterprise" }, { "name": "runner_group_identifier", "alternative_names": ["runner_group_unique_id", "group_id_for_runner"], "description": "Unique identifier of the self-hosted runner group.", "endpoint_argument_name": "runner_group_id" }, { "name": "self_hosted_runner_id", "alternative_names": ["runner_identifier", "self_hosted_runner_identifier"], "description": "Unique identifier of the self-hosted runner to be added to the group.", "endpoint_argument_name": "runner_id" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "tags": ["enterprise-admin"], "summary": "Add a self-hosted runner to a group for an enterprise", "description": "Adds a self-hosted runner to a runner group configured in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise`\nscope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-self-hosted-runners-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_self_hosted_runners_for_enterprise", "description": { "tagline": "Retrieve all self-hosted runners for a GitHub enterprise.", "detailed": "Use this tool to obtain a list of all self-hosted runners configured for a specified GitHub enterprise. Authentication with an access token having the `manage_runners:enterprise` scope is required." }, "return_annotation": "A list of self-hosted runners for a specified enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise for which to list self-hosted runners.", "endpoint_argument_name": "enterprise" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specify the page number of the results to fetch for pagination purposes.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runners", "tags": ["enterprise-admin"], "summary": "List self-hosted runners for an enterprise", "description": "Lists all self-hosted runners configured for an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-runner-applications-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_runner_binaries_for_enterprise", "description": { "tagline": "Retrieve download links for runner application binaries.", "detailed": "Use this tool to list available binaries for GitHub runner applications that can be downloaded and run for a specified enterprise. Authentication with an access token having the `manage_runners:enterprise` scope is required." }, "return_annotation": "Runner application binary download information for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID for the enterprise to obtain runner binaries.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runners/downloads", "tags": ["enterprise-admin"], "summary": "List runner applications for an enterprise", "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-registration-token-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_enterprise_registration_token", "description": { "tagline": "Generate a registration token for GitHub Enterprise runners.", "detailed": "Use this tool to obtain a registration token for configuring self-hosted GitHub Enterprise runners. The token expires after one hour and requires authentication with a token having the `manage_runners:enterprise` scope." }, "return_annotation": "A registration token for configuring a GitHub runner.", "arguments": [ { "name": "enterprise_slug_or_id", "alternative_names": ["enterprise_identifier", "enterprise_name_slug"], "description": "The slug version of the enterprise name or the enterprise ID for GitHub Enterprise.", "endpoint_argument_name": "enterprise" } ] }, "method": "POST", "path": "/enterprises/{enterprise}/actions/runners/registration-token", "tags": ["enterprise-admin"], "summary": "Create a registration token for an enterprise", "description": "Returns a token that you can pass to the `config` script. The token expires after one hour.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.\n\n#### Example using registration token\n\nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/create-remove-token-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_remove_token_for_enterprise_runner", "description": { "tagline": "Generates a token to remove a self-hosted runner from an enterprise.", "detailed": "Use this tool to obtain a token for removing a self-hosted runner from an enterprise on GitHub. The token is valid for one hour and requires authentication with an access token having the 'manage_runners:enterprise' scope." }, "return_annotation": "A token to remove a self-hosted runner from an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Use this to specify the enterprise for which you want to generate a removal token.", "endpoint_argument_name": "enterprise" } ] }, "method": "POST", "path": "/enterprises/{enterprise}/actions/runners/remove-token", "tags": ["enterprise-admin"], "summary": "Create a remove token for an enterprise", "description": "Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.\n\n#### Example using remove token\n\nTo remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this\nendpoint.\n\n```\n./config.sh remove --token TOKEN\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/delete-self-hosted-runner-from-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_self_hosted_runner_from_enterprise", "description": { "tagline": "Remove a self-hosted runner from an enterprise.", "detailed": "Use this tool to forcefully remove a self-hosted runner from an enterprise when the machine no longer exists. Authentication with an access token having the `manage_runners:enterprise` scope is required." }, "return_annotation": "Confirms the removal of a self-hosted runner from an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Use the slug version of the name or the enterprise ID for identification.", "endpoint_argument_name": "enterprise" }, { "name": "runner_id", "alternative_names": ["self_hosted_runner_id", "enterprise_runner_id"], "description": "Unique identifier for the self-hosted runner to be removed.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}", "tags": ["enterprise-admin"], "summary": "Delete a self-hosted runner from an enterprise", "description": "Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-self-hosted-runner-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_self_hosted_runner_info", "description": { "tagline": "Retrieve details of a self-hosted runner in an enterprise.", "detailed": "Fetches information about a specific self-hosted runner configured within an enterprise on GitHub. Requires authentication with an access token having `manage_runners:enterprise` scope." }, "return_annotation": "Information about a specific self-hosted runner in an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_name_slug", "enterprise_id"], "description": "The slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "self_hosted_runner_id"], "description": "The unique identifier of the self-hosted runner to retrieve details for.", "endpoint_argument_name": "runner_id" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}", "tags": ["enterprise-admin"], "summary": "Get a self-hosted runner for an enterprise", "description": "Gets a specific self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_custom_labels_from_runner", "description": { "tagline": "Remove all custom labels from an enterprise's self-hosted runner.", "detailed": "This tool removes all custom labels from a self-hosted runner configured in an enterprise using GitHub's API. It is used when you need to reset or clear custom labels from a runner, and it returns the runner\u2019s remaining read-only labels. Authentication with a token that has `manage_runners:enterprise` scope is required." }, "return_annotation": "Remaining read-only labels of the self-hosted runner.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version of the enterprise name or the enterprise ID for identifying the enterprise.", "endpoint_argument_name": "enterprise" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "self_hosted_runner_id"], "description": "The unique identifier of the self-hosted runner from which to remove custom labels.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "tags": ["enterprise-admin"], "summary": "Remove all custom labels from a self-hosted runner for an enterprise", "description": "Remove all custom labels from a self-hosted runner configured in an\nenterprise. Returns the remaining read-only labels from the runner.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_labels_for_runner", "description": { "tagline": "Retrieve all labels for a self-hosted runner in an enterprise.", "detailed": "Use this tool to get a list of all labels associated with a specific self-hosted runner within an enterprise on GitHub. Authentication with an access token having `manage_runners:enterprise` scope is required." }, "return_annotation": "List of labels for a self-hosted runner in an enterprise.", "arguments": [ { "name": "enterprise_slug_or_id", "alternative_names": ["enterprise_identifier", "enterprise_name_slug"], "description": "The slug or ID of the enterprise for identifying self-hosted runner.", "endpoint_argument_name": "enterprise" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner for which to list labels.", "endpoint_argument_name": "runner_id" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "tags": ["enterprise-admin"], "summary": "List labels for a self-hosted runner for an enterprise", "description": "Lists all labels for a self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_custom_labels_to_runner", "description": { "tagline": "Add custom labels to a self-hosted runner in an enterprise.", "detailed": "Use this tool to attach custom labels to a self-hosted runner within an enterprise on GitHub. Requires authentication with a token that has the `manage_runners:enterprise` scope." }, "return_annotation": "Confirmation of labels added to the runner.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise for the self-hosted runner. It identifies the enterprise name or ID in GitHub.", "endpoint_argument_name": "enterprise" }, { "name": "runner_unique_id", "alternative_names": ["self_hosted_runner_id", "runner_identifier"], "description": "The unique integer identifier for the self-hosted runner.", "endpoint_argument_name": "runner_id" }, { "name": "custom_labels", "alternative_names": ["runner_labels", "labels_to_add"], "description": "An array of names for the custom labels to add to the self-hosted runner.", "endpoint_argument_name": "labels" } ] }, "method": "POST", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "tags": ["enterprise-admin"], "summary": "Add custom labels to a self-hosted runner for an enterprise", "description": "Add custom labels to a self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "labels", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The names of the custom labels to add to the runner." }, "description": "The names of the custom labels to add to the runner.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The names of the custom labels to add to the runner.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"gpu\",\n \"accelerated\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the custom labels to add to the runner.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"labels\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_custom_labels_for_self_hosted_runner", "description": { "tagline": "Set custom labels for a self-hosted runner in an enterprise.", "detailed": "This tool updates the custom labels for a specific self-hosted runner in a GitHub enterprise, removing all previous labels. Requires an access token with `manage_runners:enterprise` scope." }, "return_annotation": "Updates custom labels for a self-hosted runner.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise where the runner is configured. Use the slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "self_hosted_runner_id", "alternative_names": ["runner_unique_id", "runner_identifier"], "description": "The unique identifier of the self-hosted runner to update labels for.", "endpoint_argument_name": "runner_id" }, { "name": "custom_labels", "alternative_names": ["runner_custom_labels", "set_custom_labels"], "description": "List of new custom labels for the runner. Use an empty list to remove all labels.", "endpoint_argument_name": "labels" } ] }, "method": "PUT", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "tags": ["enterprise-admin"], "summary": "Set custom labels for a self-hosted runner for an enterprise", "description": "Remove all previous custom labels and set the new custom labels for a specific\nself-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "labels", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels." }, "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"gpu\",\n \"accelerated\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 0,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"labels\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_custom_label_from_runner", "description": { "tagline": "Remove a custom label from a self-hosted runner in an enterprise.", "detailed": "This tool removes a specified custom label from a self-hosted runner configured in an enterprise and returns the remaining labels. It should be called when you need to update runner labels, and requires authentication with an access token having 'manage_runners:enterprise' scope." }, "return_annotation": "Lists remaining labels on the self-hosted runner.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "Slug or ID of the enterprise. Use the slug version of the enterprise name or the enterprise ID as an alternative.", "endpoint_argument_name": "enterprise" }, { "name": "runner_identifier", "alternative_names": ["runner_id_num", "runner_unique_id"], "description": "Unique identifier for the self-hosted runner.", "endpoint_argument_name": "runner_id" }, { "name": "runner_custom_label_name", "alternative_names": ["custom_label_name", "runner_label_name"], "description": "The name of the custom label to be removed from the self-hosted runner.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}", "tags": ["enterprise-admin"], "summary": "Remove a custom label from a self-hosted runner for an enterprise", "description": "Remove a custom label from a self-hosted runner configured\nin an enterprise. Returns the remaining labels from the runner.\n\nThis endpoint returns a `404 Not Found` status if the custom label is not\npresent on the runner.\n\nYou must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a self-hosted runner's custom label." }, "description": "The name of a self-hosted runner's custom label.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-audit-log", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_enterprise_audit_log", "description": { "tagline": "Retrieve the audit log for a specified enterprise.", "detailed": "This tool fetches the audit log for an enterprise on GitHub. It is intended for use by enterprise admins with proper access rights. The audit log provides insights into various activities and changes within the enterprise." }, "return_annotation": "Audit log details for a specified enterprise.", "arguments": [ { "name": "enterprise_slug_or_id", "alternative_names": ["enterprise_identifier", "enterprise_name_slug"], "description": "The slug or ID of the enterprise to fetch the audit log for. Either the slug version of the enterprise name or the enterprise ID can be used.", "endpoint_argument_name": "enterprise" }, { "name": "search_phrase", "alternative_names": ["query_string", "filter_term"], "description": "A search phrase to filter audit log entries. Refer to [GitHub Docs](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise#searching-the-audit-log) for more details.", "endpoint_argument_name": "phrase" }, { "name": "event_types_to_include", "alternative_names": ["include_event_types", "event_types_filter"], "description": "Specify event types to include: 'web' for web events, 'git' for Git events, or 'all' for both. Defaults to 'web'.", "endpoint_argument_name": "include" }, { "name": "after_cursor", "alternative_names": ["start_after_cursor", "begin_after_cursor"], "description": "A cursor from the Link header to search for events after this point.", "endpoint_argument_name": "after" }, { "name": "search_events_before_cursor", "alternative_names": ["events_before_cursor", "filter_events_before"], "description": "A cursor to filter events occurring before the specified position in the audit log.", "endpoint_argument_name": "before" }, { "name": "audit_log_event_order", "alternative_names": ["event_order", "log_order"], "description": "Specify 'desc' for newest events first or 'asc' for oldest events first. Default is 'desc'.", "endpoint_argument_name": "order" }, { "name": "result_page_number", "alternative_names": ["page_number", "results_page"], "description": "The page number of audit log results to fetch.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "Specify the number of results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/audit-log", "tags": ["enterprise-admin"], "summary": "Get the audit log for an enterprise", "description": "Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `read:audit_log` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "phrase", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise#searching-the-audit-log)." }, "description": "A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise#searching-the-audit-log).", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "include", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["web", "git", "all"], "properties": null, "inner_properties": null, "description": "The event types to include:\n\n- `web` - returns web (non-Git) events.\n- `git` - returns Git events.\n- `all` - returns both web and Git events.\n\nThe default is `web`." }, "description": "The event types to include:\n\n- `web` - returns web (non-Git) events.\n- `git` - returns Git events.\n- `all` - returns both web and Git events.\n\nThe default is `web`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["web", "git", "all"] }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n\nThe default is `desc`." }, "description": "The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n\nThe default is `desc`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/list-alerts-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_enterprise_code_scanning_alerts", "description": { "tagline": "Retrieve code scanning alerts for enterprise repositories.", "detailed": "This tool is used to list code scanning alerts for the default branch of all eligible repositories within an enterprise. It requires the user to be a member of the enterprise and have an access token with the necessary scopes (`repo` or `security_events`). Use this tool to monitor security alerts across repositories owned by organizations you manage as a security manager." }, "return_annotation": "List of code scanning alerts for the enterprise's default branch.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug_or_id", "enterprise_name_id"], "description": "The slug version or ID of the enterprise. Used to specify which enterprise's alerts to list.", "endpoint_argument_name": "enterprise" }, { "name": "code_scanning_tool_name", "alternative_names": ["code_tool_name", "security_tool_name"], "description": "The name of a code scanning tool to filter results. Use either this or `tool_guid`, but not both.", "endpoint_argument_name": "tool_name" }, { "name": "code_scanning_tool_guid", "alternative_names": ["code_tool_guid", "scanning_tool_identifier"], "description": "The GUID of a code scanning tool to filter alerts. Use either `code_scanning_tool_guid` or `code_scanning_tool_name`, but not both.", "endpoint_argument_name": "tool_guid" }, { "name": "query_results_before_cursor", "alternative_names": ["before_cursor_query", "results_before_cursor"], "description": "The cursor from the Link header to search for alerts before this point.", "endpoint_argument_name": "before" }, { "name": "start_after_cursor", "alternative_names": ["results_start_after", "cursor_after"], "description": "Specifies the cursor to return results after this point. Utilize the cursor from the Link header.", "endpoint_argument_name": "after" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page_number"], "description": "Specify the page number to fetch results from. Used for pagination of code scanning alerts.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "alerts_per_page"], "description": "The number of alerts to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "sort_direction", "alternative_names": ["result_order", "ordering_direction"], "description": "Specifies the sorting order of the results, either ascending ('asc') or descending ('desc').", "endpoint_argument_name": "direction" }, { "name": "alert_state_filter", "alternative_names": ["code_alert_state", "scanning_alert_status"], "description": "Filter code scanning alerts by their state. Valid values are 'open', 'closed', 'dismissed', 'fixed'.", "endpoint_argument_name": "state" }, { "name": "sort_property", "alternative_names": ["results_sort_property", "sort_results_by"], "description": "Specify the property to sort the results by. Valid values are 'created' or 'updated'.", "endpoint_argument_name": "sort" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/code-scanning/alerts", "tags": ["code-scanning"], "summary": "List code scanning alerts for an enterprise", "description": "Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nTo use this endpoint, you must be a member of the enterprise,\nand you must use an access token with the `repo` scope or `security_events` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "tool_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both." }, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The name of the tool used to generate the code scanning analysis." }, "schema_required": false }, { "name": "tool_guid", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both." }, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "dismissed", "fixed"], "properties": null, "inner_properties": null, "description": "If specified, only code scanning alerts with this state will be returned." }, "description": "If specified, only code scanning alerts with this state will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "State of a code scanning alert.", "enum": ["open", "closed", "dismissed", "fixed"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results." }, "description": "The property by which to sort the results.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/get-security-analysis-settings-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_security_analysis_settings", "description": { "tagline": "Get security analysis settings for an enterprise.", "detailed": "Retrieve code security and analysis settings for a specified enterprise. Requires admin access to the enterprise and an access token with the `admin:enterprise` scope." }, "return_annotation": "Code security and analysis settings for the enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug version or ID of the enterprise. Use the enterprise's slug name or its ID to specify it.", "endpoint_argument_name": "enterprise" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/code_security_and_analysis", "tags": ["enterprise-admin"], "summary": "Get code security and analysis features for an enterprise", "description": "Gets code security and analysis settings for the specified enterprise.\nTo use this endpoint, you must be an administrator of the enterprise, and you must use an access token with the `admin:enterprise` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/patch-security-analysis-settings-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_security_settings_enterprise", "description": { "tagline": "Update security and scanning settings for enterprise repositories.", "detailed": "Use this tool to update the advanced security, secret scanning, and push protection settings for new repositories within an enterprise. Ensure you have admin access to the enterprise and an access token with the `admin:enterprise` scope." }, "return_annotation": "Confirmation of updated security settings for the enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. Accepts the enterprise's slug name or ID for identification.", "endpoint_argument_name": "enterprise" }, { "name": "enable_dependabot_alerts_for_new_repositories", "alternative_names": [ "activate_dependabot_alerts", "set_dependabot_alerts_for_new_repos" ], "description": "Set to true to automatically enable Dependabot alerts for new repositories.", "endpoint_argument_name": "dependabot_alerts_enabled_for_new_repositories" } ] }, "method": "PATCH", "path": "/enterprises/{enterprise}/code_security_and_analysis", "tags": ["enterprise-admin"], "summary": "Update code security and analysis features for an enterprise", "description": "Updates the settings for advanced security, secret scanning, and push protection for new repositories in an enterprise.\nTo use this endpoint, you must be an administrator of the enterprise, and you must use an access token with the `admin:enterprise` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "dependabot_alerts_enabled_for_new_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether Dependabot alerts are automatically enabled for new repositories. For more information, see \"[About Dependabot alerts](https://docs.github.com/enterprise-server@3.8/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).\"" }, "description": "Whether Dependabot alerts are automatically enabled for new repositories. For more information, see \"[About Dependabot alerts](https://docs.github.com/enterprise-server@3.8/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).\"", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether Dependabot alerts are automatically enabled for new repositories. For more information, see \"[About Dependabot alerts](https://docs.github.com/enterprise-server@3.8/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).\"" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"advanced_security_enabled_for_new_repositories\": true,\n \"dependabot_alerts_enabled_for_new_repositories\": true,\n \"secret_scanning_enabled_for_new_repositories\": true,\n \"secret_scanning_push_protection_custom_link\": \"https://github.com/test-org/test-repo/blob/main/README.md\",\n \"secret_scanning_push_protection_enabled_for_new_repositories\": true\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"dependabot_alerts_enabled_for_new_repositories\": {\n \"description\": \"Whether Dependabot alerts are automatically enabled for new repositories. For more information, see \\\"[About Dependabot alerts](https://docs.github.com/enterprise-server@3.8/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).\\\"\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "dependabot/list-alerts-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_enterprise_dependabot_alerts", "description": { "tagline": "Get Dependabot alerts for enterprise-owned repositories.", "detailed": "This tool retrieves a list of Dependabot alerts for repositories owned by a specified enterprise on GitHub. It is used by members of the enterprise with appropriate access tokens. Alerts are restricted to organizations where the user is an owner or security manager." }, "return_annotation": "List of Dependabot alerts for the specified enterprise repositories.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_name", "enterprise_id"], "description": "The slug or ID of the enterprise. This identifies the enterprise for which alerts are listed.", "endpoint_argument_name": "enterprise" }, { "name": "alert_state_filter", "alternative_names": ["state_filter", "alert_status_filter"], "description": "Comma-separated list of alert states to filter by: `dismissed`, `fixed`, `open`. Only alerts with these states will be returned.", "endpoint_argument_name": "state" }, { "name": "alert_severities", "alternative_names": ["severities_list", "severity_filter"], "description": "A comma-separated list of alert severities to filter results. Options: `low`, `medium`, `high`, `critical`.", "endpoint_argument_name": "severity" }, { "name": "ecosystem_list", "alternative_names": ["ecosystems", "ecosystem_names"], "description": "A comma-separated list of ecosystems to filter alerts. Options include: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`.", "endpoint_argument_name": "ecosystem" }, { "name": "package_filter", "alternative_names": ["package_names", "packages_list"], "description": "A comma-separated list of package names. Specify to filter alerts by these packages.", "endpoint_argument_name": "package" }, { "name": "vulnerable_dependency_scope", "alternative_names": ["dependency_scope", "alert_scope"], "description": "The scope of the vulnerable dependency to filter alerts by. Options: 'development', 'runtime'.", "endpoint_argument_name": "scope" }, { "name": "sort_property_for_alerts", "alternative_names": ["alert_sort_by", "alerts_sort_property"], "description": "Specifies the property to sort Dependabot alerts by. Options are 'created' (when the alert was created) or 'updated' (when the alert's state last changed).", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["sort_order", "result_direction"], "description": "Specifies the sorting order of the results, either ascending ('asc') or descending ('desc').", "endpoint_argument_name": "direction" }, { "name": "before_cursor", "alternative_names": ["cursor_before", "prior_to_cursor"], "description": "Specify a cursor to fetch results before this point. Use the format provided in the Link header.", "endpoint_argument_name": "before" }, { "name": "cursor_after", "alternative_names": ["pagination_after", "result_cursor_after"], "description": "A cursor to return results after a specific point. Use as given in the Link header for pagination.", "endpoint_argument_name": "after" }, { "name": "number_of_results_per_page_starting_first", "alternative_names": ["initial_page_results_count", "first_deprecated_results"], "description": "**Deprecated**. Specifies the number of results per page (maximum 100), beginning with the first matching result. Avoid using with `number_of_results_per_page_starting_last`. Use `results_per_page` with `paging_after_cursor` instead.", "endpoint_argument_name": "first" }, { "name": "results_per_page_starting_from_last", "alternative_names": ["last_page_results", "page_results_start_from_last"], "description": "**Deprecated**. Number of results per page (max 100), starting from the last matching result. Avoid using with 'results_per_page_starting_from_first'.", "endpoint_argument_name": "last" }, { "name": "results_per_page", "alternative_names": ["per_page_limit", "page_size"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/dependabot/alerts", "tags": ["dependabot"], "summary": "List Dependabot alerts for an enterprise", "description": "Lists Dependabot alerts for repositories that are owned by the specified enterprise.\nTo use this endpoint, you must be a member of the enterprise, and you must use an\naccess token with the `repo` scope or `security_events` scope.\nAlerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of states. If specified, only alerts with these states will be returned.\n\nCan be: `dismissed`, `fixed`, `open`" }, "description": "A comma-separated list of states. If specified, only alerts with these states will be returned.\n\nCan be: `dismissed`, `fixed`, `open`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "severity", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of severities. If specified, only alerts with these severities will be returned.\n\nCan be: `low`, `medium`, `high`, `critical`" }, "description": "A comma-separated list of severities. If specified, only alerts with these severities will be returned.\n\nCan be: `low`, `medium`, `high`, `critical`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ecosystem", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned.\n\nCan be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`" }, "description": "A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned.\n\nCan be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "package", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of package names. If specified, only alerts for these packages will be returned." }, "description": "A comma-separated list of package names. If specified, only alerts for these packages will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "scope", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["development", "runtime"], "properties": null, "inner_properties": null, "description": "The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned." }, "description": "The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["development", "runtime"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results.\n`created` means when the alert was created.\n`updated` means when the alert's state last changed." }, "description": "The property by which to sort the results.\n`created` means when the alert was created.\n`updated` means when the alert's state last changed.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "first", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. The number of results per page (max 100), starting from the first matching result.\nThis parameter must not be used in combination with `last`.\nInstead, use `per_page` in combination with `after` to fetch the first page of results." }, "description": "**Deprecated**. The number of results per page (max 100), starting from the first matching result.\nThis parameter must not be used in combination with `last`.\nInstead, use `per_page` in combination with `after` to fetch the first page of results.", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer", "minimum": 1, "maximum": 100 }, "schema_required": false }, { "name": "last", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. The number of results per page (max 100), starting from the last matching result.\nThis parameter must not be used in combination with `first`.\nInstead, use `per_page` in combination with `before` to fetch the last page of results." }, "description": "**Deprecated**. The number of results per page (max 100), starting from the last matching result.\nThis parameter must not be used in combination with `first`.\nInstead, use `per_page` in combination with `before` to fetch the last page of results.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer", "minimum": 1, "maximum": 100 }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/list-alerts-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_secret_scanning_alerts_for_enterprise", "description": { "tagline": "Retrieve secret scanning alerts for enterprise repositories.", "detailed": "This tool fetches secret scanning alerts for eligible repositories within an enterprise, presented from newest to oldest. Users must be members of the enterprise and possess the appropriate access token with `repo` or `security_events` scope. Alerts are only available for organizations where the user has ownership or security management permissions." }, "return_annotation": "A list of secret scanning alerts for an enterprise's repositories.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID of the enterprise. This identifies the specific enterprise to list alerts for.", "endpoint_argument_name": "enterprise" }, { "name": "alert_state_filter", "alternative_names": ["secret_scanning_alert_state", "alert_state_selection"], "description": "Specify if only 'open' or 'resolved' secret scanning alerts should be listed.", "endpoint_argument_name": "state" }, { "name": "secret_types_to_return", "alternative_names": ["filter_by_secret_types", "select_secret_types"], "description": "A comma-separated list of secret types to return. By default, all secret types are returned. Refer to GitHub's secret scanning patterns documentation for supported types.", "endpoint_argument_name": "secret_type" }, { "name": "alert_resolution_filters", "alternative_names": ["resolution_filters", "filter_alert_resolutions"], "description": "Comma-separated list of alert resolutions to filter by: false_positive, wont_fix, revoked, pattern_edited, pattern_deleted, used_in_tests.", "endpoint_argument_name": "resolution" }, { "name": "sort_by", "alternative_names": ["order_by", "sort_property"], "description": "Specify 'created' to sort by alert creation date or 'updated' to sort by the last update or resolution date.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["ordering_direction", "alert_sort_direction"], "description": "Specify the direction ('asc' or 'desc') to sort the secret scanning alerts results.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["page_size", "max_results_per_page"], "description": "The number of results per page. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "cursor_before", "alternative_names": ["before_cursor", "results_before_cursor"], "description": "A cursor to fetch results before this point, as specified by the link header.", "endpoint_argument_name": "before" }, { "name": "cursor_after", "alternative_names": ["after_cursor_position", "post_cursor"], "description": "A cursor for retrieving results after this point, as specified in the Link header.", "endpoint_argument_name": "after" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/secret-scanning/alerts", "tags": ["secret-scanning"], "summary": "List secret scanning alerts for an enterprise", "description": "Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest.\nTo use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "resolved"], "properties": null, "inner_properties": null, "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state." }, "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "resolved"] }, "schema_required": false }, { "name": "secret_type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of secret types to return. By default all secret types are returned.\nSee \"[Secret scanning patterns](https://docs.github.com/enterprise-server@3.8/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)\"\nfor a complete list of secret types." }, "description": "A comma-separated list of secret types to return. By default all secret types are returned.\nSee \"[Secret scanning patterns](https://docs.github.com/enterprise-server@3.8/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)\"\nfor a complete list of secret types.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "resolution", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`." }, "description": "A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved." }, "description": "The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "billing/get-github-advanced-security-billing-ghe", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_security_billing_info", "description": { "tagline": "Retrieve GitHub Advanced Security billing details for an enterprise.", "detailed": "This tool retrieves data on active committers using GitHub Advanced Security for an enterprise, listed per repository. It provides information on the number of distinct user logins and the total repositories with committer information." }, "return_annotation": "GitHub Advanced Security billing information for an enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug", "enterprise_id"], "description": "The slug or ID representing the enterprise name for security billing info.", "endpoint_argument_name": "enterprise" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "The number of results per page to return. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page"], "description": "Specify the page number of results to fetch. Use to navigate through paginated data.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/enterprises/{enterprise}/settings/billing/advanced-security", "tags": ["billing"], "summary": "Get GitHub Advanced Security active committers for an enterprise", "description": "Gets the GitHub Advanced Security active committers for an enterprise per repository.\n\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository.\n\nThe total number of repositories with committer information is tracked by the `total_count` field.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/post-security-product-enablement-for-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "manage_enterprise_security_feature", "description": { "tagline": "Enable or disable a security feature for an enterprise.", "detailed": "Use this tool to enable or disable a specified security feature across all repositories within an enterprise. Requires administrative access and an access token with the `admin:enterprise` scope." }, "return_annotation": "Confirmation of security feature enablement status for the enterprise.", "arguments": [ { "name": "enterprise_identifier", "alternative_names": ["enterprise_slug_name", "enterprise_id"], "description": "The slug version of the enterprise name or the enterprise ID.", "endpoint_argument_name": "enterprise" }, { "name": "security_feature", "alternative_names": ["security_option", "protection_type"], "description": "Specify the security feature to enable or disable. Options: 'advanced_security', 'secret_scanning', 'secret_scanning_push_protection'.", "endpoint_argument_name": "security_product" }, { "name": "set_enablement_status", "alternative_names": ["configure_enablement_action", "toggle_enablement_status"], "description": "Specify 'enable_all' to activate or 'disable_all' to deactivate the security feature for all repositories in the enterprise.", "endpoint_argument_name": "enablement" } ] }, "method": "POST", "path": "/enterprises/{enterprise}/{security_product}/{enablement}", "tags": ["enterprise-admin"], "summary": "Enable or disable a security feature", "description": "Enables or disables the specified security feature for all repositories in an enterprise.\n\nTo use this endpoint, you must be an administrator of the enterprise, and you must use an access token with the `admin:enterprise` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "enterprise", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id." }, "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "security_product", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["advanced_security", "secret_scanning", "secret_scanning_push_protection"], "properties": null, "inner_properties": null, "description": "The security feature to enable or disable." }, "description": "The security feature to enable or disable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "enum": ["advanced_security", "secret_scanning", "secret_scanning_push_protection"] }, "schema_required": false }, { "name": "enablement", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["enable_all", "disable_all"], "properties": null, "inner_properties": null, "description": "The action to take.\n\n`enable_all` means to enable the specified security feature for all repositories in the enterprise.\n`disable_all` means to disable the specified security feature for all repositories in the enterprise." }, "description": "The action to take.\n\n`enable_all` means to enable the specified security feature for all repositories in the enterprise.\n`disable_all` means to disable the specified security feature for all repositories in the enterprise.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "enum": ["enable_all", "disable_all"] }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-public-events", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_recent_github_events", "description": { "tagline": "Retrieve recent public events from GitHub.", "detailed": "Obtain the most recent public events from GitHub, with events delayed by at least five minutes." }, "return_annotation": "Recent public GitHub events delayed by five minutes.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "page_index"], "description": "The page number of the GitHub public event results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/events", "tags": ["activity"], "summary": "List public events", "description": "We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/get-feeds", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_feeds", "description": { "tagline": "Retrieve available GitHub feeds for an authenticated user.", "detailed": "This tool retrieves a list of timeline resources available on GitHub Enterprise Server in Atom format. It includes global public timelines, public and private timelines for users, private timelines for user activities and organizations, and security advisories. Private feeds require Basic Auth for retrieval." }, "return_annotation": "A list of available feeds for the authorized user.", "arguments": [] }, "method": "GET", "path": "/feeds", "tags": ["activity"], "summary": "Get feeds", "description": "GitHub Enterprise Server provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:\n\n* **Timeline**: The GitHub Enterprise Server global public timeline\n* **User**: The public timeline for any user, using [URI template](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#hypermedia)\n* **Current user public**: The public timeline for the authenticated user\n* **Current user**: The private timeline for the authenticated user\n* **Current user actor**: The private timeline for activity created by the authenticated user\n* **Current user organizations**: The private timeline for the organizations the authenticated user is a member of.\n* **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub Enterprise Server.\n\n**Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_gists", "description": { "tagline": "Lists a user's gists or public gists if unauthenticated.", "detailed": "This tool retrieves the list of gists for the authenticated user. If no authentication is provided, it returns all public gists. Useful for gathering a user's code snippets or public contributions." }, "return_annotation": "Returns a list of user's gists or public gists if unauthenticated.", "arguments": [ { "name": "show_gists_since", "alternative_names": ["updated_since", "list_since"], "description": "Show gists updated after the specified time in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "gists_per_page"], "description": "Specify the number of gists to return per page. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["results_page_number", "gists_page_number"], "description": "Specify the page number of the results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/gists", "tags": ["gists"], "summary": "List gists for the authenticated user", "description": "Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/create", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_gist", "description": { "tagline": "Create a new gist with one or more files on GitHub.", "detailed": "Use this tool to add a new gist containing one or more code files on GitHub. Avoid naming files with the 'gistfile' format followed by a number, as it may conflict with GitHub's internal naming scheme." }, "return_annotation": "Confirmation of gist creation with details.", "arguments": [ { "name": "gist_content", "alternative_names": ["gist_body", "gist_parameters"], "description": "A JSON object containing 'description' (string), 'files' (object with filenames as keys and content as values), and 'public' (boolean) to define the gist.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/gists", "tags": ["gists"], "summary": "Create a gist", "description": "Allows you to add a new gist with one or more files.\n\n**Note:** Don't name your files \"gistfile\" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Description of the gist" }, "files": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Names and content for the files that make up the gist" }, "public": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "description": { "type": "string", "description": "Description of the gist", "example": "Example Ruby script" }, "files": { "type": "object", "description": "Names and content for the files that make up the gist", "properties": {}, "additionalProperties": { "properties": { "content": { "description": "Content of the file", "readOnly": false, "type": "string" } }, "required": ["content"], "type": "object" } }, "public": { "type": "object", "properties": {}, "oneOf": [ { "type": "boolean", "description": "Flag indicating whether the gist is public", "example": true }, { "type": "string", "enum": ["true", "false"], "example": "true" } ] } }, "required": ["files"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Creating a gist\",\n \"value\": {\n \"description\": \"Example of a gist\",\n \"files\": {\n \"README.md\": {\n \"content\": \"Hello World\"\n }\n },\n \"public\": false\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"Description of the gist\",\n \"example\": \"Example Ruby script\",\n \"type\": \"string\"\n },\n \"files\": {\n \"additionalProperties\": {\n \"properties\": {\n \"content\": {\n \"description\": \"Content of the file\",\n \"readOnly\": false,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n },\n \"description\": \"Names and content for the files that make up the gist\",\n \"example\": {\n \"hello.rb\": {\n \"content\": \"puts \\\"Hello, World!\\\"\"\n }\n },\n \"type\": \"object\"\n },\n \"public\": {\n \"oneOf\": [\n {\n \"default\": false,\n \"description\": \"Flag indicating whether the gist is public\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n {\n \"default\": \"false\",\n \"enum\": [\n \"true\",\n \"false\"\n ],\n \"example\": \"true\",\n \"type\": \"string\"\n }\n ]\n }\n },\n \"required\": [\n \"files\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "gists/list-public", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_recent_public_gists", "description": { "tagline": "Retrieve the most recently updated public gists.", "detailed": "Call this tool to get a list of public gists on GitHub sorted by the most recent updates. Useful for accessing the latest shared code snippets or projects made publicly available on GitHub." }, "return_annotation": "A list of public gists sorted by recent updates.", "arguments": [ { "name": "updated_since", "alternative_names": ["since_timestamp", "updated_after"], "description": "A timestamp in ISO 8601 format to filter gists updated after this time.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "gists_per_page"], "description": "Specifies the number of gists to display per page. Maximum allowed is 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Page number to fetch the results from. Use for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/gists/public", "tags": ["gists"], "summary": "List public gists", "description": "List public gists sorted by most recently updated to least recently updated.\n\nNote: With [pagination](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/list-starred", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_starred_gists", "description": { "tagline": "Retrieve the authenticated user's starred gists.", "detailed": "Call this tool to get the authenticated user's starred gists on GitHub. Useful for accessing gists that the user has marked as starred." }, "return_annotation": "Retrieves a list of the user's starred gists.", "arguments": [ { "name": "updated_since_time", "alternative_names": ["since_timestamp", "last_updated_after"], "description": "Only show gists updated after this time. Use ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["per_page_limit", "page_size"], "description": "Specify the number of results per page. Maximum allowed is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["gists_page_number", "starred_gists_page"], "description": "Specifies which page of results to fetch for the user's starred gists.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/gists/starred", "tags": ["gists"], "summary": "List starred gists", "description": "List the authenticated user's starred gists:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/delete", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_gist", "description": { "tagline": "Delete a GitHub gist by its ID.", "detailed": "Use this tool to delete a specific GitHub gist by providing its gist ID. Useful for managing personal gists on GitHub." }, "return_annotation": "Confirmation of gist deletion.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id_value", "gist_unique_id"], "description": "The unique identifier for the GitHub gist to be deleted.", "endpoint_argument_name": "gist_id" } ] }, "method": "DELETE", "path": "/gists/{gist_id}", "tags": ["gists"], "summary": "Delete a gist", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_gist", "description": { "tagline": "Retrieve details of a specific GitHub gist using its ID.", "detailed": "Use this tool to obtain information about a particular GitHub gist by providing the gist ID. It is helpful when you need to access the content, description, or other metadata of a GitHub gist." }, "return_annotation": "Details of a specific GitHub gist.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id", "gist_unique_id"], "description": "The unique identifier for the GitHub gist you want to retrieve.", "endpoint_argument_name": "gist_id" } ] }, "method": "GET", "path": "/gists/{gist_id}", "tags": ["gists"], "summary": "Get a gist", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_gist", "description": { "tagline": "Update a GitHub gist's description and files.", "detailed": "Use this tool to change the description, update, delete, or rename files in an existing GitHub gist. Unchanged files remain the same." }, "return_annotation": "Confirmation of the updated gist details.", "arguments": [ { "name": "gist_unique_identifier", "alternative_names": ["gist_id_value", "gist_reference_id"], "description": "The unique identifier of the GitHub gist to be updated.", "endpoint_argument_name": "gist_id" }, { "name": "gist_update_data", "alternative_names": ["gist_modification_data", "update_gist_payload"], "description": "JSON object specifying the gist description and file changes. Include 'description' to update the gist's description. Use 'files' to update, rename, or delete files, with keys as filenames. Set a file to null to delete it.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/gists/{gist_id}", "tags": ["gists"], "summary": "Update a gist", "description": "Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the gist." }, "files": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The gist files to be updated, renamed, or deleted. Each `key` must match the current filename\n(including extension) of the targeted gist file. For example: `hello.py`.\n\nTo delete a file, set the whole file to null. For example: `hello.py : null`." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "description": { "type": "string", "description": "The description of the gist.", "example": "Example Ruby script" }, "files": { "type": "object", "description": "The gist files to be updated, renamed, or deleted. Each `key` must match the current filename\n(including extension) of the targeted gist file. For example: `hello.py`.\n\nTo delete a file, set the whole file to null. For example: `hello.py : null`.", "properties": {}, "additionalProperties": { "anyOf": [ { "required": ["content"] }, { "required": ["filename"] }, { "maxProperties": 0, "type": "object" } ], "nullable": true, "properties": { "content": { "description": "The new content of the file.", "type": "string" }, "filename": { "description": "The new filename for the file.", "nullable": true, "type": "string" } }, "type": "object" } } }, "anyOf": [ { "type": "object", "properties": {}, "required": ["description"] }, { "type": "object", "properties": {}, "required": ["files"] } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"deleteFile\": {\n \"summary\": \"Deleting a gist file\",\n \"value\": {\n \"files\": {\n \"hello.py\": null\n }\n }\n },\n \"renameFile\": {\n \"summary\": \"Renaming a gist file\",\n \"value\": {\n \"files\": {\n \"hello.py\": {\n \"filename\": \"goodbye.py\"\n }\n }\n }\n },\n \"updateGist\": {\n \"summary\": \"Updating a gist\",\n \"value\": {\n \"description\": \"An updated gist description\",\n \"files\": {\n \"README.md\": {\n \"content\": \"Hello World from GitHub\"\n }\n }\n }\n }\n },\n \"schema\": {\n \"anyOf\": [\n {\n \"required\": [\n \"description\"\n ]\n },\n {\n \"required\": [\n \"files\"\n ]\n }\n ],\n \"nullable\": true,\n \"properties\": {\n \"description\": {\n \"description\": \"The description of the gist.\",\n \"example\": \"Example Ruby script\",\n \"type\": \"string\"\n },\n \"files\": {\n \"additionalProperties\": {\n \"anyOf\": [\n {\n \"required\": [\n \"content\"\n ]\n },\n {\n \"required\": [\n \"filename\"\n ]\n },\n {\n \"maxProperties\": 0,\n \"type\": \"object\"\n }\n ],\n \"nullable\": true,\n \"properties\": {\n \"content\": {\n \"description\": \"The new content of the file.\",\n \"type\": \"string\"\n },\n \"filename\": {\n \"description\": \"The new filename for the file.\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"description\": \"The gist files to be updated, renamed, or deleted. Each `key` must match the current filename\\n(including extension) of the targeted gist file. For example: `hello.py`.\\n\\nTo delete a file, set the whole file to null. For example: `hello.py : null`.\",\n \"example\": {\n \"hello.rb\": {\n \"content\": \"blah\",\n \"filename\": \"goodbye.rb\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "gists/list-comments", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_gist_comments", "description": { "tagline": "Retrieve comments for a specific GitHub gist.", "detailed": "This tool is used to fetch comments associated with a specified GitHub gist, identified by its gist ID." }, "return_annotation": "A list of comments on the specified gist.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id_input", "gist_unique_id"], "description": "Provide the unique identifier of the gist for which comments are to be listed.", "endpoint_argument_name": "gist_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of comments to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["comments_page_number", "retrieve_results_page"], "description": "Specifies the page number to fetch from the list of gist comments.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/gists/{gist_id}/comments", "tags": ["gists"], "summary": "List gist comments", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/create-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_gist_comment", "description": { "tagline": "Create a comment on a GitHub gist.", "detailed": "This tool is used to add a comment to a specific GitHub gist by providing the necessary gist ID and comment content." }, "return_annotation": "Details of the created gist comment.", "arguments": [ { "name": "gist_unique_identifier", "alternative_names": ["gist_id_value", "gist_identifier"], "description": "The unique identifier of the gist to comment on.", "endpoint_argument_name": "gist_id" }, { "name": "comment_text", "alternative_names": ["comment_content", "comment_body"], "description": "The text content of the comment to be added to the gist.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/gists/{gist_id}/comments", "tags": ["gists"], "summary": "Create a gist comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The comment text." }, "description": "The comment text.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The comment text.", "example": "Body of the attachment" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Creating a comment in a gist\",\n \"value\": {\n \"body\": \"This is a comment to a gist\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The comment text.\",\n \"example\": \"Body of the attachment\",\n \"maxLength\": 65535,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "gists/delete-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_gist_comment", "description": { "tagline": "Delete a comment from a GitHub gist.", "detailed": "This tool deletes a specific comment from a GitHub gist when provided with the gist and comment IDs. It should be called when a user needs to remove an undesired or outdated comment." }, "return_annotation": "Confirmation of gist comment deletion.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_unique_id", "gist_key"], "description": "The unique identifier for the specific GitHub gist from which the comment is to be deleted.", "endpoint_argument_name": "gist_id" }, { "name": "comment_identifier", "alternative_names": ["comment_id_number", "identifier_of_comment"], "description": "The unique identifier of the comment to be deleted.", "endpoint_argument_name": "comment_id" } ] }, "method": "DELETE", "path": "/gists/{gist_id}/comments/{comment_id}", "tags": ["gists"], "summary": "Delete a gist comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/get-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_gist_comment", "description": { "tagline": "Retrieve a specific comment from a GitHub gist.", "detailed": "Use this tool to obtain details about a specific comment on a GitHub gist using the gist and comment IDs." }, "return_annotation": "Details of a specific gist comment.", "arguments": [ { "name": "gist_unique_id", "alternative_names": ["gist_identifier", "gist_id_param"], "description": "The unique identifier for the gist needed to retrieve a specific comment.", "endpoint_argument_name": "gist_id" }, { "name": "comment_id", "alternative_names": ["comment_identifier", "comment_key"], "description": "Unique identifier for the gist comment to retrieve details for.", "endpoint_argument_name": "comment_id" } ] }, "method": "GET", "path": "/gists/{gist_id}/comments/{comment_id}", "tags": ["gists"], "summary": "Get a gist comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/update-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_gist_comment", "description": { "tagline": "Update an existing comment on a GitHub gist.", "detailed": "Use this tool to update a comment on a specific GitHub gist. Ideal for modifying content of a gist comment when changes are necessary." }, "return_annotation": "Confirmation of gist comment update.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id_number", "gist_code"], "description": "The unique identifier for the GitHub gist you want to update a comment on.", "endpoint_argument_name": "gist_id" }, { "name": "comment_identifier", "alternative_names": ["comment_id_number", "comment_unique_id"], "description": "The unique identifier of the comment to update.", "endpoint_argument_name": "comment_id" }, { "name": "comment_text", "alternative_names": ["comment_body", "updated_comment_text"], "description": "The text content of the gist comment to be updated.", "endpoint_argument_name": "body" } ] }, "method": "PATCH", "path": "/gists/{gist_id}/comments/{comment_id}", "tags": ["gists"], "summary": "Update a gist comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The comment text." }, "description": "The comment text.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The comment text.", "example": "Body of the attachment" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Updating a comment in a gist\",\n \"value\": {\n \"body\": \"This is an update to a comment in a gist\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The comment text.\",\n \"example\": \"Body of the attachment\",\n \"maxLength\": 65535,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "gists/list-commits", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_gist_commits", "description": { "tagline": "Retrieve the commit history of a specified GitHub gist.", "detailed": "Use this tool to obtain a list of all commits associated with a specific gist on GitHub. Ideal for tracking changes and updates made to the gist content over time." }, "return_annotation": "List of commits for a specified gist.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id", "gist_unique_id"], "description": "The unique identifier of the gist for which to list commits.", "endpoint_argument_name": "gist_id" }, { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "items_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_of_results", "results_pagination_page"], "description": "Specify the page number of results to fetch for pagination. Useful for accessing more than the default result set.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/gists/{gist_id}/commits", "tags": ["gists"], "summary": "List gist commits", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/list-forks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_gist_forks", "description": { "tagline": "Retrieve a list of forks for a specific gist.", "detailed": "Use this tool to get information about the forks of a specific gist on GitHub by providing the gist ID." }, "return_annotation": "A list of forks for a specified gist.", "arguments": [ { "name": "gist_unique_identifier", "alternative_names": ["gist_id_number", "gist_identifier"], "description": "The unique identifier of the gist to retrieve forks information from.", "endpoint_argument_name": "gist_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count_per_page"], "description": "The number of results to display per page, with a maximum of 100 allowed.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_index", "results_page"], "description": "Specify the page number of the results you want to fetch. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/gists/{gist_id}/forks", "tags": ["gists"], "summary": "List gist forks", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/fork", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fork_gist", "description": { "tagline": "Fork a GitHub gist to your account.", "detailed": "Use this tool to create a fork of an existing GitHub gist into your account. This can be useful for modifying or duplicating code snippets while keeping track of the original version." }, "return_annotation": "Information about the newly created gist fork.", "arguments": [ { "name": "gist_unique_identifier", "alternative_names": ["gist_id_number", "gist_identifier"], "description": "The unique identifier of the GitHub gist to be forked. This is required to specify which gist to duplicate.", "endpoint_argument_name": "gist_id" } ] }, "method": "POST", "path": "/gists/{gist_id}/forks", "tags": ["gists"], "summary": "Fork a gist", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/unstar", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unstar_github_gist", "description": { "tagline": "Unstar a GitHub gist by its ID.", "detailed": "This tool is used to remove a star from a specific GitHub gist identified by its ID. Call this tool when you need to unstar a gist to update its starred status. It confirms the action has been completed." }, "return_annotation": "Confirmation of gist unstar action.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id_number", "gist_unique_id"], "description": "The unique identifier for the GitHub gist to be unstarred.", "endpoint_argument_name": "gist_id" } ] }, "method": "DELETE", "path": "/gists/{gist_id}/star", "tags": ["gists"], "summary": "Unstar a gist", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/check-is-starred", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_if_gist_is_starred", "description": { "tagline": "Determine if a specific gist is starred on GitHub.", "detailed": "This tool checks the starred status of a specific GitHub gist using its gist ID." }, "return_annotation": "Indicates whether a gist is starred or not.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["gist_id_number", "gist_unique_id"], "description": "The unique identifier for the gist to check if it is starred.", "endpoint_argument_name": "gist_id" } ] }, "method": "GET", "path": "/gists/{gist_id}/star", "tags": ["gists"], "summary": "Check if a gist is starred", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/star", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "star_github_gist", "description": { "tagline": "Star a gist on GitHub using its gist ID.", "detailed": "Use this tool to star a specific gist on GitHub by providing its gist ID. This action marks the gist as starred for the authenticated user." }, "return_annotation": "Acknowledgment of gist being starred on GitHub.", "arguments": [ { "name": "gist_unique_id", "alternative_names": ["gist_identifier", "unique_gist_id"], "description": "The unique identifier of the gist to be starred on GitHub.", "endpoint_argument_name": "gist_id" } ] }, "method": "PUT", "path": "/gists/{gist_id}/star", "tags": ["gists"], "summary": "Star a gist", "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/get-revision", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_gist_revision", "description": { "tagline": "Retrieve a specific revision of a GitHub gist.", "detailed": "Use this tool to get details about a specific revision of a GitHub gist using the gist ID and SHA." }, "return_annotation": "Details of a specific gist revision.", "arguments": [ { "name": "gist_identifier", "alternative_names": ["unique_gist_id", "gist_key"], "description": "The unique identifier of the GitHub gist to retrieve a specific revision.", "endpoint_argument_name": "gist_id" }, { "name": "revision_sha", "alternative_names": ["gist_revision_sha", "version_sha"], "description": "The SHA hash of the specific gist revision to retrieve.", "endpoint_argument_name": "sha" } ] }, "method": "GET", "path": "/gists/{gist_id}/{sha}", "tags": ["gists"], "summary": "Get a gist revision", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gist_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the gist." }, "description": "The unique identifier of the gist.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gitignore/get-all-templates", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_gitignore_templates", "description": { "tagline": "Retrieve all available .gitignore templates from GitHub.", "detailed": "Use this tool to obtain a list of all .gitignore templates that can be used when creating a new repository on GitHub. This can help in setting up repositories with the appropriate exclusions." }, "return_annotation": "A list of available .gitignore templates.", "arguments": [] }, "method": "GET", "path": "/gitignore/templates", "tags": ["gitignore"], "summary": "Get all gitignore templates", "description": "List all templates available to pass as an option when [creating a repository](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-a-repository-for-the-authenticated-user).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gitignore/get-template", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_gitignore_template", "description": { "tagline": "Fetches the raw .gitignore template by name.", "detailed": "Use this tool to retrieve the raw source of a specified .gitignore template from GitHub. It is useful when you need to include or reference specific ignore rules for different development environments." }, "return_annotation": "Raw contents of a specified .gitignore template.", "arguments": [ { "name": "gitignore_template_name", "alternative_names": ["template_name", "ignore_file_template"], "description": "The name of the .gitignore template to fetch from GitHub. This is required to specify which template's raw content to retrieve.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/gitignore/templates/{name}", "tags": ["gitignore"], "summary": "Get a gitignore template", "description": "The API also allows fetching the source of a single template.\nUse the raw [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/) to get the raw contents.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/list-repos-accessible-to-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_app_accessible_repos", "description": { "tagline": "List repositories accessible to a GitHub app installation.", "detailed": "Use this tool to retrieve a list of repositories that a GitHub app installation can access. Requires an installation access token for authentication." }, "return_annotation": "List of repositories accessible to the GitHub app installation.", "arguments": [ { "name": "results_per_page", "alternative_names": ["repos_per_page", "items_per_page"], "description": "The number of repositories to include on each page of results. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Page number of the results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/installation/repositories", "tags": ["apps"], "summary": "List repositories accessible to the app installation", "description": "List repositories that an app installation can access.\n\nYou must use an [installation access token](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/revoke-installation-access-token", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "revoke_github_installation_token", "description": { "tagline": "Revoke your GitHub installation access token.", "detailed": "This tool revokes the GitHub installation token currently being used for authentication. Once revoked, the token becomes invalid and cannot be used for further authentication. This is useful when you need to invalidate an access token immediately." }, "return_annotation": "Confirmation of token revocation.", "arguments": [] }, "method": "DELETE", "path": "/installation/token", "tags": ["apps"], "summary": "Revoke an installation access token", "description": "Revokes the installation token you're using to authenticate as an installation and access this endpoint.\n\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"[Create an installation access token for an app](https://docs.github.com/enterprise-server@3.8/rest/reference/apps#create-an-installation-access-token-for-an-app)\" endpoint.\n\nYou must use an [installation access token](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_issues", "description": { "tagline": "Get issues assigned to you across all GitHub repositories.", "detailed": "This tool retrieves a list of issues that are assigned to the authenticated user from all visible repositories on GitHub, including owned, member, and organization repositories. It can be used to monitor workload and track tasks across projects. Note that the results may include pull requests as well, identified by a `pull_request` key." }, "return_annotation": "List of issues and pull requests assigned to the user.", "arguments": [ { "name": "issue_filter_type", "alternative_names": ["issue_selection_criteria", "issue_visibility"], "description": "Specifies the type of issues to return: assigned, created, mentioned, subscribed, repos, or all.", "endpoint_argument_name": "filter" }, { "name": "issue_state", "alternative_names": ["issue_status", "state_of_issues"], "description": "Specifies the state of issues to retrieve: `open`, `closed`, or `all`.", "endpoint_argument_name": "state" }, { "name": "issue_labels", "alternative_names": ["labels_filter", "label_names_list"], "description": "Comma-separated list of label names to filter issues. Example: 'bug,ui,@high'.", "endpoint_argument_name": "labels" }, { "name": "sort_issues_by", "alternative_names": ["issue_sort_order", "order_issues_by"], "description": "Specify the criteria to sort issues by: 'created', 'updated', or 'comments'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["results_sort_order", "order_direction"], "description": "Specifies the order of sorting for the results. Use 'asc' for ascending and 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "updated_since_timestamp", "alternative_names": ["last_updated_after", "notifications_since_time"], "description": "Show issues updated after this timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of results per page, maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["result_page", "pagination_page"], "description": "The specific page of results to fetch. Use this for pagination to navigate through large list of issues.", "endpoint_argument_name": "page" }, { "name": "include_collaborative_repositories", "alternative_names": ["collaborative_repos", "collab_repos"], "description": "Include issues from collaborative repositories. Set to true to filter issues where you have collaborative access.", "endpoint_argument_name": "collab" }, { "name": "organization_repositories", "alternative_names": [ "include_organization_issues", "filter_organization_repositories" ], "description": "Include issues from organization repositories when set to true. If false, include issues from all repositories.", "endpoint_argument_name": "orgs" }, { "name": "include_owned_repositories", "alternative_names": ["fetch_owned_repos_issues", "owned_repositories_filter"], "description": "Set to true to include issues from repositories owned by the authenticated user.", "endpoint_argument_name": "owned" }, { "name": "include_pull_requests", "alternative_names": ["with_pull_requests", "pull_request_filter"], "description": "Set to true to include pull requests in the issues list.", "endpoint_argument_name": "pulls" } ] }, "method": "GET", "path": "/issues", "tags": ["issues"], "summary": "List issues assigned to the authenticated user", "description": "List issues assigned to the authenticated user across all visible repositories including owned repositories, member\nrepositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not\nnecessarily assigned to you.\n\n\n**Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#list-pull-requests)\" endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["assigned", "created", "mentioned", "subscribed", "repos", "all"], "properties": null, "inner_properties": null, "description": "Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation." }, "description": "Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation.", "required": false, "deprecated": false, "default": "assigned", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["assigned", "created", "mentioned", "subscribed", "repos", "all"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the issues to return." }, "description": "Indicates the state of the issues to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "labels", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A list of comma separated label names. Example: `bug,ui,@high`" }, "description": "A list of comma separated label names. Example: `bug,ui,@high`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "comments"], "properties": null, "inner_properties": null, "description": "What to sort results by." }, "description": "What to sort results by.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "comments"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "collab", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "orgs", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "owned", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "pulls", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "licenses/get-all-commonly-used", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_commonly_used_licenses", "description": { "tagline": "Fetch a list of commonly used software licenses.", "detailed": "Retrieves a collection of the most commonly used open-source software licenses from GitHub." }, "return_annotation": "List of commonly used software licenses.", "arguments": [ { "name": "results_per_page", "alternative_names": ["licenses_per_page", "items_per_page"], "description": "Specify the number of licenses to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "licenses_page"], "description": "Page number of the results to fetch. Use to navigate through pages of results.", "endpoint_argument_name": "page" }, { "name": "only_featured_licenses", "alternative_names": ["filter_featured_licenses", "featured_licenses_only"], "description": "Set to true to return only featured licenses.", "endpoint_argument_name": "featured" } ] }, "method": "GET", "path": "/licenses", "tags": ["licenses"], "summary": "Get all commonly used licenses", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "featured", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "licenses/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_license", "description": { "tagline": "Retrieve a specific GitHub license by its key.", "detailed": "Use this tool to get details about a specific license on GitHub by specifying its key. Useful when you need information about license terms and conditions for a repository." }, "return_annotation": "Details of a specified GitHub license.", "arguments": [ { "name": "license_key", "alternative_names": ["license_identifier", "license_code"], "description": "The key of the GitHub license to retrieve information about.", "endpoint_argument_name": "license" } ] }, "method": "GET", "path": "/licenses/{license}", "tags": ["licenses"], "summary": "Get a license", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "license", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "markdown/render", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "render_markdown", "description": { "tagline": "Convert Markdown content to HTML rendering.", "detailed": "Use this tool to convert Markdown text into HTML format, suitable for displaying on web pages or applications." }, "return_annotation": "Rendered HTML from Markdown input.", "arguments": [ { "name": "markdown_text", "alternative_names": ["markdown_content", "markdown_input"], "description": "The Markdown text to convert into HTML format.", "endpoint_argument_name": "text" }, { "name": "repository_context", "alternative_names": ["repo_context", "gfm_context"], "description": "The repository context for linking references in `gfm` mode (e.g., 'octo-org/octo-repo').", "endpoint_argument_name": "context" }, { "name": "rendering_mode", "alternative_names": ["markdown_mode", "render_mode"], "description": "Specifies the rendering mode: 'markdown' for plain Markdown or 'gfm' for GitHub Flavored Markdown.", "endpoint_argument_name": "mode" } ] }, "method": "POST", "path": "/markdown", "tags": ["markdown"], "summary": "Render a Markdown document", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "context", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository." }, "description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository." }, "schema_required": false }, { "name": "mode", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["markdown", "gfm"], "properties": null, "inner_properties": null, "description": "The rendering mode." }, "description": "The rendering mode.", "required": false, "deprecated": false, "default": "markdown", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The rendering mode.", "enum": ["markdown", "gfm"], "example": "markdown" }, "schema_required": false }, { "name": "text", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Markdown text to render in HTML." }, "description": "The Markdown text to render in HTML.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The Markdown text to render in HTML." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Rendering markdown\",\n \"value\": {\n \"text\": \"Hello **world**\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"context\": {\n \"description\": \"The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository.\",\n \"type\": \"string\"\n },\n \"mode\": {\n \"default\": \"markdown\",\n \"description\": \"The rendering mode.\",\n \"enum\": [\n \"markdown\",\n \"gfm\"\n ],\n \"example\": \"markdown\",\n \"type\": \"string\"\n },\n \"text\": {\n \"description\": \"The Markdown text to render in HTML.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"text\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "markdown/render-raw", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "render_markdown_plain", "description": { "tagline": "Convert Markdown text to rendered plain text format.", "detailed": "Use this tool to convert Markdown text to a plain-text format without GitHub Flavored Markdown support. Ideal for rendering Markdown as it appears in README.md files. The content size must be 400 KB or less." }, "return_annotation": "Rendered plain text from Markdown input.", "arguments": [] }, "method": "POST", "path": "/markdown/raw", "tags": ["markdown"], "summary": "Render a Markdown document in raw mode", "description": "You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "meta/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_enterprise_meta_info", "description": { "tagline": "Retrieve GitHub Enterprise Server meta information.", "detailed": "This tool is used to obtain meta information about a GitHub Enterprise Server. It should be called when details about the server's configuration and capabilities are needed." }, "return_annotation": "GitHub Enterprise Server metadata.", "arguments": [] }, "method": "GET", "path": "/meta", "tags": ["meta"], "summary": "Get GitHub Enterprise Server meta information", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-public-events-for-repo-network", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_network_public_events", "description": { "tagline": "Retrieve public events for a network of repositories.", "detailed": "Use this tool to get the latest public events associated with a network of repositories on GitHub. It is useful for monitoring activity across multiple related repositories." }, "return_annotation": "A list of public events for a repository network.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "events_per_fetch"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "results_page"], "description": "Specify the page number of results to retrieve. Use this to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/networks/{owner}/{repo}/events", "tags": ["activity"], "summary": "List public events for a network of repositories", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-notifications-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_notifications", "description": { "tagline": "Retrieve notifications for the authenticated GitHub user.", "detailed": "This tool retrieves all notifications for the authenticated GitHub user, sorted by most recently updated. It should be called when the user wants to check their latest notifications." }, "return_annotation": "List of notifications for the authenticated user.", "arguments": [ { "name": "notifications_since_timestamp", "alternative_names": ["updated_after_timestamp", "notifications_since_time"], "description": "Return notifications updated after this timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.", "endpoint_argument_name": "since" }, { "name": "filter_notifications_before_date", "alternative_names": ["filter_before_date", "notifications_before_date"], "description": "Only show notifications updated before the specified ISO 8601 timestamp (`YYYY-MM-DDTHH:MM:SSZ`).", "endpoint_argument_name": "before" }, { "name": "results_page_number", "alternative_names": ["notification_page", "github_page_number"], "description": "Specify the page number of the notification results to fetch.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["notifications_per_page", "items_per_page"], "description": "The number of notifications to display per page, with a maximum limit of 50.", "endpoint_argument_name": "per_page" }, { "name": "include_read_notifications", "alternative_names": ["show_read_notifications", "display_read_notifications"], "description": "Set to `true` to include notifications marked as read in the results.", "endpoint_argument_name": "all" }, { "name": "only_show_participating_notifications", "alternative_names": [ "only_participating_notifications", "filter_participation_notifications" ], "description": "If true, only shows notifications where the user is directly participating or mentioned.", "endpoint_argument_name": "participating" } ] }, "method": "GET", "path": "/notifications", "tags": ["activity"], "summary": "List notifications for the authenticated user", "description": "List all notifications for the current user, sorted by most recently updated.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "all", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, show notifications marked as read." }, "description": "If `true`, show notifications marked as read.", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "participating", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, only shows notifications in which the user is directly participating or mentioned." }, "description": "If `true`, only shows notifications in which the user is directly participating or mentioned.", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 50)." }, "description": "The number of results per page (max 50).", "required": false, "deprecated": false, "default": 50, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/mark-notifications-as-read", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "mark_github_notifications_as_read", "description": { "tagline": "Mark all GitHub notifications as read for the current user.", "detailed": "Use this tool to mark all notifications as 'read' in GitHub for the authenticated user. If there are too many notifications, the process may run asynchronously, and any remaining 'unread' notifications can be checked using a separate endpoint." }, "return_annotation": "Confirmation of marking notifications as read.", "arguments": [ { "name": "notifications_last_read_timestamp", "alternative_names": ["last_checked_timestamp", "last_read_time"], "description": "A timestamp marking the last time notifications were checked. Notifications updated since this time won't be marked as read. Use ISO 8601 format `YYYY-MM-DDTHH:MM:SSZ`. Leave empty to mark all as read.", "endpoint_argument_name": "last_read_at" }, { "name": "mark_notifications_as_read", "alternative_names": ["set_notifications_read_status", "notifications_read_flag"], "description": "A boolean flag to set notifications as read. True marks notifications as read.", "endpoint_argument_name": "read" } ] }, "method": "PUT", "path": "/notifications", "tags": ["activity"], "summary": "Mark notifications as read", "description": "Marks all notifications as \"read\" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub Enterprise Server will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "last_read_at", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp." }, "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.", "format": "date-time" }, "schema_required": false }, { "name": "read", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the notification has been read." }, "description": "Whether the notification has been read.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether the notification has been read." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"last_read_at\": \"2022-06-10T00:00:00+00:00\",\n \"read\": true\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"last_read_at\": {\n \"description\": \"Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"read\": {\n \"description\": \"Whether the notification has been read.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "activity/get-thread", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_notification_thread", "description": { "tagline": "Retrieve information about a GitHub notification thread.", "detailed": "Use this tool to get detailed information about a specific notification thread on GitHub. It's helpful for users who need to track updates or manage their notifications." }, "return_annotation": "Detailed information about a GitHub notification thread.", "arguments": [ { "name": "notification_thread_id", "alternative_names": ["thread_identifier", "notification_id"], "description": "The unique identifier of the notification thread, returned in the `id` field when retrieving notifications.", "endpoint_argument_name": "thread_id" } ] }, "method": "GET", "path": "/notifications/threads/{thread_id}", "tags": ["activity"], "summary": "Get a thread", "description": "Gets information about a notification thread.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "thread_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user))." }, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user)).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/mark-thread-as-read", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "mark_github_thread_as_read", "description": { "tagline": "Mark a GitHub thread notification as read.", "detailed": "Use this tool to mark a GitHub notification thread as read. It mirrors the action of clicking a notification in the GitHub notification inbox." }, "return_annotation": "Confirmation of thread marked as read.", "arguments": [ { "name": "notification_thread_id", "alternative_names": ["thread_identifier", "notification_id"], "description": "The unique identifier for the GitHub notification thread to be marked as read. Obtain this from the `id` field when retrieving notifications.", "endpoint_argument_name": "thread_id" } ] }, "method": "PATCH", "path": "/notifications/threads/{thread_id}", "tags": ["activity"], "summary": "Mark a thread as read", "description": "Marks a thread as \"read.\" Marking a thread as \"read\" is equivalent to clicking a notification in your notification inbox on GitHub Enterprise Server: https://github.com/notifications.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "thread_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user))." }, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user)).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/delete-thread-subscription", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "mute_github_thread_notifications", "description": { "tagline": "Mute all future notifications for a GitHub thread.", "detailed": "Use this tool to mute notifications for a specific GitHub conversation thread. Notifications will be silenced until you comment on the thread or receive an @mention. This tool is helpful if you want to focus on relevant updates without distractions." }, "return_annotation": "Confirmation of muted thread notifications.", "arguments": [ { "name": "notification_thread_id", "alternative_names": ["thread_identifier", "notification_thread_identifier"], "description": "The unique identifier for the specific GitHub notification thread to mute. Obtain from the `id` field of fetched notifications.", "endpoint_argument_name": "thread_id" } ] }, "method": "DELETE", "path": "/notifications/threads/{thread_id}/subscription", "tags": ["activity"], "summary": "Delete a thread subscription", "description": "Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "thread_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user))." }, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user)).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/get-thread-subscription-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_thread_subscription", "description": { "tagline": "Check if the authenticated user is subscribed to a thread.", "detailed": "This tool determines if the current user is subscribed to a specific thread on GitHub. Subscriptions are present if the user is participating in the conversation, such as replying, being @mentioned, or manually subscribing to the thread." }, "return_annotation": "Subscription status of the authenticated user for a thread.", "arguments": [ { "name": "notification_thread_id", "alternative_names": ["thread_identifier", "notification_id"], "description": "The unique identifier of the notification thread, retrieved from notification data.", "endpoint_argument_name": "thread_id" } ] }, "method": "GET", "path": "/notifications/threads/{thread_id}/subscription", "tags": ["activity"], "summary": "Get a thread subscription for the authenticated user", "description": "This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#get-a-repository-subscription).\n\nNote that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "thread_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user))." }, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user)).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/set-thread-subscription", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "manage_github_thread_notifications", "description": { "tagline": "Manage GitHub notifications for specific threads.", "detailed": "Use this tool to ignore future notifications for GitHub threads, or to subscribe to threads you aren't receiving notifications for. Ideal for managing notifications on watched repositories by ignoring or subscribing to specific threads." }, "return_annotation": "Notification subscription status for a GitHub thread.", "arguments": [ { "name": "notification_thread_id", "alternative_names": ["thread_identifier", "notification_id"], "description": "The unique ID of the notification thread, as retrieved from the GitHub notifications API.", "endpoint_argument_name": "thread_id" }, { "name": "ignore_thread_notifications", "alternative_names": ["mute_thread_notifications", "suppress_thread_notifications"], "description": "Set to true to block all notifications from a thread. Use false to allow notifications.", "endpoint_argument_name": "ignored" } ] }, "method": "PUT", "path": "/notifications/threads/{thread_id}/subscription", "tags": ["activity"], "summary": "Set a thread subscription", "description": "If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**.\n\nYou can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored.\n\nUnsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#delete-a-thread-subscription) endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "thread_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user))." }, "description": "The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-notifications-for-the-authenticated-user)).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "ignored", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to block all notifications from a thread." }, "description": "Whether to block all notifications from a thread.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether to block all notifications from a thread." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"ignored\": false\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"ignored\": {\n \"default\": false,\n \"description\": \"Whether to block all notifications from a thread.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "meta/get-octocat", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_octocat_ascii_art", "description": { "tagline": "Retrieve the octocat as ASCII art.", "detailed": "Use this tool to get the octocat character depicted in ASCII art from GitHub." }, "return_annotation": "ASCII art representation of the octocat.", "arguments": [ { "name": "speech_bubble_text", "alternative_names": ["octocat_speech", "bubble_text"], "description": "Text to display in Octocat's speech bubble. Provide a string with the desired message.", "endpoint_argument_name": "s" } ] }, "method": "GET", "path": "/octocat", "tags": ["meta"], "summary": "Get Octocat", "description": "Get the octocat as ASCII art", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "s", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The words to show in Octocat's speech bubble" }, "description": "The words to show in Octocat's speech bubble", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_organizations", "description": { "tagline": "Retrieve a list of GitHub organizations.", "detailed": "Fetches all organizations from GitHub Enterprise Server in the order they were created. Supports pagination using the 'since' parameter." }, "return_annotation": "A list of GitHub organizations in creation order.", "arguments": [ { "name": "organization_id_since", "alternative_names": ["starting_organization_id", "min_organization_id"], "description": "Only return organizations with an ID greater than this value to paginate results.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["per_page_count", "page_size"], "description": "Specifies the number of results to return per page, with a maximum value of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/organizations", "tags": ["orgs"], "summary": "List organizations", "description": "Lists all organizations, in the order that they were created on GitHub Enterprise Server.\n\n**Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An organization ID. Only return organizations with an ID greater than this ID." }, "description": "An organization ID. Only return organizations with an ID greater than this ID.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-custom-roles", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_custom_roles", "description": { "tagline": "Retrieve custom repository roles for a GitHub organization.", "detailed": "Retrieve a list of available custom repository roles in a GitHub organization if authenticated as an organization owner or administrator with the appropriate permissions." }, "return_annotation": "Information about custom repository roles available in an organization.", "arguments": [ { "name": "organization_id", "alternative_names": ["org_id", "organization_identifier"], "description": "The unique identifier of the GitHub organization to list custom roles for.", "endpoint_argument_name": "organization_id" } ] }, "method": "GET", "path": "/organizations/{organization_id}/custom_roles", "tags": ["orgs"], "summary": "List custom repository roles in an organization", "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nTo use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organization and must use an access token with `admin:org repo` scope.\nGitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint.\n\nFor more information on custom repository roles, see \"[About custom repository roles](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "organization_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the organization." }, "description": "The unique identifier of the organization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_org_info", "description": { "tagline": "Retrieve detailed information about a GitHub organization.", "detailed": "This tool retrieves information about a specific GitHub organization, such as its plan and two-factor authentication requirements. It requires authentication as an organization owner or a GitHub App with the appropriate permissions." }, "return_annotation": "Detailed information about a GitHub organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization to retrieve information for. It is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}", "tags": ["orgs"], "summary": "Get an organization", "description": "To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/enterprise-server@3.8/articles/securing-your-account-with-two-factor-authentication-2fa/).\n\nGitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See \"[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/)\" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below.\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_organization", "description": { "tagline": "Update a GitHub organization's profile and member privileges.", "detailed": "Allows an authenticated organization owner to update the organization's profile and set member privileges using the `admin:org` scope. New parameters enable more granular permissions for repository creation." }, "return_annotation": "Updated organization profile and member privileges.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The GitHub organization name. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "update_organization_profile", "alternative_names": ["update_org_settings", "modify_org_details"], "description": "A JSON object containing fields to update a GitHub organization profile and configure member privileges. Options include security settings, repository permissions, and organization details like billing email or company name.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/orgs/{org}", "tags": ["orgs"], "summary": "Update an organization", "description": "**Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).\n\nEnables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "advanced_security_enabled_for_new_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub Advanced Security is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "billing_email": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Billing email address. This address is not publicized." }, "blog": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "company": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The company name." }, "default_repository_permission": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin", "none"], "properties": null, "inner_properties": null, "description": "Default permission level members have for organization repositories." }, "dependabot_alerts_enabled_for_new_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether Dependabot alerts is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "dependabot_security_updates_enabled_for_new_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether Dependabot security updates is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "dependency_graph_enabled_for_new_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether dependency graph is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the company." }, "email": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The publicly visible email address." }, "has_organization_projects": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether an organization can use organization projects." }, "has_repository_projects": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether repositories that belong to the organization can use repository projects." }, "location": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The location." }, "members_allowed_repository_creation_type": { "val_type": "string", "inner_val_type": null, "enum": ["all", "private", "none"], "properties": null, "inner_properties": null, "description": "Specifies which types of repositories non-admin organization members can create. \n**Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details." }, "members_can_create_internal_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." }, "members_can_create_pages": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted." }, "members_can_create_private_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." }, "members_can_create_public_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether organization members can create public repositories, which are visible to anyone. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." }, "members_can_create_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details." }, "members_can_fork_private_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether organization members can fork private organization repositories." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The shorthand name of the company." }, "secret_scanning_enabled_for_new_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether secret scanning is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "secret_scanning_push_protection_custom_link": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret." }, "secret_scanning_push_protection_custom_link_enabled": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection." }, "secret_scanning_push_protection_enabled_for_new_repositories": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether secret scanning push protection is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "twitter_username": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Twitter username of the company." }, "web_commit_signoff_required": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "advanced_security_enabled_for_new_repositories": { "type": "boolean", "description": "Whether GitHub Advanced Security is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "billing_email": { "type": "string", "description": "Billing email address. This address is not publicized." }, "blog": { "type": "string", "example": "\"http://github.blog\"" }, "company": { "type": "string", "description": "The company name." }, "default_repository_permission": { "type": "string", "description": "Default permission level members have for organization repositories.", "enum": ["read", "write", "admin", "none"] }, "dependabot_alerts_enabled_for_new_repositories": { "type": "boolean", "description": "Whether Dependabot alerts is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "dependabot_security_updates_enabled_for_new_repositories": { "type": "boolean", "description": "Whether Dependabot security updates is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "dependency_graph_enabled_for_new_repositories": { "type": "boolean", "description": "Whether dependency graph is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "description": { "type": "string", "description": "The description of the company." }, "email": { "type": "string", "description": "The publicly visible email address." }, "has_organization_projects": { "type": "boolean", "description": "Whether an organization can use organization projects." }, "has_repository_projects": { "type": "boolean", "description": "Whether repositories that belong to the organization can use repository projects." }, "location": { "type": "string", "description": "The location." }, "members_allowed_repository_creation_type": { "type": "string", "description": "Specifies which types of repositories non-admin organization members can create. \n**Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.", "enum": ["all", "private", "none"] }, "members_can_create_internal_repositories": { "type": "boolean", "description": "Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." }, "members_can_create_pages": { "type": "boolean", "description": "Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted." }, "members_can_create_private_repositories": { "type": "boolean", "description": "Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." }, "members_can_create_public_repositories": { "type": "boolean", "description": "Whether organization members can create public repositories, which are visible to anyone. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." }, "members_can_create_repositories": { "type": "boolean", "description": "Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details." }, "members_can_fork_private_repositories": { "type": "boolean", "description": "Whether organization members can fork private organization repositories." }, "name": { "type": "string", "description": "The shorthand name of the company." }, "secret_scanning_enabled_for_new_repositories": { "type": "boolean", "description": "Whether secret scanning is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "secret_scanning_push_protection_custom_link": { "type": "string", "description": "If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret." }, "secret_scanning_push_protection_custom_link_enabled": { "type": "boolean", "description": "Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection." }, "secret_scanning_push_protection_enabled_for_new_repositories": { "type": "boolean", "description": "Whether secret scanning push protection is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." }, "twitter_username": { "type": "string", "description": "The Twitter username of the company." }, "web_commit_signoff_required": { "type": "boolean", "description": "Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface." } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"billing_email\": \"mona@github.com\",\n \"company\": \"GitHub\",\n \"default_repository_permission\": \"read\",\n \"description\": \"GitHub, the company.\",\n \"email\": \"mona@github.com\",\n \"location\": \"San Francisco\",\n \"members_allowed_repository_creation_type\": \"all\",\n \"members_can_create_repositories\": true,\n \"name\": \"github\",\n \"twitter_username\": \"github\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"advanced_security_enabled_for_new_repositories\": {\n \"description\": \"Whether GitHub Advanced Security is automatically enabled for new repositories.\\n\\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \\\"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\\\"\\n\\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.\",\n \"type\": \"boolean\"\n },\n \"billing_email\": {\n \"description\": \"Billing email address. This address is not publicized.\",\n \"type\": \"string\"\n },\n \"blog\": {\n \"example\": \"\\\"http://github.blog\\\"\",\n \"type\": \"string\"\n },\n \"company\": {\n \"description\": \"The company name.\",\n \"type\": \"string\"\n },\n \"default_repository_permission\": {\n \"default\": \"read\",\n \"description\": \"Default permission level members have for organization repositories.\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\",\n \"none\"\n ],\n \"type\": \"string\"\n },\n \"dependabot_alerts_enabled_for_new_repositories\": {\n \"description\": \"Whether Dependabot alerts is automatically enabled for new repositories.\\n\\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \\\"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\\\"\\n\\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.\",\n \"type\": \"boolean\"\n },\n \"dependabot_security_updates_enabled_for_new_repositories\": {\n \"description\": \"Whether Dependabot security updates is automatically enabled for new repositories.\\n\\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \\\"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\\\"\\n\\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.\",\n \"type\": \"boolean\"\n },\n \"dependency_graph_enabled_for_new_repositories\": {\n \"description\": \"Whether dependency graph is automatically enabled for new repositories.\\n\\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \\\"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\\\"\\n\\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.\",\n \"type\": \"boolean\"\n },\n \"description\": {\n \"description\": \"The description of the company.\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The publicly visible email address.\",\n \"type\": \"string\"\n },\n \"has_organization_projects\": {\n \"description\": \"Whether an organization can use organization projects.\",\n \"type\": \"boolean\"\n },\n \"has_repository_projects\": {\n \"description\": \"Whether repositories that belong to the organization can use repository projects.\",\n \"type\": \"boolean\"\n },\n \"location\": {\n \"description\": \"The location.\",\n \"type\": \"string\"\n },\n \"members_allowed_repository_creation_type\": {\n \"description\": \"Specifies which types of repositories non-admin organization members can create. \\n**Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.\",\n \"enum\": [\n \"all\",\n \"private\",\n \"none\"\n ],\n \"type\": \"string\"\n },\n \"members_can_create_internal_repositories\": {\n \"description\": \"Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see \\\"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\\\" in the GitHub Help documentation.\",\n \"type\": \"boolean\"\n },\n \"members_can_create_pages\": {\n \"default\": true,\n \"description\": \"Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted.\",\n \"type\": \"boolean\"\n },\n \"members_can_create_private_repositories\": {\n \"description\": \"Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see \\\"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\\\" in the GitHub Help documentation.\",\n \"type\": \"boolean\"\n },\n \"members_can_create_public_repositories\": {\n \"description\": \"Whether organization members can create public repositories, which are visible to anyone. For more information, see \\\"[Restricting repository creation in your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\\\" in the GitHub Help documentation.\",\n \"type\": \"boolean\"\n },\n \"members_can_create_repositories\": {\n \"default\": true,\n \"description\": \"Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details.\",\n \"type\": \"boolean\"\n },\n \"members_can_fork_private_repositories\": {\n \"default\": false,\n \"description\": \"Whether organization members can fork private organization repositories.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"The shorthand name of the company.\",\n \"type\": \"string\"\n },\n \"secret_scanning_enabled_for_new_repositories\": {\n \"description\": \"Whether secret scanning is automatically enabled for new repositories.\\n\\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \\\"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\\\"\\n\\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.\",\n \"type\": \"boolean\"\n },\n \"secret_scanning_push_protection_custom_link\": {\n \"description\": \"If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret.\",\n \"type\": \"string\"\n },\n \"secret_scanning_push_protection_custom_link_enabled\": {\n \"description\": \"Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection.\",\n \"type\": \"boolean\"\n },\n \"secret_scanning_push_protection_enabled_for_new_repositories\": {\n \"description\": \"Whether secret scanning push protection is automatically enabled for new repositories.\\n\\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \\\"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\\\"\\n\\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request.\",\n \"type\": \"boolean\"\n },\n \"twitter_username\": {\n \"description\": \"The Twitter username of the company.\",\n \"type\": \"string\"\n },\n \"web_commit_signoff_required\": {\n \"default\": false,\n \"description\": \"Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-usage-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_org_actions_cache_usage", "description": { "tagline": "Fetches GitHub Actions cache usage for a specified organization.", "detailed": "This tool retrieves the total cache usage of GitHub Actions for a specified organization. The data is updated every 5 minutes. Authentication with the 'read:org' scope is required." }, "return_annotation": "Total GitHub Actions cache usage for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["organization", "org_name"], "description": "The name of the organization. It should not be case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/cache/usage", "tags": ["actions"], "summary": "Get GitHub Actions cache usage for an organization", "description": "Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.\nYou must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-usage-by-repo-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_cache_usage_for_org", "description": { "tagline": "Retrieve GitHub Actions cache usage for an organization's repositories.", "detailed": "Use this tool to get a list of repositories and their GitHub Actions cache usage for a specified organization. The data is refreshed every 5 minutes. Requires authentication with an access token with the `read:org` scope or a GitHub App with `organization_administration:read` permission." }, "return_annotation": "GitHub Actions cache usage details for each repository in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization to retrieve cache usage for. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["page_size", "max_results_per_page"], "description": "The number of results to return per page, with a maximum of 100 entries.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["result_page", "pagination_page"], "description": "Specify the page number of the results to fetch. This is useful for paginated data retrieval.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/cache/usage-by-repository", "tags": ["actions"], "summary": "List repositories with GitHub Actions cache usage for an organization", "description": "Lists repositories and their GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.\nYou must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oidc/get-oidc-custom-sub-template-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_oidc_custom_sub_template_for_org", "description": { "tagline": "Retrieves the OIDC subject claim customization template for an organization.", "detailed": "Use this tool to get the customization template for an OpenID Connect (OIDC) subject claim for a specific organization. This requires authentication with a GitHub access token with `read:org` scope or a GitHub App with `organization_administration:write` permission." }, "return_annotation": "The customization template for an OIDC subject claim for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the GitHub organization for which you want to retrieve the OIDC customization template. The name is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/oidc/customization/sub", "tags": ["oidc"], "summary": "Get the customization template for an OIDC subject claim for an organization", "description": "Gets the customization template for an OpenID Connect (OIDC) subject claim.\nYou must authenticate using an access token with the `read:org` scope to use this endpoint.\nGitHub Apps must have the `organization_administration:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "oidc/update-oidc-custom-sub-template-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_oidc_template", "description": { "tagline": "Update OIDC custom subject claim template for GitHub organization.", "detailed": "This tool updates or creates the customization template for an OpenID Connect (OIDC) subject claim for a GitHub organization. Requires an access token with the `write:org` scope or GitHub Apps with `admin:org` permission." }, "return_annotation": "Updates the OIDC custom subject claim template for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. Case insensitive.", "endpoint_argument_name": "org" }, { "name": "include_claim_keys", "alternative_names": ["claim_keys_array", "key_identifiers"], "description": "Array of unique strings for OIDC claim keys with alphanumeric characters and underscores.", "endpoint_argument_name": "include_claim_keys" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/oidc/customization/sub", "tags": ["oidc"], "summary": "Set the customization template for an OIDC subject claim for an organization", "description": "Creates or updates the customization template for an OpenID Connect (OIDC) subject claim.\nYou must authenticate using an access token with the `write:org` scope to use this endpoint.\nGitHub Apps must have the `admin:org` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "include_claim_keys", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores." }, "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"$ref\": \"#/components/examples/oidc-custom-sub\"\n }\n },\n \"schema\": {\n \"description\": \"Actions OIDC Subject customization\",\n \"properties\": {\n \"include_claim_keys\": {\n \"description\": \"Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"include_claim_keys\"\n ],\n \"title\": \"Actions OIDC Subject customization\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/get-github-actions-permissions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_permissions_for_organization", "description": { "tagline": "Retrieve GitHub Actions permissions for an organization.", "detailed": "Fetches the GitHub Actions permissions policy for repositories and allowed actions within a specified organization. Requires authentication with an access token having the `admin:org` scope or a GitHub App with `administration` organization permission." }, "return_annotation": "GitHub Actions permissions policy for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The organization name for which to retrieve GitHub Actions permissions. The name is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/permissions", "tags": ["actions"], "summary": "Get GitHub Actions permissions for an organization", "description": "Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-github-actions-permissions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "configure_github_actions_permissions", "description": { "tagline": "Configure GitHub Actions permissions for an organization.", "detailed": "Use this tool to set the GitHub Actions permissions policy for repositories and allowed actions within an organization. Note that enterprise-level restrictions cannot be overridden. Requires authentication with an 'admin:org' token or 'administration' organization permission for GitHub Apps." }, "return_annotation": "Sets the GitHub Actions permissions for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_execution_policy", "alternative_names": ["repos_execution_policy", "github_actions_repos_policy"], "description": "Specifies which repositories in the organization are allowed to run GitHub Actions. Options: 'all', 'none', 'selected'.", "endpoint_argument_name": "enabled_repositories" }, { "name": "allowed_actions_policy", "alternative_names": ["actions_permissions_policy", "run_actions_policy"], "description": "Specifies the permissions policy for actions: 'all', 'local_only', or 'selected'.", "endpoint_argument_name": "allowed_actions" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/permissions", "tags": ["actions"], "summary": "Set GitHub Actions permissions for an organization", "description": "Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nIf the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allowed_actions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "local_only", "selected"], "properties": null, "inner_properties": null, "description": "The permissions policy that controls the actions that are allowed to run." }, "description": "The permissions policy that controls the actions that are allowed to run.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permissions policy that controls the actions that are allowed to run.", "enum": ["all", "local_only", "selected"] }, "schema_required": false }, { "name": "enabled_repositories", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "none", "selected"], "properties": null, "inner_properties": null, "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions." }, "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions.", "enum": ["all", "none", "selected"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allowed_actions\": \"selected\",\n \"enabled_repositories\": \"all\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allowed_actions\": {\n \"description\": \"The permissions policy that controls the actions that are allowed to run.\",\n \"enum\": [\n \"all\",\n \"local_only\",\n \"selected\"\n ],\n \"type\": \"string\"\n },\n \"enabled_repositories\": {\n \"description\": \"The policy that controls the repositories in the organization that are allowed to run GitHub Actions.\",\n \"enum\": [\n \"all\",\n \"none\",\n \"selected\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"enabled_repositories\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-selected-repositories-enabled-github-actions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_actions_enabled_repos", "description": { "tagline": "Retrieve repositories enabled for GitHub Actions in an organization.", "detailed": "Use this tool to list all repositories where GitHub Actions are enabled within a specific organization. Ensure the organization permission policy for `enabled_repositories` is set to `selected`. Authentication with a token having `admin:org` scope or a GitHub App with `administration` permission is required." }, "return_annotation": "List of repositories enabled for GitHub Actions in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization for which to list GitHub Actions-enabled repositories. This field is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count_per_page"], "description": "The maximum number of repositories to return per page (max 100).", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["pagination_page", "results_page"], "description": "Page number of the results to fetch. Use for paginating through results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/permissions/repositories", "tags": ["actions"], "summary": "List selected repositories enabled for GitHub Actions in an organization", "description": "Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-selected-repositories-enabled-github-actions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_actions_repos_for_org", "description": { "tagline": "Configure selected repositories for GitHub Actions in an organization.", "detailed": "This tool replaces the list of repositories with GitHub Actions enabled in a specified organization. Use it when you need to manage which repositories have access to GitHub Actions, provided the organization policy allows it. Requires authentication with an access token granting `admin:org` scope or a GitHub App with `administration` permission." }, "return_annotation": "Confirmation of updated repositories enabled for GitHub Actions.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_ids_for_github_actions", "alternative_names": ["repo_ids_for_actions", "actionable_repo_ids"], "description": "An array of repository IDs to enable for GitHub Actions within the organization. Each ID should be an integer.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/permissions/repositories", "tags": ["actions"], "summary": "Set selected repositories enabled for GitHub Actions in an organization", "description": "Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of repository IDs to enable for GitHub Actions." }, "description": "List of repository IDs to enable for GitHub Actions.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of repository IDs to enable for GitHub Actions.", "items": { "type": "integer", "description": "Unique identifier of the repository." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_repository_ids\": [\n 32,\n 42\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_repository_ids\": {\n \"description\": \"List of repository IDs to enable for GitHub Actions.\",\n \"items\": {\n \"description\": \"Unique identifier of the repository.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_repository_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/disable-selected-repository-github-actions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "disable_github_actions_repo", "description": { "tagline": "Disable GitHub Actions for a specific repo in an organization.", "detailed": "Use this tool to remove a repository from the selected list of repositories enabled for GitHub Actions within an organization. This is applicable when the organization's repository permission policy is set to 'selected'. Authentication with an access token having 'admin:org' scope is required." }, "return_annotation": "Confirmation of repository actions disablement.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_unique_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique integer identifier of the repository to be disabled for GitHub Actions.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/permissions/repositories/{repository_id}", "tags": ["actions"], "summary": "Disable a selected repository for GitHub Actions in an organization", "description": "Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/enable-selected-repository-github-actions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "enable_github_actions_for_repo", "description": { "tagline": "Enable a repository for GitHub Actions in an organization.", "detailed": "Adds a repository to the list of selected repositories enabled for GitHub Actions within an organization. Requires organization permission policy for `enabled_repositories` set to `selected`. Authentication with `admin:org` scope is necessary." }, "return_annotation": "Confirmation of repository being enabled for GitHub Actions.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization to enable GitHub Actions for, not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_unique_identifier", "alternative_names": ["repository_id_number", "repo_identifier"], "description": "The unique identifier of the repository to enable for GitHub Actions.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/permissions/repositories/{repository_id}", "tags": ["actions"], "summary": "Enable a selected repository for GitHub Actions in an organization", "description": "Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-allowed-actions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_allowed_actions_for_organization", "description": { "tagline": "Retrieve the allowed GitHub Actions for an organization.", "detailed": "Call this tool to get the list of selected GitHub Actions permitted for an organization, provided the organization policy is set to allow selected actions only. Requires an authenticated access token with `admin:org` scope or GitHub App with `administration` permission." }, "return_annotation": "List of allowed GitHub Actions for the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the GitHub organization. This is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/permissions/selected-actions", "tags": ["actions"], "summary": "Get allowed actions for an organization", "description": "Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-allowed-actions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_allowed_actions_for_organization", "description": { "tagline": "Set allowed GitHub Actions for an organization.", "detailed": "This tool sets which GitHub Actions are permitted in an organization, given the organization's permission policy is configured to 'selected'. It requires an access token with the 'admin:org' scope or GitHub App permissions for 'administration'. Use it when you need to update allowed actions based on organization or enterprise policies." }, "return_annotation": "Confirms the update of allowed actions for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "allowed_actions_settings", "alternative_names": ["actions_permissions_request", "github_actions_configurations"], "description": "JSON object specifying allowed GitHub-owned actions and patterns for specific actions. Includes 'github_owned_allowed' (boolean) and 'patterns_allowed' (list of string patterns).", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/permissions/selected-actions", "tags": ["actions"], "summary": "Set allowed actions for an organization", "description": "Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nIf the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "github_owned_allowed": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." }, "patterns_allowed": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "github_owned_allowed": { "type": "boolean", "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." }, "patterns_allowed": { "type": "array", "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.", "items": { "type": "string" } } }, "required": ["github_owned_allowed", "patterns_allowed"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"selected_actions\": {\n \"$ref\": \"#/components/examples/selected-actions\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"github_owned_allowed\": {\n \"description\": \"Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.\",\n \"type\": \"boolean\"\n },\n \"patterns_allowed\": {\n \"description\": \"Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"github_owned_allowed\",\n \"patterns_allowed\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "actions/get-github-actions-default-workflow-permissions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_default_github_actions_workflow_permissions", "description": { "tagline": "Fetches default workflow permissions for an organization's GitHub Actions.", "detailed": "This tool retrieves the default workflow permissions granted to the GITHUB_TOKEN for running workflows in a specified organization, and checks if GitHub Actions can submit approving pull request reviews. Requires authentication with an access token having 'admin:org' scope or 'administration' permission for GitHub Apps." }, "return_annotation": "Default GitHub Actions workflow permissions for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The organization name for which to fetch the workflow permissions. It is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/permissions/workflow", "tags": ["actions"], "summary": "Get default workflow permissions for an organization", "description": "Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization,\nas well as whether GitHub Actions can submit approving pull request reviews. For more information, see\n\"[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-github-actions-default-workflow-permissions-organization", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_default_github_actions_permissions", "description": { "tagline": "Configure default GitHub Actions permissions for an organization.", "detailed": "This tool sets the default workflow permissions for the `GITHUB_TOKEN` in an organization and determines if GitHub Actions can submit approving pull request reviews. It's essential to authenticate using an access token with `admin:org` scope, or GitHub Apps must have the `administration` permission. Use it to manage organizational GitHub Actions settings." }, "return_annotation": "Confirmation of updated workflow permissions for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. Not case sensitive.", "endpoint_argument_name": "org" }, { "name": "default_github_token_permissions", "alternative_names": ["github_token_permissions_level", "token_workflow_permissions"], "description": "The default permissions granted to the GITHUB_TOKEN when running workflows. Options are 'read' or 'write'.", "endpoint_argument_name": "default_workflow_permissions" }, { "name": "allow_actions_to_approve_pull_requests", "alternative_names": ["actions_approval_for_pull_requests", "enable_actions_approvals"], "description": "Allow GitHub Actions to approve pull requests. Enabling this may pose a security risk.", "endpoint_argument_name": "can_approve_pull_request_reviews" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/permissions/workflow", "tags": ["actions"], "summary": "Set default workflow permissions for an organization", "description": "Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions\ncan submit approving pull request reviews. For more information, see\n\"[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "can_approve_pull_request_reviews", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk." }, "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk." }, "schema_required": false }, { "name": "default_workflow_permissions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows." }, "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows.", "enum": ["read", "write"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"$ref\": \"#/components/examples/actions-default-workflow-permissions\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"can_approve_pull_request_reviews\": {\n \"description\": \"Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.\",\n \"type\": \"boolean\"\n },\n \"default_workflow_permissions\": {\n \"description\": \"The default workflow permissions granted to the GITHUB_TOKEN when running workflows.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-required-workflows", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_required_workflows", "description": { "tagline": "Retrieve all required workflows in a GitHub organization.", "detailed": "Use this tool to get a list of all workflows that are required within a specific GitHub organization. Authentication with an access token having the `read:org` scope is necessary." }, "return_annotation": "A list of all required workflows in the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. Note: The name is not case sensitive. This identifies which organization's workflows to list.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "number_of_results_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "workflow_page_number"], "description": "The specific page number of required workflow results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/required_workflows", "tags": ["actions"], "summary": "List required workflows", "description": "List all required workflows in an organization.\n\nYou must authenticate using an access token with the `read:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_required_workflow", "description": { "tagline": "Create a required workflow in a GitHub organization.", "detailed": "This tool creates a required workflow within a specified GitHub organization. It requires an access token with 'admin:org' scope for authentication. Use this tool when setting up or enforcing organizational workflow standards on GitHub." }, "return_annotation": "Confirmation of workflow creation in GitHub organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_identifier", "alternative_names": ["repo_id", "repository_id_value"], "description": "The ID of the repository that contains the workflow file. Use this to specify which repository's workflow file should be used.", "endpoint_argument_name": "repository_id" }, { "name": "workflow_file_path", "alternative_names": ["workflow_path", "path_to_workflow_file"], "description": "Path of the workflow file to set as required for the organization.", "endpoint_argument_name": "workflow_file_path" }, { "name": "workflow_scope", "alternative_names": ["required_workflow_scope", "workflow_activation_scope"], "description": "Specify whether to enable the required workflow for all repositories or only selected ones within the organization. Use 'all' for all repositories and 'selected' when specifying particular repositories.", "endpoint_argument_name": "scope" }, { "name": "repository_ids_for_selected_scope", "alternative_names": ["repo_ids_for_selected_scope", "selected_scope_repository_ids"], "description": "List of repository IDs to enable the workflow when `scope` is 'selected'.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "POST", "path": "/orgs/{org}/actions/required_workflows", "tags": ["actions"], "summary": "Create a required workflow", "description": "Create a required workflow in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "repository_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the repository that contains the workflow file." }, "description": "The ID of the repository that contains the workflow file.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The ID of the repository that contains the workflow file." }, "schema_required": true }, { "name": "scope", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["selected", "all"], "properties": null, "inner_properties": null, "description": "Enable the required workflow for all repositories or selected repositories in the organization." }, "description": "Enable the required workflow for all repositories or selected repositories in the organization.", "required": false, "deprecated": false, "default": "all", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Enable the required workflow for all repositories or selected repositories in the organization.", "enum": ["selected", "all"] }, "schema_required": false }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`." }, "description": "A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`.", "items": { "type": "integer", "description": "Unique identifier of the repository." } }, "schema_required": false }, { "name": "workflow_file_path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Path of the workflow file to be configured as a required workflow." }, "description": "Path of the workflow file to be configured as a required workflow.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Path of the workflow file to be configured as a required workflow." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"repository_id\": 53,\n \"scope\": \"selected\",\n \"selected_repository_ids\": [\n 32,\n 91\n ],\n \"workflow_file_path\": \".github/workflows/ci.yaml\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"repository_id\": {\n \"description\": \"The ID of the repository that contains the workflow file.\",\n \"type\": \"string\"\n },\n \"scope\": {\n \"default\": \"all\",\n \"description\": \"Enable the required workflow for all repositories or selected repositories in the organization.\",\n \"enum\": [\n \"selected\",\n \"all\"\n ],\n \"type\": \"string\"\n },\n \"selected_repository_ids\": {\n \"description\": \"A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`.\",\n \"items\": {\n \"description\": \"Unique identifier of the repository.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"workflow_file_path\": {\n \"description\": \"Path of the workflow file to be configured as a required workflow.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"workflow_file_path\",\n \"repository_id\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/delete-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_required_workflow", "description": { "tagline": "Deletes a required workflow in a GitHub organization.", "detailed": "Use this tool to delete a specific required workflow configured in a GitHub organization. Requires authentication with an `admin:org` scope access token." }, "return_annotation": "Confirms the deletion of a required GitHub workflow.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The GitHub organization name. This is case insensitive.", "endpoint_argument_name": "org" }, { "name": "workflow_identifier", "alternative_names": ["workflow_id", "workflow_unique_identifier"], "description": "The unique identifier of the required workflow to be deleted.", "endpoint_argument_name": "required_workflow_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}", "tags": ["actions"], "summary": "Delete a required workflow", "description": "Deletes a required workflow configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_required_workflow", "description": { "tagline": "Retrieve a required workflow for a GitHub organization.", "detailed": "This tool retrieves information about a required workflow configured in a GitHub organization. It requires authentication with a token having the `read:org` scope." }, "return_annotation": "Details of a required workflow for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. This name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "workflow_id", "alternative_names": ["workflow_identifier", "workflow_key"], "description": "The unique identifier of the workflow to retrieve for the organization.", "endpoint_argument_name": "required_workflow_id" } ] }, "method": "GET", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}", "tags": ["actions"], "summary": "Get a required workflow", "description": "Get a required workflow configured in an organization.\n\nYou must authenticate using an access token with the `read:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/update-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_required_workflow", "description": { "tagline": "Update a required workflow in a GitHub organization.", "detailed": "This tool updates a specified required workflow within a GitHub organization. It requires an access token with `admin:org` scope for authentication." }, "return_annotation": "Confirmation of updated required workflow details.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "required_workflow_identifier", "alternative_names": ["workflow_id", "workflow_identifier"], "description": "The unique identifier for the required workflow to update in the organization.", "endpoint_argument_name": "required_workflow_id" }, { "name": "repository_id_for_workflow", "alternative_names": ["workflow_repository_id", "repository_id"], "description": "The ID of the repository containing the workflow file to be updated.", "endpoint_argument_name": "repository_id" }, { "name": "workflow_scope", "alternative_names": ["repository_scope", "workflow_repository_scope"], "description": "Specify the repository scope for enabling the workflow: 'all' for all repositories or 'selected' for specific ones within the organization.", "endpoint_argument_name": "scope" }, { "name": "repository_ids_for_workflow", "alternative_names": ["workflow_repo_ids", "target_repository_ids"], "description": "List of repository IDs to enable the required workflow. Applicable only if `scope` is `selected`.", "endpoint_argument_name": "selected_repository_ids" }, { "name": "workflow_file_path", "alternative_names": ["workflow_configuration_path", "workflow_file_location"], "description": "Path to the workflow file to be set as a required workflow in the organization.", "endpoint_argument_name": "workflow_file_path" } ] }, "method": "PATCH", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}", "tags": ["actions"], "summary": "Update a required workflow", "description": "Update a required workflow in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "repository_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the repository that contains the workflow file." }, "description": "The ID of the repository that contains the workflow file.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The ID of the repository that contains the workflow file." }, "schema_required": false }, { "name": "scope", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["selected", "all"], "properties": null, "inner_properties": null, "description": "Enable the required workflow for all repositories or selected repositories in the organization." }, "description": "Enable the required workflow for all repositories or selected repositories in the organization.", "required": false, "deprecated": false, "default": "all", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Enable the required workflow for all repositories or selected repositories in the organization.", "enum": ["selected", "all"] }, "schema_required": false }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "A list of repository IDs where you want to enable the required workflow. A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`." }, "description": "A list of repository IDs where you want to enable the required workflow. A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "A list of repository IDs where you want to enable the required workflow. A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`.", "items": { "type": "integer", "description": "Unique identifier of the repository." } }, "schema_required": false }, { "name": "workflow_file_path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Path of the workflow file to be configured as a required workflow." }, "description": "Path of the workflow file to be configured as a required workflow.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Path of the workflow file to be configured as a required workflow." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"repository_id\": 53,\n \"scope\": \"selected\",\n \"selected_repository_ids\": [\n 32,\n 91\n ],\n \"workflow_file_path\": \".github/workflows/ci.yaml\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"repository_id\": {\n \"description\": \"The ID of the repository that contains the workflow file.\",\n \"type\": \"string\"\n },\n \"scope\": {\n \"default\": \"all\",\n \"description\": \"Enable the required workflow for all repositories or selected repositories in the organization.\",\n \"enum\": [\n \"selected\",\n \"all\"\n ],\n \"type\": \"string\"\n },\n \"selected_repository_ids\": {\n \"description\": \"A list of repository IDs where you want to enable the required workflow. A list of repository IDs where you want to enable the required workflow. You can only provide a list of repository ids when the `scope` is set to `selected`.\",\n \"items\": {\n \"description\": \"Unique identifier of the repository.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"workflow_file_path\": {\n \"description\": \"Path of the workflow file to be configured as a required workflow.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-selected-repositories-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_required_workflow_repositories", "description": { "tagline": "List repositories configured for a required workflow.", "detailed": "This tool retrieves a list of repositories that are configured to use a specific required workflow within an organization. It should be called when you need to know which repositories are set up to run a required workflow. Authentication with an access token having `read:org` scope or a GitHub App with `administration` permission is required." }, "return_annotation": "A list of repositories configured for a required workflow.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive and identifies the organization within GitHub.", "endpoint_argument_name": "org" }, { "name": "workflow_unique_identifier", "alternative_names": ["workflow_id", "required_workflow_identifier"], "description": "The unique identifier of the required workflow for which the repositories are to be listed.", "endpoint_argument_name": "required_workflow_id" } ] }, "method": "GET", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories", "tags": ["actions"], "summary": "List selected repositories for a required workflow", "description": "Lists the selected repositories that are configured for a required workflow in an organization. To use this endpoint, the required workflow must be configured to run on selected repositories.\n\nYou must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-selected-repos-to-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_repos_for_required_workflow", "description": { "tagline": "Set repositories for a GitHub required workflow.", "detailed": "This tool sets the repositories associated with a GitHub required workflow. Use it when you need to configure or update which repositories are subject to a required workflow. Authentication with an access token and the `admin:org` scope is required." }, "return_annotation": "Confirmation of the repositories set for the required workflow.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The GitHub organization name. Input is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "required_workflow_identifier", "alternative_names": ["workflow_id", "required_workflow_id"], "description": "The unique identifier for the required workflow you want to set for the repositories.", "endpoint_argument_name": "required_workflow_id" }, { "name": "repository_ids_for_required_workflow", "alternative_names": ["repo_ids_required_workflow", "workflow_repo_ids"], "description": "An array of repository IDs for which the workflow is required. Provide each repository's ID as an integer.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories", "tags": ["actions"], "summary": "Sets repositories for a required workflow", "description": "Sets the repositories for a required workflow that is required for selected repositories.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "The IDs of the repositories for which the workflow should be required." }, "description": "The IDs of the repositories for which the workflow should be required.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The IDs of the repositories for which the workflow should be required.", "items": { "type": "integer", "description": "Unique identifier of the repository." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_repository_ids\": [\n 32,\n 91\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_repository_ids\": {\n \"description\": \"The IDs of the repositories for which the workflow should be required.\",\n \"items\": {\n \"description\": \"Unique identifier of the repository.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_repository_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-selected-repo-from-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_from_required_workflow", "description": { "tagline": "Removes a repository from a GitHub required workflow.", "detailed": "Use this tool to remove a repository from a GitHub required workflow. Ensure the workflow is set for selected repositories and authenticate with an 'admin:org' scoped token." }, "return_annotation": "Indicates the success of repository removal from the workflow.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "required_workflow_identifier", "alternative_names": ["workflow_id", "workflow_identifier"], "description": "The unique identifier of the required workflow to be removed.", "endpoint_argument_name": "required_workflow_id" }, { "name": "repository_identifier", "alternative_names": ["repo_id", "repository_id_number"], "description": "The unique identifier of the repository to be removed from the required workflow.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}", "tags": ["actions"], "summary": "Remove a selected repository from required workflow", "description": "Removes a repository from a required workflow. To use this endpoint, the required workflow must be configured to run on selected repositories.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-selected-repo-to-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_repo_to_required_workflow", "description": { "tagline": "Adds a repository to a GitHub required workflow.", "detailed": "Use this tool to add a repository to a GitHub required workflow. Ensure the workflow is set to run on selected repositories. Authentication with an access token having `admin:org` scope is required." }, "return_annotation": "Confirmation of repository addition to the required workflow.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization name for GitHub. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "required_workflow_identifier", "alternative_names": ["workflow_id", "workflow_identifier"], "description": "The unique integer ID of the required workflow to which the repository will be added.", "endpoint_argument_name": "required_workflow_id" }, { "name": "repository_unique_identifier", "alternative_names": ["repo_id", "repository_id_number"], "description": "The unique identifier for the GitHub repository to be added to the required workflow.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/required_workflows/{required_workflow_id}/repositories/{repository_id}", "tags": ["actions"], "summary": "Add a repository to a required workflow", "description": "Adds a repository to a required workflow. To use this endpoint, the required workflow must be configured to run on selected repositories.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\nFor more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the required workflow." }, "description": "The unique identifier of the required workflow.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-self-hosted-runner-groups-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_runner_groups_for_org", "description": { "tagline": "Retrieve self-hosted runner groups for a GitHub organization.", "detailed": "This tool lists all self-hosted runner groups configured in a specified GitHub organization, including those inherited from an enterprise. Authentication with an access token having the `admin:org` scope is required." }, "return_annotation": "List of self-hosted runner groups for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization's name. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["result_page", "page_number"], "description": "Specify the page number of the results to fetch. Use an integer value.", "endpoint_argument_name": "page" }, { "name": "repository_visibility_filter", "alternative_names": ["repo_visibility", "filter_by_repository"], "description": "Specify the repository to filter runner groups that they are allowed to be used by.", "endpoint_argument_name": "visible_to_repository" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runner-groups", "tags": ["actions"], "summary": "List self-hosted runner groups for an organization", "description": "Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "visible_to_repository", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only return runner groups that are allowed to be used by this repository." }, "description": "Only return runner groups that are allowed to be used by this repository.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-self-hosted-runner-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_runner_group_for_org", "description": { "tagline": "Create a self-hosted runner group for an organization.", "detailed": "This tool creates a new self-hosted runner group for an organization on GitHub. Requires authentication with an access token having the `admin:org` scope." }, "return_annotation": "Details of the created runner group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_name", "alternative_names": ["runner_group_title", "runner_group_label"], "description": "Name of the self-hosted runner group to be created. This should be a descriptive and distinct name within your organization.", "endpoint_argument_name": "name" }, { "name": "runner_ids_to_add", "alternative_names": ["runners_list", "runner_ids"], "description": "List of runner IDs to include in the newly created runner group for the organization.", "endpoint_argument_name": "runners" }, { "name": "accessible_repository_ids", "alternative_names": ["repo_ids_allowed_access", "repos_access_list"], "description": "List of repository IDs that can access the runner group.", "endpoint_argument_name": "selected_repository_ids" }, { "name": "allowed_workflows", "alternative_names": ["workflow_list", "allowed_workflow_names"], "description": "List of workflows names the runner group is permitted to run. Considered only if 'restricted_to_workflows' is true.", "endpoint_argument_name": "selected_workflows" }, { "name": "runner_group_visibility", "alternative_names": ["group_visibility_option", "visibility_setting"], "description": "Specify the visibility of the runner group: 'selected' for individual repositories, 'all' for all repositories, or 'private' for private repositories only.", "endpoint_argument_name": "visibility" }, { "name": "allow_public_repositories", "alternative_names": [ "public_repositories_allowed", "is_public_repositories_accessible" ], "description": "Set to true to allow the runner group to be used by public repositories.", "endpoint_argument_name": "allows_public_repositories" }, { "name": "restrict_to_selected_workflows", "alternative_names": ["limit_to_specified_workflows", "workflow_restriction_enabled"], "description": "Set to true to restrict the runner group to run only the workflows in the selected_workflows array.", "endpoint_argument_name": "restricted_to_workflows" } ] }, "method": "POST", "path": "/orgs/{org}/actions/runner-groups", "tags": ["actions"], "summary": "Create a self-hosted runner group for an organization", "description": "Creates a new self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allows_public_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the runner group can be used by `public` repositories." }, "description": "Whether the runner group can be used by `public` repositories.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether the runner group can be used by `public` repositories." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the runner group." }, "description": "Name of the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the runner group." }, "schema_required": true }, { "name": "restricted_to_workflows", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "schema_required": false }, { "name": "runners", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of runner IDs to add to the runner group." }, "description": "List of runner IDs to add to the runner group.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of runner IDs to add to the runner group.", "items": { "type": "integer", "description": "Unique identifier of the runner." } }, "schema_required": false }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of repository IDs that can access the runner group." }, "description": "List of repository IDs that can access the runner group.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of repository IDs that can access the runner group.", "items": { "type": "integer", "description": "Unique identifier of the repository." } }, "schema_required": false }, { "name": "selected_workflows", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`." }, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "items": { "type": "string", "description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.", "example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main" } }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["selected", "all", "private"], "properties": null, "inner_properties": null, "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories." }, "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.", "required": false, "deprecated": false, "default": "all", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.", "enum": ["selected", "all", "private"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"Expensive hardware runners\",\n \"runners\": [\n 9,\n 2\n ],\n \"selected_repository_ids\": [\n 32,\n 91\n ],\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allows_public_repositories\": {\n \"default\": false,\n \"description\": \"Whether the runner group can be used by `public` repositories.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"Name of the runner group.\",\n \"type\": \"string\"\n },\n \"restricted_to_workflows\": {\n \"default\": false,\n \"description\": \"If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.\",\n \"type\": \"boolean\"\n },\n \"runners\": {\n \"description\": \"List of runner IDs to add to the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the runner.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"selected_repository_ids\": {\n \"description\": \"List of repository IDs that can access the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the repository.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"selected_workflows\": {\n \"description\": \"List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.\",\n \"items\": {\n \"description\": \"Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.\",\n \"example\": \"octo-org/octo-repo/.github/workflows/deploy.yaml@main\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"visibility\": {\n \"default\": \"all\",\n \"description\": \"Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.\",\n \"enum\": [\n \"selected\",\n \"all\",\n \"private\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/delete-self-hosted-runner-group-from-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_runner_group_from_organization", "description": { "tagline": "Delete a self-hosted runner group from an organization.", "detailed": "Use this tool to delete a self-hosted runner group from a specified organization on GitHub. Requires authentication with an access token with `admin:org` scope." }, "return_annotation": "Confirmation of runner group deletion from the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization on GitHub. This is not case-sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_id", "alternative_names": ["self_hosted_runner_group_id", "runner_group_identifier"], "description": "The unique integer ID of the self-hosted runner group to delete.", "endpoint_argument_name": "runner_group_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}", "tags": ["actions"], "summary": "Delete a self-hosted runner group from an organization", "description": "Deletes a self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-self-hosted-runner-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_self_hosted_runner_group_for_org", "description": { "tagline": "Retrieve a specific self-hosted runner group for an organization.", "detailed": "Use this tool to obtain details about a particular self-hosted runner group within an organization on GitHub. Requires authentication with an access token having 'admin:org' scope." }, "return_annotation": "Details of a self-hosted runner group for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization name on GitHub. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_identifier", "alternative_names": ["runner_id", "group_identifier"], "description": "Unique identifier for the self-hosted runner group. It should be an integer.", "endpoint_argument_name": "runner_group_id" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}", "tags": ["actions"], "summary": "Get a self-hosted runner group for an organization", "description": "Gets a specific self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/update-self-hosted-runner-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_runner_group_settings", "description": { "tagline": "Update name and visibility of a runner group in an organization.", "detailed": "Call this tool to change the name or visibility of a self-hosted runner group within a GitHub organization. Requires authentication with an access token that has the `admin:org` scope." }, "return_annotation": "Details of the updated runner group settings.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. The name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_id", "alternative_names": ["group_identifier", "runner_id"], "description": "Unique identifier of the self-hosted runner group being updated.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_group_name", "alternative_names": ["group_name", "name_of_runner_group"], "description": "The new name for the self-hosted runner group in the organization.", "endpoint_argument_name": "name" }, { "name": "allowed_workflow_list", "alternative_names": ["workflow_permissions_list", "runner_group_workflows"], "description": "List of workflows the runner group can run. Ignored unless workflows are restricted.", "endpoint_argument_name": "selected_workflows" }, { "name": "runner_group_visibility", "alternative_names": ["visibility_option", "repository_access_level"], "description": "Specifies the visibility of the runner group. Options: 'selected' for individual repositories, 'all' for all repositories, 'private' for all private repositories.", "endpoint_argument_name": "visibility" }, { "name": "allow_public_repository_usage", "alternative_names": ["allow_public_repositories", "public_repository_usage"], "description": "Set to `true` to allow the runner group to be used by public repositories.", "endpoint_argument_name": "allows_public_repositories" }, { "name": "restrict_runner_group_to_workflows", "alternative_names": [ "runner_group_workflow_restriction", "workflow_restrictions_for_runner_group" ], "description": "Set to `true` to restrict the runner group to running only the workflows specified in `selected_workflows`.", "endpoint_argument_name": "restricted_to_workflows" } ] }, "method": "PATCH", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}", "tags": ["actions"], "summary": "Update a self-hosted runner group for an organization", "description": "Updates the `name` and `visibility` of a self-hosted runner group in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allows_public_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the runner group can be used by `public` repositories." }, "description": "Whether the runner group can be used by `public` repositories.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether the runner group can be used by `public` repositories." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the runner group." }, "description": "Name of the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the runner group." }, "schema_required": true }, { "name": "restricted_to_workflows", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array." }, "schema_required": false }, { "name": "selected_workflows", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`." }, "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.", "items": { "type": "string", "description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.", "example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main" } }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["selected", "all", "private"], "properties": null, "inner_properties": null, "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories." }, "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.", "enum": ["selected", "all", "private"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"Expensive hardware runners\",\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allows_public_repositories\": {\n \"default\": false,\n \"description\": \"Whether the runner group can be used by `public` repositories.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"Name of the runner group.\",\n \"type\": \"string\"\n },\n \"restricted_to_workflows\": {\n \"default\": false,\n \"description\": \"If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.\",\n \"type\": \"boolean\"\n },\n \"selected_workflows\": {\n \"description\": \"List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`.\",\n \"items\": {\n \"description\": \"Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required.\",\n \"example\": \"octo-org/octo-repo/.github/workflows/deploy.yaml@main\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"visibility\": {\n \"description\": \"Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.\",\n \"enum\": [\n \"selected\",\n \"all\",\n \"private\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-repo-access-to-self-hosted-runner-group-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repos_with_runner_group_access", "description": { "tagline": "Retrieve repositories with access to a runner group in an organization.", "detailed": "This tool lists the repositories that have access to a specified self-hosted runner group in an organization. It requires authentication with an access token having `admin:org` scope." }, "return_annotation": "List of repositories with access to a runner group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The case-insensitive name of the organization.", "endpoint_argument_name": "org" }, { "name": "runner_group_id", "alternative_names": ["self_hosted_runner_group_id", "group_identifier"], "description": "Unique identifier of the self-hosted runner group to fetch repository access details.", "endpoint_argument_name": "runner_group_id" }, { "name": "result_page_number", "alternative_names": ["page_number_of_results", "results_page"], "description": "Page number of the results to fetch.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "The number of results to retrieve per page, with a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "tags": ["actions"], "summary": "List repository access to a self-hosted runner group in an organization", "description": "Lists the repositories with access to a self-hosted runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-repo-access-to-self-hosted-runner-group-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_runner_group_repo_access", "description": { "tagline": "Update repository access for a GitHub runner group.", "detailed": "Replaces the list of repositories that can access a self-hosted runner group in a GitHub organization. Requires authentication with an access token having the `admin:org` scope." }, "return_annotation": "Confirmation of the runner group access update.", "arguments": [ { "name": "organization_name", "alternative_names": ["organization", "org_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_id", "alternative_names": ["runner_group_identifier", "runner_group_unique_id"], "description": "Unique identifier for the self-hosted runner group in the organization.", "endpoint_argument_name": "runner_group_id" }, { "name": "repository_ids_for_access", "alternative_names": [ "repos_for_runner_group_access", "allowed_repository_ids_for_runner" ], "description": "List of repository IDs allowed to access the self-hosted runner group.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "tags": ["actions"], "summary": "Set repository access for a self-hosted runner group in an organization", "description": "Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of repository IDs that can access the runner group." }, "description": "List of repository IDs that can access the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of repository IDs that can access the runner group.", "items": { "type": "integer", "description": "Unique identifier of the repository." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_repository_ids\": [\n 32,\n 91\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_repository_ids\": {\n \"description\": \"List of repository IDs that can access the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the repository.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_repository_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-repo-access-to-self-hosted-runner-group-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_access_from_runner_group", "description": { "tagline": "Remove repository access from a self-hosted runner group.", "detailed": "Use this tool to remove a repository's access from a specified self-hosted runner group within an organization. The runner group must have its visibility set to 'selected'. Authentication with an 'admin:org' scope access token is required." }, "return_annotation": "Confirmation of repository access removal from runner group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization. This input is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_unique_id", "alternative_names": ["runner_group_identifier", "runner_group_id_number"], "description": "Unique identifier of the self-hosted runner group. This is required to specify which runner group's access will be modified.", "endpoint_argument_name": "runner_group_id" }, { "name": "repository_unique_id", "alternative_names": ["repo_id", "repository_id_number"], "description": "The unique identifier of the repository to remove access from the runner group. Must be an integer.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "tags": ["actions"], "summary": "Remove repository access to a self-hosted runner group in an organization", "description": "Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-repo-access-to-self-hosted-runner-group-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_repo_access_to_runner_group", "description": { "tagline": "Add repository access to a self-hosted runner group.", "detailed": "This tool is used to add a repository to the list of selected repositories that can access a self-hosted runner group within an organization. It should be called when you need to manage repository access for a self-hosted runner group with `selected` visibility. Requires authentication with an `admin:org` scoped access token." }, "return_annotation": "Confirmation of repository access addition.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_identifier", "alternative_names": ["runner_group_id_number", "self_hosted_runner_group_id"], "description": "Provide the unique integer identifier for the self-hosted runner group.", "endpoint_argument_name": "runner_group_id" }, { "name": "repository_unique_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the repository to add access for.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "tags": ["actions"], "summary": "Add repository access to a self-hosted runner group in an organization", "description": "Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org`\nscope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-self-hosted-runners-in-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_runner_group_runners", "description": { "tagline": "List self-hosted runners in an organization group.", "detailed": "Retrieves self-hosted runners in a specified group within an organization. Requires an access token with 'admin:org' scope." }, "return_annotation": "Details of self-hosted runners in the specified organization group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_id", "alternative_names": ["group_id", "runner_group_identifier"], "description": "Unique identifier of the self-hosted runner group to fetch runners for.", "endpoint_argument_name": "runner_group_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specifies the page number of results to be fetched. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "tags": ["actions"], "summary": "List self-hosted runners in a group for an organization", "description": "Lists self-hosted runners that are in a specific organization group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-self-hosted-runners-in-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_self_hosted_runners_for_org_group", "description": { "tagline": "Update self-hosted runners in an organization's runner group.", "detailed": "This tool allows you to replace the list of self-hosted runners in a specified organization runner group. It requires an access token with the 'admin:org' scope. Use this when you need to manage or update the runners assigned to a runner group in your organization." }, "return_annotation": "Updates list of self-hosted runners in an organization group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_id", "alternative_names": ["group_id", "self_hosted_group_id"], "description": "Unique identifier for the self-hosted runner group to update.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_ids_to_add", "alternative_names": ["self_hosted_runner_ids", "organization_runner_ids"], "description": "Array of integer IDs representing the runners to be added to the organization runner group.", "endpoint_argument_name": "runners" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "tags": ["actions"], "summary": "Set self-hosted runners in a group for an organization", "description": "Replaces the list of self-hosted runners that are part of an organization runner group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "runners", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "List of runner IDs to add to the runner group." }, "description": "List of runner IDs to add to the runner group.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List of runner IDs to add to the runner group.", "items": { "type": "integer", "description": "Unique identifier of the runner." } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"runners\": [\n 9,\n 2\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"runners\": {\n \"description\": \"List of runner IDs to add to the runner group.\",\n \"items\": {\n \"description\": \"Unique identifier of the runner.\",\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"runners\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-self-hosted-runner-from-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_runner_from_group", "description": { "tagline": "Remove a self-hosted runner from an organization's group.", "detailed": "This tool removes a self-hosted runner from a specific group within an organization on GitHub. The runner is moved back to the default group. Requires authentication with an access token having `admin:org` scope." }, "return_annotation": "Confirmation of runner removal from the group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the GitHub organization. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_identifier", "alternative_names": ["runner_group_id_number", "runner_group_id_code"], "description": "Unique identifier of the self-hosted runner group for removal action.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "runner_unique_id"], "description": "Unique identifier of the self-hosted runner to remove from the group.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "tags": ["actions"], "summary": "Remove a self-hosted runner from a group for an organization", "description": "Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-self-hosted-runner-to-group-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_runner_to_group", "description": { "tagline": "Add a self-hosted runner to an organization's runner group.", "detailed": "Use this tool to add a self-hosted runner to a specific runner group within an organization on GitHub. Ensure you authenticate with an access token that has the `admin:org` scope to perform this operation." }, "return_annotation": "Confirmation of runner addition to the group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_group_identifier", "alternative_names": ["group_id", "runner_group_id_value"], "description": "The unique integer identifier of the self-hosted runner group to which the runner will be added.", "endpoint_argument_name": "runner_group_id" }, { "name": "runner_identifier", "alternative_names": ["runner_id_number", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner to be added to the group.", "endpoint_argument_name": "runner_id" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "tags": ["actions"], "summary": "Add a self-hosted runner to a group for an organization", "description": "Adds a self-hosted runner to a runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org`\nscope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner group." }, "description": "Unique identifier of the self-hosted runner group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-self-hosted-runners-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_self_hosted_runners", "description": { "tagline": "Retrieve self-hosted runners for a GitHub organization.", "detailed": "This tool fetches all self-hosted runners configured for a specified GitHub organization. Authentication with an admin-level token is required." }, "return_annotation": "List of self-hosted runners in the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The GitHub organization's name. This is case insensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "Specify the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Specify the page number of the results to fetch. For paginated data retrieval.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runners", "tags": ["actions"], "summary": "List self-hosted runners for an organization", "description": "Lists all self-hosted runners configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-runner-applications-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_runner_binaries_for_org", "description": { "tagline": "Retrieve downloadable binaries for GitHub runner application.", "detailed": "This tool lists the binaries for the GitHub runner application that can be downloaded and run for a specified organization. Authentication with an access token having the `admin:org` scope is required." }, "return_annotation": "A list of downloadable binaries for the GitHub runner application.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. The organization name is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runners/downloads", "tags": ["actions"], "summary": "List runner applications for an organization", "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-registration-token-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_org_runner_registration_token", "description": { "tagline": "Generate a registration token for GitHub organization runners.", "detailed": "Use this tool to obtain a registration token for configuring a self-hosted runner in a GitHub organization. The token is valid for one hour and requires authentication with an access token having the 'admin:org' scope." }, "return_annotation": "The registration token for configuring a self-hosted runner.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. This is not case-sensitive.", "endpoint_argument_name": "org" } ] }, "method": "POST", "path": "/orgs/{org}/actions/runners/registration-token", "tags": ["actions"], "summary": "Create a registration token for an organization", "description": "Returns a token that you can pass to the `config` script. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\n#### Example using registration token\n\nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/octo-org --token TOKEN\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-remove-token-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_runner_removal_token", "description": { "tagline": "Get a token to remove a self-hosted runner from an organization.", "detailed": "Use this tool to obtain a token for removing a self-hosted runner from a GitHub organization. The token expires after one hour and requires an access token with the `admin:org` scope for authentication." }, "return_annotation": "A token to remove a self-hosted runner from an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "POST", "path": "/orgs/{org}/actions/runners/remove-token", "tags": ["actions"], "summary": "Create a remove token for an organization", "description": "Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\n#### Example using remove token\n\nTo remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this\nendpoint.\n\n```\n./config.sh remove --token TOKEN\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-self-hosted-runner-from-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_self_hosted_runner_from_org", "description": { "tagline": "Forcefully remove a self-hosted runner from an organization.", "detailed": "Use this tool to completely remove a self-hosted GitHub Actions runner from an organization when the associated machine no longer exists. Requires an access token with the `admin:org` scope." }, "return_annotation": "Confirmation of runner removal from the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization's name. This input is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "id_of_runner"], "description": "Unique identifier of the self-hosted GitHub runner to be removed.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/runners/{runner_id}", "tags": ["actions"], "summary": "Delete a self-hosted runner from an organization", "description": "Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-self-hosted-runner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_self_hosted_runner", "description": { "tagline": "Get details of a self-hosted runner for an organization.", "detailed": "Fetches information about a specific self-hosted runner configured in a GitHub organization. Authentication with an access token having the `admin:org` scope is required." }, "return_annotation": "Details of a specific self-hosted runner in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The GitHub organization name (not case sensitive).", "endpoint_argument_name": "org" }, { "name": "runner_id", "alternative_names": ["self_hosted_runner_id", "organization_runner_id"], "description": "Unique integer identifier of the self-hosted runner within the organization.", "endpoint_argument_name": "runner_id" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runners/{runner_id}", "tags": ["actions"], "summary": "Get a self-hosted runner for an organization", "description": "Gets a specific self-hosted runner configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/remove-all-custom-labels-from-self-hosted-runner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_all_custom_labels_runner_org", "description": { "tagline": "Remove all custom labels from an organization's self-hosted runner.", "detailed": "Use this tool to remove all custom labels from a specific self-hosted runner in a GitHub organization. Requires authentication with an access token having `admin:org` scope. Returns the runner's remaining read-only labels." }, "return_annotation": "Returns remaining read-only labels from the runner.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The GitHub organization name, not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "runner_id_number"], "description": "The unique identifier of the self-hosted runner. This is required to target the specific runner for label removal in an organization.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "Remove all custom labels from a self-hosted runner for an organization", "description": "Remove all custom labels from a self-hosted runner configured in an\norganization. Returns the remaining read-only labels from the runner.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-labels-for-self-hosted-runner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_runner_labels_for_org", "description": { "tagline": "Retrieve labels for a self-hosted runner in an organization.", "detailed": "This tool is used to list all labels for a specified self-hosted runner within an organization. Authentication with an access token having the `admin:org` scope is required." }, "return_annotation": "A list of labels for a self-hosted runner in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. This parameter is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_unique_id", "alternative_names": ["runner_id_number", "self_hosted_runner_identifier"], "description": "The unique identifier for the self-hosted runner. It must be an integer.", "endpoint_argument_name": "runner_id" } ] }, "method": "GET", "path": "/orgs/{org}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "List labels for a self-hosted runner for an organization", "description": "Lists all labels for a self-hosted runner configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-custom-labels-to-self-hosted-runner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_labels_to_runner", "description": { "tagline": "Add custom labels to a self-hosted runner in an organization.", "detailed": "This tool adds custom labels to a self-hosted GitHub Actions runner configured in an organization. Use this tool when you need to organize or categorize runners with specific labels. Requires authentication with an access token having the `admin:org` scope." }, "return_annotation": "Confirmation of labels added to the self-hosted runner.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner to which labels are added.", "endpoint_argument_name": "runner_id" }, { "name": "custom_labels_to_add", "alternative_names": ["runner_custom_labels", "add_runner_labels"], "description": "An array of strings representing the custom labels to add to the self-hosted runner. Each label is a string.", "endpoint_argument_name": "labels" } ] }, "method": "POST", "path": "/orgs/{org}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "Add custom labels to a self-hosted runner for an organization", "description": "Add custom labels to a self-hosted runner configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "labels", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The names of the custom labels to add to the runner." }, "description": "The names of the custom labels to add to the runner.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The names of the custom labels to add to the runner.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"gpu\",\n \"accelerated\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the custom labels to add to the runner.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"labels\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/set-custom-labels-for-self-hosted-runner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_custom_labels_runner_org", "description": { "tagline": "Set custom labels for a self-hosted runner in an organization.", "detailed": "Updates custom labels for a specified self-hosted runner in an organization, removing any previous labels. Requires authentication with an access token having `admin:org` scope." }, "return_annotation": "Confirmation of updated custom labels for the runner.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "runner_identifier", "alternative_names": ["unique_runner_id", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner to set custom labels.", "endpoint_argument_name": "runner_id" }, { "name": "custom_labels", "alternative_names": ["runner_labels", "set_labels"], "description": "An array of custom label names to assign to the runner. Pass an empty array to remove all labels.", "endpoint_argument_name": "labels" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "Set custom labels for a self-hosted runner for an organization", "description": "Remove all previous custom labels and set the new custom labels for a specific\nself-hosted runner configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "labels", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels." }, "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"gpu\",\n \"accelerated\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 0,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"labels\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-custom-label-from-self-hosted-runner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_custom_runner_label", "description": { "tagline": "Remove a custom label from a self-hosted runner in an organization.", "detailed": "Removes a specified custom label from a self-hosted runner within an organization and returns the updated list of labels on the runner. Requires authentication with an access token having the `admin:org` scope. If the label is not found, a `404 Not Found` status is returned." }, "return_annotation": "The remaining labels on the self-hosted runner.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The case-insensitive name of the organization.", "endpoint_argument_name": "org" }, { "name": "runner_identifier", "alternative_names": ["runner_id_number", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner. Must be an integer.", "endpoint_argument_name": "runner_id" }, { "name": "custom_label_name", "alternative_names": ["runner_label_name", "label_name"], "description": "The name of the custom label to remove from the self-hosted runner.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "tags": ["actions"], "summary": "Remove a custom label from a self-hosted runner for an organization", "description": "Remove a custom label from a self-hosted runner configured\nin an organization. Returns the remaining labels from the runner.\n\nThis endpoint returns a `404 Not Found` status if the custom label is not\npresent on the runner.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a self-hosted runner's custom label." }, "description": "The name of a self-hosted runner's custom label.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-org-secrets", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_secrets", "description": { "tagline": "Retrieve all organization secrets without values.", "detailed": "This tool fetches a list of all secrets available in a GitHub organization without revealing their encrypted values. It requires authentication with an access token possessing the `admin:org` scope. Ideal for managing and reviewing organization secrets." }, "return_annotation": "A list of secrets available in the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name to list secrets for. This name is not case-sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "secrets_per_page"], "description": "Specify the number of secrets to list per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["result_page", "pagination_page"], "description": "Page number of the results to fetch for pagination purposes.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/secrets", "tags": ["actions"], "summary": "List organization secrets", "description": "Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-org-public-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_organization_public_key", "description": { "tagline": "Retrieve the public key for GitHub organization secrets encryption.", "detailed": "Use this tool to obtain the public key necessary for encrypting secrets before creation or update within a GitHub organization. This requires authentication with an access token that has the `admin:org` scope. Suitable for use when managing organization secrets securely." }, "return_annotation": "The public key for encrypting GitHub organization secrets.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. This is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/actions/secrets/public-key", "tags": ["actions"], "summary": "Get an organization public key", "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_org_secret", "description": { "tagline": "Deletes a secret from a GitHub organization.", "detailed": "Use this tool to delete a specific secret from a GitHub organization by its name. Requires authentication with an access token with `admin:org` scope or a GitHub App with `secrets` permission." }, "return_annotation": "Confirmation of secret deletion in the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name, not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["organization_secret_name", "secret_key_name"], "description": "The name of the secret to be deleted from the GitHub organization. Ensure the name is correct and case insensitive.", "endpoint_argument_name": "secret_name" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/secrets/{secret_name}", "tags": ["actions"], "summary": "Delete an organization secret", "description": "Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_org_secret", "description": { "tagline": "Retrieve details of a GitHub organization secret.", "detailed": "Use this tool to get the details of a GitHub organization secret without exposing its encrypted value. Authentication with an access token with `admin:org` scope or GitHub App with `secrets` permission is required." }, "return_annotation": "Organization secret details without revealing the value.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. This name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_key_name"], "description": "The name of the secret within the GitHub organization. It identifies which secret's details to retrieve.", "endpoint_argument_name": "secret_name" } ] }, "method": "GET", "path": "/orgs/{org}/actions/secrets/{secret_name}", "tags": ["actions"], "summary": "Get an organization secret", "description": "Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-or-update-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_or_update_org_secret", "description": { "tagline": "Create or update an organization's secret on GitHub.", "detailed": "Use this tool to create or update a secret within a GitHub organization using an encrypted value. The secret must be encrypted with LibSodium, and authentication requires a token with 'admin:org' scope. GitHub Apps need 'secrets' organization permission." }, "return_annotation": "Confirmation of secret creation or update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_label"], "description": "The name of the secret. It's used to identify the secret within the organization.", "endpoint_argument_name": "secret_name" }, { "name": "repository_visibility", "alternative_names": ["org_repository_access", "secret_visibility_level"], "description": "Specifies which type of organization repositories have access to the organization secret. Choices are 'all', 'private', or 'selected'.", "endpoint_argument_name": "visibility" }, { "name": "encrypted_secret_value", "alternative_names": ["encrypted_secret", "secret_encrypted_value"], "description": "The secret's encrypted value using LibSodium and a GitHub org public key.", "endpoint_argument_name": "encrypted_value" }, { "name": "encryption_key_id", "alternative_names": ["key_identifier", "encryption_key_identifier"], "description": "The ID of the public key used to encrypt the secret. This must match the key used during encryption.", "endpoint_argument_name": "key_id" }, { "name": "repository_ids_for_secret_access", "alternative_names": ["repo_id_list_for_secret", "secret_access_repo_ids"], "description": "Array of repository ids allowed access to the secret. Provide only when `visibility` is `selected`.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/secrets/{secret_name}", "tags": ["actions"], "summary": "Create or update an organization secret", "description": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\nuse this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library.\n\n```\nconst sodium = require('libsodium-wrappers')\nconst secret = 'plain-text-secret' // replace with the secret you want to encrypt\nconst key = 'base64-encoded-public-key' // replace with the Base64 encoded public key\n\n//Check if libsodium is ready and then proceed.\nsodium.ready.then(() => {\n // Convert Secret & Base64 key to Uint8Array.\n let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL)\n let binsec = sodium.from_string(secret)\n\n //Encrypt the secret using LibSodium\n let encBytes = sodium.crypto_box_seal(binsec, binkey)\n\n // Convert encrypted Uint8Array to Base64\n let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL)\n\n console.log(output)\n});\n```\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "encrypted_value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-organization-public-key) endpoint." }, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-organization-public-key) endpoint.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-organization-public-key) endpoint.", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" }, "schema_required": false }, { "name": "key_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ID of the key you used to encrypt the secret." }, "description": "ID of the key you used to encrypt the secret.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "ID of the key you used to encrypt the secret." }, "schema_required": false }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints." }, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", "items": { "type": "integer" } }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "private", "selected"], "properties": null, "inner_properties": null, "description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret." }, "description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret.", "enum": ["all", "private", "selected"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"encrypted_value\": \"c2VjcmV0\",\n \"key_id\": \"012345678912345678\",\n \"selected_repository_ids\": [\n 1296269,\n 1296280\n ],\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"encrypted_value\": {\n \"description\": \"Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-organization-public-key) endpoint.\",\n \"pattern\": \"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\",\n \"type\": \"string\"\n },\n \"key_id\": {\n \"description\": \"ID of the key you used to encrypt the secret.\",\n \"type\": \"string\"\n },\n \"selected_repository_ids\": {\n \"description\": \"An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"visibility\": {\n \"description\": \"Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret.\",\n \"enum\": [\n \"all\",\n \"private\",\n \"selected\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"visibility\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-selected-repos-for-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repos_with_org_secret", "description": { "tagline": "Retrieve repositories with access to a specific organization secret.", "detailed": "This tool lists all repositories that have been given access to a specific organization secret with `selected` visibility. It requires authentication with an access token featuring the `admin:org` scope, or a GitHub App with `secrets` organization permission." }, "return_annotation": "List of repositories with access to the specified org secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["secret_key", "org_secret_name"], "description": "The name of the secret for which to list selected repositories. Case insensitive.", "endpoint_argument_name": "secret_name" }, { "name": "result_page_number", "alternative_names": ["page_number", "retrieve_page"], "description": "Page number of the results to fetch for pagination.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "The number of repositories to return per page, with a maximum of 100 allowed.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/secrets/{secret_name}/repositories", "tags": ["actions"], "summary": "List selected repositories for an organization secret", "description": "Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-selected-repos-for-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_org_secret_repos", "description": { "tagline": "Update repositories for an organization secret.", "detailed": "Use this tool to replace all repositories associated with an organization secret when the repository access visibility is set to 'selected'. Authentication with an access token having the 'admin:org' scope or a GitHub App with the 'secrets' organization permission is required." }, "return_annotation": "Confirmation of updated repositories for an organization secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization's name for the secret. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["org_secret_name", "organization_secret_name"], "description": "The name of the organization secret to update repositories for. This value is case-insensitive.", "endpoint_argument_name": "secret_name" }, { "name": "repository_ids_for_access", "alternative_names": ["repo_ids_for_secret", "selected_repo_identifiers"], "description": "An array of repository IDs allowed to access the organization secret when visibility is set to 'selected'.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/secrets/{secret_name}/repositories", "tags": ["actions"], "summary": "Set selected repositories for an organization secret", "description": "Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/enterprise-server@3.8/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints." }, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/enterprise-server@3.8/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/enterprise-server@3.8/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", "items": { "type": "integer" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_repository_ids\": [\n 64780797\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_repository_ids\": {\n \"description\": \"An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/enterprise-server@3.8/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_repository_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-selected-repo-from-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_from_org_secret", "description": { "tagline": "Remove a repository from an organization's secret access.", "detailed": "Use this tool to remove a specified repository from accessing an organization's secret when the visibility is set to 'selected'. Authentication with an access token with 'admin:org' scope is required." }, "return_annotation": "Confirms removal of the repository from the organization secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The organization name. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["org_secret_name", "organization_secret_name"], "description": "The name of the organization secret to remove the repository from.", "endpoint_argument_name": "secret_name" }, { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique ID of the repository to be removed from the organization's secret.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "tags": ["actions"], "summary": "Remove selected repository from an organization secret", "description": "Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-selected-repo-to-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_repo_to_org_secret", "description": { "tagline": "Add a repository to an organization's secret.", "detailed": "This tool adds a specified repository to an organization secret with 'selected' visibility. It requires authentication with an access token having 'admin:org' scope. GitHub Apps need 'secrets' organization permission." }, "return_annotation": "Confirmation of repository addition to organization secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The organization's name. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["organization_secret_name", "secret_title"], "description": "The name of the organization secret to which the repository will be added.", "endpoint_argument_name": "secret_name" }, { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique integer ID of the repository to be added to the organization secret. This ID specifies which repository you want to include.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "tags": ["actions"], "summary": "Add selected repository to an organization secret", "description": "Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-org-variables", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_variables", "description": { "tagline": "Retrieve all variables for a GitHub organization.", "detailed": "Use this tool to list all variables configured in a GitHub organization. Authentication with an access token having the `admin:org` scope or a GitHub App with `organization_actions_variables:read` permission is required." }, "return_annotation": "Organization variables list.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, up to a maximum of 30.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specify the page number of the organization variables to retrieve.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/variables", "tags": ["actions"], "summary": "List organization variables", "description": "Lists all organization variables. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 30)." }, "description": "The number of results per page (max 30).", "required": false, "deprecated": false, "default": 10, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_org_variable", "description": { "tagline": "Create an organization variable for GitHub Actions workflows.", "detailed": "Creates an organization variable in GitHub that can be referenced in Actions workflows. Requires an access token with `admin:org` scope or `organization_actions_variables:write` permission for GitHub Apps." }, "return_annotation": "Confirmation of the creation of a GitHub organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org_name"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["org_variable_name", "github_variable_name"], "description": "The name of the organization variable to be created. This name will be used to reference the variable in workflows.", "endpoint_argument_name": "name" }, { "name": "variable_value", "alternative_names": ["value_of_variable", "org_variable_value"], "description": "The value assigned to the organization variable in GitHub.", "endpoint_argument_name": "value" }, { "name": "repository_access_visibility", "alternative_names": ["repository_visibility_type", "access_scope"], "description": "Type of repositories in the organization that can access the variable: 'all', 'private', or 'selected'.", "endpoint_argument_name": "visibility" }, { "name": "repository_ids_with_variable_access", "alternative_names": ["repo_ids_for_org_variable", "accessible_repo_ids"], "description": "List of repository IDs allowed to access the organization variable. Required when 'visibility' is 'selected'.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "POST", "path": "/orgs/{org}/actions/variables", "tags": ["actions"], "summary": "Create an organization variable", "description": "Creates an organization variable that you can reference in a GitHub Actions workflow.\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\nGitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the variable." }, "schema_required": true }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`." }, "description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`.", "items": { "type": "integer" } }, "schema_required": false }, { "name": "value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The value of the variable." }, "description": "The value of the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The value of the variable." }, "schema_required": true }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "private", "selected"], "properties": null, "inner_properties": null, "description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable." }, "description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable.", "enum": ["all", "private", "selected"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"USERNAME\",\n \"selected_repository_ids\": [\n 1296269,\n 1296280\n ],\n \"value\": \"octocat\",\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the variable.\",\n \"type\": \"string\"\n },\n \"selected_repository_ids\": {\n \"description\": \"An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"value\": {\n \"description\": \"The value of the variable.\",\n \"type\": \"string\"\n },\n \"visibility\": {\n \"description\": \"The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable.\",\n \"enum\": [\n \"all\",\n \"private\",\n \"selected\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"value\",\n \"visibility\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/delete-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_org_variable", "description": { "tagline": "Delete an organization's variable on GitHub.", "detailed": "Deletes a specified variable from an organization on GitHub. Requires authentication with an access token with the `admin:org` scope, or GitHub App with `organization_actions_variables:write` permission." }, "return_annotation": "Confirmation of the deletion of the organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organisation_name"], "description": "The name of the GitHub organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["var_name", "organization_variable_name"], "description": "The name of the organization variable to delete. It should be a string matching the variable's identifier.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/variables/{name}", "tags": ["actions"], "summary": "Delete an organization variable", "description": "Deletes an organization variable using the variable name.\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\nGitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_organization_variable", "description": { "tagline": "Retrieve a specific variable from a GitHub organization.", "detailed": "Use this tool to access a particular variable within a GitHub organization. Requires authentication with an access token with the 'admin:org' scope or a GitHub App with 'organization_actions_variables:read' permission." }, "return_annotation": "Details of a specific GitHub organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["var_name", "variable_identifier"], "description": "The exact name of the specific variable to retrieve from the organization.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/orgs/{org}/actions/variables/{name}", "tags": ["actions"], "summary": "Get an organization variable", "description": "Gets a specific variable in an organization. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/update-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_org_action_variable", "description": { "tagline": "Update an organization variable in GitHub Actions.", "detailed": "This tool updates a specified variable for an organization in GitHub Actions workflows. Authentication with an access token having `admin:org` scope or GitHub App with `organization_actions_variables:write` permission is required." }, "return_annotation": "Confirmation of the organization variable update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The GitHub organization's name. This name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["org_variable_name", "action_variable_name"], "description": "The name of the organization variable to update. This is case-insensitive.", "endpoint_argument_name": "name" }, { "name": "var_name", "alternative_names": ["var_name", "action_variable_name"], "description": "Specify the name of the GitHub organization variable to update.", "endpoint_argument_name": "name" }, { "name": "repository_ids_for_selected_visibility", "alternative_names": ["selected_repo_ids", "repository_ids_access_list"], "description": "An array of repository IDs that can access the organization variable. Only provide when `visibility` is set to `selected`.", "endpoint_argument_name": "selected_repository_ids" }, { "name": "variable_value", "alternative_names": ["value_of_variable", "action_variable_value"], "description": "The new value to assign to the organization variable. It must be a string.", "endpoint_argument_name": "value" }, { "name": "repository_visibility_type", "alternative_names": ["repo_access_type", "variable_access_scope"], "description": "Specifies which repositories in the organization can access the variable. Options: `all`, `private`, `selected`.", "endpoint_argument_name": "visibility" } ] }, "method": "PATCH", "path": "/orgs/{org}/actions/variables/{name}", "tags": ["actions"], "summary": "Update an organization variable", "description": "Updates an organization variable that you can reference in a GitHub Actions workflow.\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\nGitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the variable." }, "schema_required": false }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`." }, "description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`.", "items": { "type": "integer" } }, "schema_required": false }, { "name": "value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The value of the variable." }, "description": "The value of the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The value of the variable." }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "private", "selected"], "properties": null, "inner_properties": null, "description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable." }, "description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable.", "enum": ["all", "private", "selected"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"USERNAME\",\n \"selected_repository_ids\": [\n 1296269,\n 1296280\n ],\n \"value\": \"octocat\",\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the variable.\",\n \"type\": \"string\"\n },\n \"selected_repository_ids\": {\n \"description\": \"An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"value\": {\n \"description\": \"The value of the variable.\",\n \"type\": \"string\"\n },\n \"visibility\": {\n \"description\": \"The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable.\",\n \"enum\": [\n \"all\",\n \"private\",\n \"selected\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-selected-repos-for-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repos_with_org_variable_access", "description": { "tagline": "Retrieve repos accessing an organization's variable.", "detailed": "This tool lists all repositories that have access to a specified organization variable. Authentication with an access token having the `admin:org` scope is required. GitHub Apps must have the `organization_actions_variables:read` permission." }, "return_annotation": "List of repositories with access to the organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["org_variable_name", "repository_variable_name"], "description": "The name of the organization variable to check for repository access.", "endpoint_argument_name": "name" }, { "name": "result_page_number", "alternative_names": ["results_page", "page_number"], "description": "The page number of repository results to retrieve. Use this to navigate through results.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["page_size", "max_results_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/orgs/{org}/actions/variables/{name}/repositories", "tags": ["actions"], "summary": "List selected repositories for an organization variable", "description": "Lists all repositories that can access an organization variable that is available to selected repositories. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-selected-repos-for-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_org_variable_repos", "description": { "tagline": "Replace repositories for an organization's variable.", "detailed": "This tool replaces all repositories associated with an organization variable that is set to selected visibility. Use it to update the repositories list where an org variable is available. Requires appropriate authentication and permissions." }, "return_annotation": "Confirmation of repository update for an organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["variable_identifier", "org_variable_name"], "description": "The name of the organization variable to be updated.", "endpoint_argument_name": "name" }, { "name": "repository_ids_for_access", "alternative_names": ["repos_access_ids", "repo_ids_for_var_access"], "description": "An array of integers representing the repository IDs that can access the organization variable. Ensure the IDs are valid and accessible.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/variables/{name}/repositories", "tags": ["actions"], "summary": "Set selected repositories for an organization variable", "description": "Replaces all repositories for an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "The IDs of the repositories that can access the organization variable." }, "description": "The IDs of the repositories that can access the organization variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The IDs of the repositories that can access the organization variable.", "items": { "type": "integer" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_repository_ids\": [\n 64780797\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_repository_ids\": {\n \"description\": \"The IDs of the repositories that can access the organization variable.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_repository_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-selected-repo-from-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_from_org_variable", "description": { "tagline": "Remove a repository from a GitHub organization variable.", "detailed": "This tool removes a specified repository from an organization's variable that is available to selected repositories. Useful when managing organization-level variable access. Requires authentication with an admin token or necessary permissions for GitHub Apps." }, "return_annotation": "Confirmation of repository removal from the organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["org_variable_name", "organization_variable_name"], "description": "The name of the organization variable to remove the repository from.", "endpoint_argument_name": "name" }, { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The ID of the repository to be removed from the organization variable. This should be an integer value identifying the repository.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "tags": ["actions"], "summary": "Remove selected repository from an organization variable", "description": "Removes a repository from an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-selected-repo-to-org-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_repo_to_org_variable", "description": { "tagline": "Add a repository to an organization's selected variables.", "detailed": "Use this tool to add a repository to a specific organization variable that is available to selected repositories on GitHub. This requires an access token with `admin:org` scope or GitHub App permission `organization_actions_variables:write`. The repository and organization must have the `visibility` field set to `selected`." }, "return_annotation": "Confirmation of repository addition to organization variable.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "variable_name", "alternative_names": ["variable_title", "name_of_variable"], "description": "The name of the organization variable to which the repository will be added.", "endpoint_argument_name": "name" }, { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The integer ID of the repository to be added to the organization variable. This is a required field.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "tags": ["actions"], "summary": "Add selected repository to an organization variable", "description": "Adds a repository to an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "announcement-banners/remove-announcement-banner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_org_announcement_banner", "description": { "tagline": "Remove the announcement banner for a GitHub organization.", "detailed": "Use this tool to delete the announcement banner that is currently set for a specific GitHub organization. Ideal for managing organizational announcements." }, "return_annotation": "Confirmation of announcement banner removal for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization's name. This is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "DELETE", "path": "/orgs/{org}/announcement", "tags": ["orgs"], "summary": "Remove announcement banner from organization", "description": "Removes the announcement banner currently set for the organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "announcement-banners/get-announcement-banner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_announcement_banner", "description": { "tagline": "Retrieve the announcement banner for a specific organization.", "detailed": "Fetches the current announcement banner set at the organization level. Does not include enterprise-level banners." }, "return_annotation": "Current announcement banner for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/announcement", "tags": ["orgs"], "summary": "Get announcement banner for organization", "description": "Gets the announcement banner currently set for the organization. Only returns the announcement banner set at the\norganization level. Organization members may also see an enterprise-level announcement banner. To get an\nannouncement banner displayed at the enterprise level, use the enterprise-level endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "announcement-banners/set-announcement-banner-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_org_announcement_banner", "description": { "tagline": "Sets the announcement banner for a GitHub organization.", "detailed": "Use this tool to update the announcement banner displayed for a specified GitHub organization." }, "return_annotation": "Confirmation of the announcement banner update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. The name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "announcement_text", "alternative_names": ["org_announcement_text", "github_banner_text"], "description": "The announcement text formatted in GitHub Flavored Markdown. See GitHub's basic writing syntax for details.", "endpoint_argument_name": "announcement" }, { "name": "announcement_expiry_time", "alternative_names": ["expiry_timestamp", "announcement_expiry_date"], "description": "The expiry time for the announcement, in ISO 8601 format. Use `null` or empty for no expiry.", "endpoint_argument_name": "expires_at" } ] }, "method": "PATCH", "path": "/orgs/{org}/announcement", "tags": ["orgs"], "summary": "Set announcement banner for organization", "description": "Sets the announcement banner to display for the organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "announcement", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\"" }, "description": "The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\"", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\"", "example": "Very **important** announcement about _something_." }, "schema_required": true }, { "name": "expires_at", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string." }, "description": "The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string.", "format": "date-time", "example": "\"2021-01-01T00:00:00.000-07:00\"" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"$ref\": \"#/components/examples/announcement\"\n }\n },\n \"schema\": {\n \"description\": \"Enterprise global announcement\",\n \"properties\": {\n \"announcement\": {\n \"description\": \"The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see \\\"[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.8/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\\\"\",\n \"example\": \"Very **important** announcement about _something_.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"expires_at\": {\n \"description\": \"The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string.\",\n \"example\": \"\\\"2021-01-01T00:00:00.000-07:00\\\"\",\n \"format\": \"date-time\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"announcement\"\n ],\n \"title\": \"Enterprise Announcement\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "orgs/get-audit-log", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_audit_log", "description": { "tagline": "Retrieve the audit log for a GitHub organization.", "detailed": "This tool retrieves the audit log for a specified GitHub organization. It is used to monitor and review up to 30 events from the past three months by default. Organization owners or GitHub Apps with appropriate permissions can filter, paginate, and analyze audit events using this tool. Useful for tracking organization activities and security events." }, "return_annotation": "Audit log events for a specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "search_phrase", "alternative_names": ["filter_phrase", "query_term"], "description": "A string to filter audit log events based on specific criteria. This can help in retrieving older events. Refer to the GitHub documentation for more details on searching the audit log.", "endpoint_argument_name": "phrase" }, { "name": "event_types_to_include", "alternative_names": ["event_categories", "audit_event_types"], "description": "Specify the event types to include: 'web' for web events, 'git' for Git events, or 'all' for both. Default is 'web'.", "endpoint_argument_name": "include" }, { "name": "search_events_after_cursor", "alternative_names": ["events_after_cursor", "after_cursor_search"], "description": "Cursor for searching events after a specific point, as given in the Link header.", "endpoint_argument_name": "after" }, { "name": "search_events_before_cursor", "alternative_names": ["retrieve_events_before", "fetch_before_cursor"], "description": "A cursor to search for events before this point. Use to limit results to events occurring before a specific reference.", "endpoint_argument_name": "before" }, { "name": "event_order", "alternative_names": ["sort_order", "log_order"], "description": "Specify the order of audit log events. Use 'desc' for newest first or 'asc' for oldest first. Default is 'desc'.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["page_size", "number_of_results_per_page"], "description": "Defines the number of audit log events returned per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specify the page number of results to fetch. Useful for navigating through paginated audit log entries.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/audit-log", "tags": ["orgs"], "summary": "Get the audit log for an organization", "description": "Gets the audit log for an organization. For more information, see \"[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization).\"\n\nTo use this endpoint, you must be an organization owner, and you must use an access token with the `read:audit_log` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint.\n\nBy default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see \"[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.8/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log).\"\n\nUse pagination to retrieve fewer or more than 30 events. For more information, see \"[Resources in the REST API](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "phrase", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." }, "description": "A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log).", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "include", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["web", "git", "all"], "properties": null, "inner_properties": null, "description": "The event types to include:\n\n- `web` - returns web (non-Git) events.\n- `git` - returns Git events.\n- `all` - returns both web and Git events.\n\nThe default is `web`." }, "description": "The event types to include:\n\n- `web` - returns web (non-Git) events.\n- `git` - returns Git events.\n- `all` - returns both web and Git events.\n\nThe default is `web`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["web", "git", "all"] }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n\nThe default is `desc`." }, "description": "The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n\nThe default is `desc`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/list-alerts-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_code_scanning_alerts", "description": { "tagline": "Retrieve code scanning alerts for an organization's repositories.", "detailed": "This tool lists code scanning alerts for the default branch of all eligible repositories within a specified organization. It requires the user to be an owner or security manager of the organization, and access tokens with the necessary scopes (`repo`, `security_events`, or `public_repo` for public repositories)." }, "return_annotation": "A list of code scanning alerts for the organization's repositories.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. This field is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "filter_by_tool_name", "alternative_names": ["code_tool_name_filter", "scan_tool_name_filter"], "description": "Specify the name of a code scanning tool to filter results. Only alerts from this tool will be listed. Ensure not to use `tool_guid` if this is specified.", "endpoint_argument_name": "tool_name" }, { "name": "code_scanning_tool_guid", "alternative_names": ["scan_tool_guid", "alert_tool_guid"], "description": "The GUID of a specific code scanning tool. Use this to filter alerts by the tool. Must not use with `tool_name`.", "endpoint_argument_name": "tool_guid" }, { "name": "cursor_before", "alternative_names": ["before_cursor", "before_position"], "description": "A cursor used to fetch results occurring before this point in the data timeline.", "endpoint_argument_name": "before" }, { "name": "results_after_cursor", "alternative_names": ["after_cursor", "next_page_cursor"], "description": "A cursor indicating the point after which to retrieve results. Used for pagination.", "endpoint_argument_name": "after" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "The page number of the results to fetch from the list of code scanning alerts.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "The number of results per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "sort_direction", "alternative_names": ["order_direction", "listing_direction"], "description": "Specifies the sort order of the results. Use 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "alert_state", "alternative_names": ["code_alert_status", "scan_alert_state"], "description": "Filter code scanning alerts by their state: 'open', 'closed', 'dismissed', or 'fixed'.", "endpoint_argument_name": "state" }, { "name": "sort_results_by", "alternative_names": ["order_by_property", "sort_property"], "description": "Specifies the property by which to sort the results. Options are 'created' or 'updated'.", "endpoint_argument_name": "sort" }, { "name": "alert_severity", "alternative_names": ["severity_level", "alert_level"], "description": "Specifies the severity of code scanning alerts to be returned. Acceptable values include 'critical', 'high', 'medium', 'low', 'warning', 'note', and 'error'.", "endpoint_argument_name": "severity" } ] }, "method": "GET", "path": "/orgs/{org}/code-scanning/alerts", "tags": ["code-scanning"], "summary": "List code scanning alerts for an organization", "description": "Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nTo use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have the `security_events` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "tool_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both." }, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The name of the tool used to generate the code scanning analysis." }, "schema_required": false }, { "name": "tool_guid", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both." }, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "dismissed", "fixed"], "properties": null, "inner_properties": null, "description": "If specified, only code scanning alerts with this state will be returned." }, "description": "If specified, only code scanning alerts with this state will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "State of a code scanning alert.", "enum": ["open", "closed", "dismissed", "fixed"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results." }, "description": "The property by which to sort the results.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "severity", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["critical", "high", "medium", "low", "warning", "note", "error"], "properties": null, "inner_properties": null, "description": "If specified, only code scanning alerts with this severity will be returned." }, "description": "If specified, only code scanning alerts with this severity will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "Severity of a code scanning alert.", "enum": ["critical", "high", "medium", "low", "warning", "note", "error"] }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/list-alerts-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_dependabot_alerts_for_organization", "description": { "tagline": "Lists Dependabot alerts for an organization.", "detailed": "This tool lists Dependabot alerts for a specified organization. It requires you to be an organization owner or security manager with an appropriate access token. GitHub Apps need **Dependabot alerts** read permission. Use for monitoring security alerts related to dependencies." }, "return_annotation": "A list of Dependabot alerts for a specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization name for which to list Dependabot alerts. This name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "alert_states", "alternative_names": ["alert_statuses", "dependabot_alert_states"], "description": "Comma-separated list of alert states to filter by. Options: `dismissed`, `fixed`, `open`.", "endpoint_argument_name": "state" }, { "name": "alert_severity_filter", "alternative_names": ["severity_levels", "filter_by_severity"], "description": "Comma-separated severities to filter alerts. Options: `low`, `medium`, `high`, `critical`.", "endpoint_argument_name": "severity" }, { "name": "ecosystem_list", "alternative_names": ["ecosystem_filter", "ecosystems"], "description": "Comma-separated ecosystems to filter alerts. Options: composer, go, maven, npm, nuget, pip, pub, rubygems, rust.", "endpoint_argument_name": "ecosystem" }, { "name": "package_names", "alternative_names": ["packages_list", "specific_packages"], "description": "A comma-separated list of package names. Only alerts for these specified packages will be returned.", "endpoint_argument_name": "package" }, { "name": "vulnerable_dependency_scope", "alternative_names": ["dependency_scope", "alert_scope"], "description": "Specify the scope of the vulnerable dependency as either 'development' or 'runtime'. Only alerts with this scope will be returned.", "endpoint_argument_name": "scope" }, { "name": "sort_by_property", "alternative_names": ["order_by_property", "arrange_by_property"], "description": "Sort results by `created` (alert creation) or `updated` (state change).", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["results_sorting_order", "alerts_sort_direction"], "description": "The order to sort the results, either ascending ('asc') or descending ('desc').", "endpoint_argument_name": "direction" }, { "name": "results_before_cursor", "alternative_names": ["search_before_cursor", "alerts_before_cursor"], "description": "A cursor indicating to search for Dependabot alerts before this position.", "endpoint_argument_name": "before" }, { "name": "paginate_after_cursor", "alternative_names": ["continue_after_cursor", "next_page_cursor"], "description": "A cursor indicating the point to continue the listing from, based on the Link header.", "endpoint_argument_name": "after" }, { "name": "deprecated_first_results_page_size", "alternative_names": ["first_page_result_count", "initial_page_results"], "description": "**Deprecated**. Use `per_page` with `after` instead. Specifies the number of results per page, up to 100, starting from the first matching result. Avoid using with `last`.", "endpoint_argument_name": "first" }, { "name": "deprecated_last_results_per_page", "alternative_names": ["legacy_last_page_size", "final_page_results_limit"], "description": "**Deprecated**. Use this to specify the number of results per page (max 100) from the last matching result. Cannot be used with 'first'.", "endpoint_argument_name": "last" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "alerts_per_page"], "description": "Specifies the number of Dependabot alerts to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/orgs/{org}/dependabot/alerts", "tags": ["dependabot"], "summary": "List Dependabot alerts for an organization", "description": "Lists Dependabot alerts for an organization.\n\nTo use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have **Dependabot alerts** read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of states. If specified, only alerts with these states will be returned.\n\nCan be: `dismissed`, `fixed`, `open`" }, "description": "A comma-separated list of states. If specified, only alerts with these states will be returned.\n\nCan be: `dismissed`, `fixed`, `open`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "severity", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of severities. If specified, only alerts with these severities will be returned.\n\nCan be: `low`, `medium`, `high`, `critical`" }, "description": "A comma-separated list of severities. If specified, only alerts with these severities will be returned.\n\nCan be: `low`, `medium`, `high`, `critical`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ecosystem", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned.\n\nCan be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`" }, "description": "A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned.\n\nCan be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "package", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of package names. If specified, only alerts for these packages will be returned." }, "description": "A comma-separated list of package names. If specified, only alerts for these packages will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "scope", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["development", "runtime"], "properties": null, "inner_properties": null, "description": "The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned." }, "description": "The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["development", "runtime"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results.\n`created` means when the alert was created.\n`updated` means when the alert's state last changed." }, "description": "The property by which to sort the results.\n`created` means when the alert was created.\n`updated` means when the alert's state last changed.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "first", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. The number of results per page (max 100), starting from the first matching result.\nThis parameter must not be used in combination with `last`.\nInstead, use `per_page` in combination with `after` to fetch the first page of results." }, "description": "**Deprecated**. The number of results per page (max 100), starting from the first matching result.\nThis parameter must not be used in combination with `last`.\nInstead, use `per_page` in combination with `after` to fetch the first page of results.", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer", "minimum": 1, "maximum": 100 }, "schema_required": false }, { "name": "last", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. The number of results per page (max 100), starting from the last matching result.\nThis parameter must not be used in combination with `first`.\nInstead, use `per_page` in combination with `before` to fetch the last page of results." }, "description": "**Deprecated**. The number of results per page (max 100), starting from the last matching result.\nThis parameter must not be used in combination with `first`.\nInstead, use `per_page` in combination with `before` to fetch the last page of results.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer", "minimum": 1, "maximum": 100 }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/list-org-secrets", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_org_secrets", "description": { "tagline": "Retrieve Dependabot organization secrets from GitHub.", "detailed": "Use this tool to list all Dependabot secrets of a GitHub organization without revealing their encrypted values. Requires authentication with an `admin:org` scope token or a GitHub App with `dependabot_secrets` permission." }, "return_annotation": "A list of organization secrets without encrypted values.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The GitHub organization name. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "secrets_per_page"], "description": "The number of secrets to list per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "page_index"], "description": "Page number to fetch results from in the paginated list of organization secrets.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/dependabot/secrets", "tags": ["dependabot"], "summary": "List organization secrets", "description": "Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/get-org-public-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_public_key", "description": { "tagline": "Retrieve the public key for encrypting GitHub Dependabot secrets.", "detailed": "Use this tool to get your GitHub organization's public key, which is necessary for encrypting secrets before creating or updating them in Dependabot. Ensure authentication with an access token with the `admin:org` scope or GitHub App permissions for `dependabot_secrets`." }, "return_annotation": "Public key for encrypting GitHub Dependabot secrets.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The GitHub organization name, not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/dependabot/secrets/public-key", "tags": ["dependabot"], "summary": "Get an organization public key", "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/delete-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_github_org_secret", "description": { "tagline": "Delete a secret from a GitHub organization.", "detailed": "Use this tool to delete a Dependabot secret from a specific GitHub organization by providing the secret name. Authentication with an access token with the `admin:org` scope is required. This tool is suitable when you need to manage organization secrets programmatically." }, "return_annotation": "Confirmation of secret deletion in the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name_to_delete", "alternative_names": ["name_of_secret_to_remove", "secret_identifier"], "description": "The name of the secret to delete from the GitHub organization.", "endpoint_argument_name": "secret_name" } ] }, "method": "DELETE", "path": "/orgs/{org}/dependabot/secrets/{secret_name}", "tags": ["dependabot"], "summary": "Delete an organization secret", "description": "Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/get-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_secret_info", "description": { "tagline": "Retrieve details of an organization's secret without revealing the encrypted value.", "detailed": "This tool fetches a single organization secret's details from GitHub without disclosing the encrypted value. Use it when you need information about a secret within an organization. Authentication with an access token with `admin:org` scope is required." }, "return_annotation": "Details of the organization's secret without revealing the encrypted value.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "organization_secret_name", "alternative_names": ["org_secret_name", "secret_identifier"], "description": "The name of the secret for the organization. It is required to identify the specific secret without revealing its encrypted value. This name is not case sensitive.", "endpoint_argument_name": "secret_name" } ] }, "method": "GET", "path": "/orgs/{org}/dependabot/secrets/{secret_name}", "tags": ["dependabot"], "summary": "Get an organization secret", "description": "Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/create-or-update-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_org_secret", "description": { "tagline": "Create or update a GitHub organization secret.", "detailed": "Use this tool to create or update an organization's secret on GitHub, encrypted with LibSodium. Requires an access token with `admin:org` scope or a GitHub App with `dependabot_secrets` organization permission." }, "return_annotation": "Confirmation of secret creation or update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization, not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["organization_secret_name", "secret_identifier"], "description": "The name of the secret to create or update. This should be a unique identifier for the secret within the organization.", "endpoint_argument_name": "secret_name" }, { "name": "repository_access_type", "alternative_names": ["org_secret_visibility", "repositories_access_level"], "description": "Determines which organization repositories can access the secret: 'all', 'private', or 'selected' (which requires specifying `selected_repository_ids`).", "endpoint_argument_name": "visibility" }, { "name": "encrypted_secret_value", "alternative_names": ["secret_value_encrypted", "encrypted_value_parameter"], "description": "The secret value encrypted using LibSodium with the organization public key.", "endpoint_argument_name": "encrypted_value" }, { "name": "encryption_key_id", "alternative_names": ["secret_key_id", "organization_key_id"], "description": "The ID of the key used to encrypt the organization secret, required for security verification.", "endpoint_argument_name": "key_id" }, { "name": "selected_repository_ids_to_include", "alternative_names": ["repository_ids_with_access", "specific_repositories_ids"], "description": "Array of repository IDs allowed to access the secret. Used when visibility is set to 'selected'.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/dependabot/secrets/{secret_name}", "tags": ["dependabot"], "summary": "Create or update an organization secret", "description": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization\npermission to use this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library.\n\n```\nconst sodium = require('libsodium-wrappers')\nconst secret = 'plain-text-secret' // replace with the secret you want to encrypt\nconst key = 'base64-encoded-public-key' // replace with the Base64 encoded public key\n\n//Check if libsodium is ready and then proceed.\nsodium.ready.then(() => {\n // Convert Secret & Base64 key to Uint8Array.\n let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL)\n let binsec = sodium.from_string(secret)\n\n //Encrypt the secret using LibSodium\n let encBytes = sodium.crypto_box_seal(binsec, binkey)\n\n // Convert encrypted Uint8Array to Base64\n let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL)\n\n console.log(output)\n});\n```\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "encrypted_value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-an-organization-public-key) endpoint." }, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-an-organization-public-key) endpoint.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-an-organization-public-key) endpoint.", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" }, "schema_required": false }, { "name": "key_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ID of the key you used to encrypt the secret." }, "description": "ID of the key you used to encrypt the secret.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "ID of the key you used to encrypt the secret." }, "schema_required": false }, { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints." }, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints.", "items": { "type": "string" } }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "private", "selected"], "properties": null, "inner_properties": null, "description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret." }, "description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret.", "enum": ["all", "private", "selected"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"encrypted_value\": \"c2VjcmV0\",\n \"key_id\": \"012345678912345678\",\n \"selected_repository_ids\": [\n \"1296269\",\n \"1296280\"\n ],\n \"visibility\": \"selected\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"encrypted_value\": {\n \"description\": \"Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-an-organization-public-key) endpoint.\",\n \"pattern\": \"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\",\n \"type\": \"string\"\n },\n \"key_id\": {\n \"description\": \"ID of the key you used to encrypt the secret.\",\n \"type\": \"string\"\n },\n \"selected_repository_ids\": {\n \"description\": \"An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"visibility\": {\n \"description\": \"Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret.\",\n \"enum\": [\n \"all\",\n \"private\",\n \"selected\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"visibility\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "dependabot/list-selected-repos-for-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_selected_repositories_for_secret", "description": { "tagline": "Retrieve repositories with selected access for an org secret.", "detailed": "This tool lists all repositories that have been granted access to a secret in a GitHub organization, where the access visibility is set to 'selected'. Use it when you need to determine which repositories can access a particular secret. Requires an access token with 'admin:org' scope or 'dependabot_secrets' permission for GitHub Apps." }, "return_annotation": "A list of repositories selected for a specific secret in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. This is not case sensitive. Required to identify the organization whose secret's repository access is being queried.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_key_name"], "description": "The name of the secret for which you wish to list selected repositories. It is case insensitive.", "endpoint_argument_name": "secret_name" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page_number"], "description": "The page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count_per_page"], "description": "Number of results per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "tags": ["dependabot"], "summary": "List selected repositories for an organization secret", "description": "Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/set-selected-repos-for-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_repos_for_org_secret", "description": { "tagline": "Update selected repos for an organization's Dependabot secret.", "detailed": "This tool updates the list of repositories associated with a Dependabot secret for an organization, when the visibility is set to 'selected'. It requires authentication with an access token with 'admin:org' scope or a GitHub App with 'dependabot_secrets' permission." }, "return_annotation": "Confirmation of repository selection update for an organization secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["org_secret_name", "dependency_secret_name"], "description": "The name of the organization secret to update the repository access for. This should match the name of an existing Dependabot secret.", "endpoint_argument_name": "secret_name" }, { "name": "selected_repository_ids", "alternative_names": ["repo_ids_for_secret", "secret_repo_access_ids"], "description": "List of repository IDs that can access the org secret. Use only when visibility is 'selected'.", "endpoint_argument_name": "selected_repository_ids" } ] }, "method": "PUT", "path": "/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "tags": ["dependabot"], "summary": "Set selected repositories for an organization secret", "description": "Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "selected_repository_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints." }, "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints.", "items": { "type": "integer" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"selected_repository_ids\": [\n 64780797\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"selected_repository_ids\": {\n \"description\": \"An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"selected_repository_ids\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "dependabot/remove-selected-repo-from-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_repo_from_org_secret", "description": { "tagline": "Remove a repository from a GitHub organization secret.", "detailed": "Use this tool to remove a specific repository from an organization secret in GitHub. This is applicable when the repository access visibility is set to 'selected'. Ensure authentication with an access token that has the 'admin:org' scope. GitHub Apps require 'dependabot_secrets' permission." }, "return_annotation": "Confirmation that the repository was removed from the secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["organization_secret_name", "org_secret_name"], "description": "The name of the GitHub organization secret to remove the repository from.", "endpoint_argument_name": "secret_name" }, { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the repository to be removed from the organization secret.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "tags": ["dependabot"], "summary": "Remove selected repository from an organization secret", "description": "Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/add-selected-repo-to-org-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_repository_to_secret", "description": { "tagline": "Add a repository to a GitHub organization secret.", "detailed": "Use this tool to add a repository to an organization's secret in GitHub when the `visibility` is set to `selected`. Requires an access token with `admin:org` scope or a GitHub App with `dependabot_secrets` permission." }, "return_annotation": "Confirmation of repository added to organization secret.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "org_secret_name"], "description": "The name of the organization secret to which a repository will be added. This is case-insensitive.", "endpoint_argument_name": "secret_name" }, { "name": "repository_id_for_org_secret", "alternative_names": ["repo_id_for_secret", "repository_identifier_for_secret"], "description": "The ID of the repository to be added to the organization secret. This ID should be an integer.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "tags": ["dependabot"], "summary": "Add selected repository to an organization secret", "description": "Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-public-org-events", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_public_org_events", "description": { "tagline": "List public events for a GitHub organization.", "detailed": "This tool retrieves and lists all public events for a specified organization on GitHub. It is useful for monitoring recent activities within an organization." }, "return_annotation": "List of public events for the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "events_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "fetch_page_number"], "description": "Page number of the results to fetch. Determines which set of results to return.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/events", "tags": ["activity"], "summary": "List public organization events", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/external-idp-group-info-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_external_group_info", "description": { "tagline": "Retrieve information about a GitHub external group's usage.", "detailed": "This tool displays information about a specific external group's usage within a GitHub organization. It provides details on the group's external members and the teams connected to this group. Useful for managing team membership through identity providers using Enterprise Managed Users for GitHub Enterprise Cloud." }, "return_annotation": "Information about the external group's usage and connections.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. The name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "group_id", "alternative_names": ["external_group_id", "group_identifier"], "description": "The unique identifier of the group. Must be an integer.", "endpoint_argument_name": "group_id" } ] }, "method": "GET", "path": "/orgs/{org}/external-group/{group_id}", "tags": ["teams"], "summary": "Get an external group", "description": "Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to.\n\nYou can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products)\" in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the group." }, "description": "The unique identifier of the group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-external-idp-groups-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_external_groups_for_org", "description": { "tagline": "Retrieve external groups available in a GitHub organization.", "detailed": "Fetches a list of external groups for a specified organization. Use the `display_name` parameter to filter groups by name, and `per_page` for pagination." }, "return_annotation": "List of external groups available in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "limit_results_per_page"], "description": "Specify the number of results per page, with a maximum value of 100.", "endpoint_argument_name": "per_page" }, { "name": "pagination_token", "alternative_names": ["cursor_page_token", "page_cursor"], "description": "Token to specify the starting point for the next set of results.", "endpoint_argument_name": "page" }, { "name": "group_name_filter", "alternative_names": ["filter_by_group_name", "name_contains"], "description": "Filter results to include only groups with names containing this text.", "endpoint_argument_name": "display_name" } ] }, "method": "GET", "path": "/orgs/{org}/external-groups", "tags": ["teams"], "summary": "List external groups in an organization", "description": "Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub Enterprise Server generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see \"[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89).\"\n\nYou can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products)\" in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page token" }, "description": "Page token", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "display_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Limits the list to groups containing the text in the group name" }, "description": "Limits the list to groups containing the text in the group name", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-webhooks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_webhooks", "description": { "tagline": "Retrieve the webhooks for a specific organization on GitHub.", "detailed": "Call this tool to get a list of configured webhooks for a specified GitHub organization. Useful for checking webhook integrations and statuses." }, "return_annotation": "A list of webhooks for the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The GitHub organization name. This parameter is case insensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_items_page"], "description": "The number of webhook results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "The specific page number of results to retrieve from the list of organization webhooks.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/hooks", "tags": ["orgs"], "summary": "List organization webhooks", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/create-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_org_webhook", "description": { "tagline": "Create a webhook for a GitHub organization.", "detailed": "This tool is used to set up a webhook for a GitHub organization to post payloads in JSON format. Call this tool when you need to automate notifications or integrate with other services based on GitHub events." }, "return_annotation": "Confirmation of webhook creation for a GitHub organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org_name"], "description": "The name of the GitHub organization. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_settings", "alternative_names": ["webhook_configuration", "webhook_parameters"], "description": "JSON configuration for the webhook, including active status, events, and delivery URL. Defines settings like content type and security measures.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/orgs/{org}/hooks", "tags": ["orgs"], "summary": "Create an organization webhook", "description": "Here's how you can create a hook that posts payloads in JSON format:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "active": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "config": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "password": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." }, "username": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#create-hook-config-params)." }, "events": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for. Set to `[\"*\"]` to receive all possible events." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Must be passed as \"web\"." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "config": { "type": "object", "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#create-hook-config-params).", "properties": { "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "password": { "type": "string", "example": "\"password\"" }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" }, "username": { "type": "string", "example": "\"kdaigle\"" } }, "required": ["url"] }, "events": { "type": "array", "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for. Set to `[\"*\"]` to receive all possible events.", "items": { "type": "string" } }, "name": { "type": "string", "description": "Must be passed as \"web\"." } }, "required": ["name", "config"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"active\": true,\n \"config\": {\n \"content_type\": \"json\",\n \"url\": \"http://example.com/webhook\"\n },\n \"events\": [\n \"push\",\n \"pull_request\"\n ],\n \"name\": \"web\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"default\": true,\n \"description\": \"Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\",\n \"type\": \"boolean\"\n },\n \"config\": {\n \"description\": \"Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#create-hook-config-params).\",\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"password\": {\n \"example\": \"\\\"password\\\"\",\n \"type\": \"string\"\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n },\n \"username\": {\n \"example\": \"\\\"kdaigle\\\"\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"events\": {\n \"default\": [\n \"push\"\n ],\n \"description\": \"Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for. Set to `[\\\"*\\\"]` to receive all possible events.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"description\": \"Must be passed as \\\"web\\\".\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"config\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "orgs/delete-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_org_webhook", "description": { "tagline": "Delete a webhook from a GitHub organization.", "detailed": "Use this tool to delete a specific webhook from a GitHub organization by specifying the organization and webhook ID." }, "return_annotation": "Confirmation of webhook deletion for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization. It is case insensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_identifier", "alternative_names": ["hook_id_number", "webhook_id"], "description": "The unique identifier of the webhook to be deleted. It should be provided as an integer.", "endpoint_argument_name": "hook_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/hooks/{hook_id}", "tags": ["orgs"], "summary": "Delete an organization webhook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/get-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_webhook_details", "description": { "tagline": "Retrieve details of a specific organization webhook.", "detailed": "Use this tool to obtain detailed information about a webhook configured in a GitHub organization, including its properties and settings." }, "return_annotation": "Details of a specified organization webhook.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the GitHub organization, not case sensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_id", "alternative_names": ["hook_identifier", "webhook_unique_id"], "description": "The unique identifier for the organization's webhook. This is an integer value used to specify which webhook details to retrieve.", "endpoint_argument_name": "hook_id" } ] }, "method": "GET", "path": "/orgs/{org}/hooks/{hook_id}", "tags": ["orgs"], "summary": "Get an organization webhook", "description": "Returns a webhook configured in an organization. To get only the webhook `config` properties, see \"[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/update-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_org_webhook", "description": { "tagline": "Update a webhook configured in a GitHub organization.", "detailed": "Use this tool to update a webhook in a GitHub organization. When updating, ensure to provide the current or new secret if one was previously set to avoid its removal." }, "return_annotation": "Information about the updated GitHub organization webhook.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization; not case sensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_identifier", "alternative_names": ["webhook_id", "hook_unique_identifier"], "description": "The unique identifier of the webhook to be updated.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_configuration", "alternative_names": ["webhook_update_config", "webhook_settings_payload"], "description": "JSON object containing webhook settings, including 'active' status, configuration details, and the events that trigger the webhook. Specify 'config' for content type, URL, secret, and SSL settings; 'active' to enable/disable notifications; and 'events' for triggering criteria.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/orgs/{org}/hooks/{hook_id}", "tags": ["orgs"], "summary": "Update an organization webhook", "description": "Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "active": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "config": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." } }, "inner_properties": null, "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#update-hook-config-params)." }, "events": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "config": { "type": "object", "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#update-hook-config-params).", "properties": { "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" } }, "required": ["url"] }, "events": { "type": "array", "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for.", "items": { "type": "string" } }, "name": { "type": "string", "example": "\"web\"" } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"active\": true,\n \"events\": [\n \"pull_request\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"default\": true,\n \"description\": \"Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\",\n \"type\": \"boolean\"\n },\n \"config\": {\n \"description\": \"Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#update-hook-config-params).\",\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"events\": {\n \"default\": [\n \"push\"\n ],\n \"description\": \"Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"example\": \"\\\"web\\\"\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "orgs/get-webhook-config-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_webhook_configuration", "description": { "tagline": "Retrieve webhook configuration for a GitHub organization.", "detailed": "Call this tool to get the webhook configuration for a specified organization on GitHub. Useful for checking the webhook's setup details. Requires appropriate access tokens or GitHub App permissions." }, "return_annotation": "Webhook configuration details for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The non-case-sensitive name of the GitHub organization.", "endpoint_argument_name": "org" }, { "name": "webhook_hook_id", "alternative_names": ["webhook_identifier", "hook_unique_id"], "description": "The unique identifier of the organization's webhook, provided as an integer.", "endpoint_argument_name": "hook_id" } ] }, "method": "GET", "path": "/orgs/{org}/hooks/{hook_id}/config", "tags": ["orgs"], "summary": "Get a webhook configuration for an organization", "description": "Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use \"[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook).\"\n\nAccess tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/update-webhook-config-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_org_webhook_config", "description": { "tagline": "Update webhook configuration for a GitHub organization.", "detailed": "This tool updates the webhook configuration for a specific organization on GitHub. It should be called when you need to modify the webhook's settings, excluding \"active\" state and events. Requires `admin:org_hook` scope for tokens or `organization_hooks:write` permission for GitHub Apps." }, "return_annotation": "Confirmation of the webhook configuration update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization to update. Case insensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_identifier", "alternative_names": ["hook_unique_id", "webhook_id"], "description": "The unique identifier of the webhook to be updated.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_config", "alternative_names": ["webhook_settings", "webhook_parameters"], "description": "A JSON object specifying the webhook's configuration details, including 'content_type', 'insecure_ssl', 'secret', and 'url'.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/orgs/{org}/hooks/{hook_id}/config", "tags": ["orgs"], "summary": "Update a webhook configuration for an organization", "description": "Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use \"[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook).\"\n\nAccess tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Update an existing webhook\",\n \"value\": {\n \"content_type\": \"json\",\n \"insecure_ssl\": \"0\",\n \"secret\": \"********\",\n \"url\": \"http://example.com/webhook\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "orgs/list-webhook-deliveries", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_webhook_event_deliveries", "description": { "tagline": "Retrieve webhook deliveries for an organization.", "detailed": "Call this tool to get a list of webhook deliveries for a specific webhook configured in a GitHub organization. It is useful for monitoring and debugging webhook events." }, "return_annotation": "A list of webhook deliveries for the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_hook_id", "alternative_names": ["webhook_id", "hook_identifier"], "description": "The unique identifier of the webhook in the organization.", "endpoint_argument_name": "hook_id" }, { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "page_results_limit"], "description": "Specifies the number of webhook deliveries to be returned per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "pagination_start_cursor", "alternative_names": ["starting_cursor", "initial_cursor"], "description": "A cursor to indicate the starting delivery for fetching the page of deliveries. Useful for pagination purposes.", "endpoint_argument_name": "cursor" }, { "name": "include_redeliveries", "alternative_names": ["show_resend_deliveries", "list_redelivered_events"], "description": "Indicate whether to include repeated webhook deliveries in the results. Set to true to include.", "endpoint_argument_name": "redelivery" } ] }, "method": "GET", "path": "/orgs/{org}/hooks/{hook_id}/deliveries", "tags": ["orgs"], "summary": "List deliveries for an organization webhook", "description": "Returns a list of webhook deliveries for a webhook configured in an organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "cursor", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors." }, "description": "Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "redelivery", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/get-webhook-delivery", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_webhook_delivery", "description": { "tagline": "Retrieve a webhook delivery for a GitHub organization.", "detailed": "This tool is used to obtain details about a specific delivery of a webhook configured in a GitHub organization. It provides information about the delivery for a given organization, hook, and delivery identifier." }, "return_annotation": "Details of a specific webhook delivery for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "hook_identifier", "alternative_names": ["webhook_id", "hook_number"], "description": "The unique identifier of the webhook hook. This is an integer value used to specify which webhook's delivery details to retrieve for the organization.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_delivery_id", "alternative_names": ["delivery_identifier", "webhook_delivery_identifier"], "description": "The unique identifier of the specific delivery to be retrieved. This should be an integer.", "endpoint_argument_name": "delivery_id" } ] }, "method": "GET", "path": "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "tags": ["orgs"], "summary": "Get a webhook delivery for an organization webhook", "description": "Returns a delivery for a webhook configured in an organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "delivery_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/redeliver-webhook-delivery", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "redeliver_webhook_delivery", "description": { "tagline": "Redeliver an organization's webhook delivery attempt.", "detailed": "Use this tool to redeliver a delivery for a webhook configured in an organization. It is useful when a webhook delivery initially failed or needs to be tested again." }, "return_annotation": "Confirmation of webhook delivery redelivery attempt.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_hook_id", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique identifier of the webhook hook. Provide an integer value.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_delivery_id", "alternative_names": ["delivery_identifier", "webhook_delivery_identifier"], "description": "The unique identifier of the webhook delivery to be redelivered.", "endpoint_argument_name": "delivery_id" } ] }, "method": "POST", "path": "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "tags": ["orgs"], "summary": "Redeliver a delivery for an organization webhook", "description": "Redeliver a delivery for a webhook configured in an organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "delivery_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/ping-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "send_github_hook_ping", "description": { "tagline": "Triggers a ping event on a GitHub organization webhook.", "detailed": "Use this tool to send a ping event to a specified webhook in a GitHub organization. This can be used to verify the connection or test the webhook's configuration." }, "return_annotation": "Confirmation of the ping event sent to the webhook.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_identifier", "github_org_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "webhook_hook_id", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique integer ID of the GitHub organization webhook to ping.", "endpoint_argument_name": "hook_id" } ] }, "method": "POST", "path": "/orgs/{org}/hooks/{hook_id}/pings", "tags": ["orgs"], "summary": "Ping an organization webhook", "description": "This will trigger a [ping event](https://docs.github.com/enterprise-server@3.8/webhooks/#ping-event) to be sent to the hook.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/get-org-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_org_installation_info", "description": { "tagline": "Retrieve GitHub organization's installation information.", "detailed": "Use this tool to find installation details for an organization using an authenticated GitHub App. It requires a JWT for access." }, "return_annotation": "Information about the GitHub organization's installation.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. It is not case-sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/installation", "tags": ["apps"], "summary": "Get an organization installation for the authenticated app", "description": "Enables an authenticated GitHub App to find the organization's installation information.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-app-installations", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "organization_app_installations", "description": { "tagline": "Retrieve GitHub App installations for an organization.", "detailed": "Use this tool to list all GitHub Apps installed within a specified organization. Requires organization owner status with `admin:read` scope." }, "return_annotation": "List of GitHub App installations for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of GitHub App installations to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["results_page_number", "pagination_page_number"], "description": "Page number of the results to fetch. Used for pagination in retrieving GitHub App installations.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/installations", "tags": ["orgs"], "summary": "List app installations for an organization", "description": "Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_issues_for_user", "description": { "tagline": "Retrieve issues and pull requests for a user in an organization.", "detailed": "Call this tool to list all issues and pull requests assigned to the authenticated user within a specific organization on GitHub. This tool returns both issues and pull requests, identifiable by the `pull_request` key. It is useful for tracking user-specific tasks within an organization." }, "return_annotation": "List of issues and pull requests assigned to the user.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "issue_filter", "alternative_names": ["issue_type_filter", "assigned_filter"], "description": "Specifies the type of issues to return: 'assigned', 'created', 'mentioned', 'subscribed', 'all', or 'repos'.", "endpoint_argument_name": "filter" }, { "name": "issues_state", "alternative_names": ["issue_status", "filter_by_state"], "description": "Specify the state of issues to return: 'open', 'closed', or 'all'.", "endpoint_argument_name": "state" }, { "name": "issue_labels", "alternative_names": ["labels_list", "issue_tags"], "description": "Comma-separated list of label names to filter issues. Example: `bug,ui,@high`.", "endpoint_argument_name": "labels" }, { "name": "sort_criteria", "alternative_names": ["sorting_order", "arrange_by"], "description": "Defines the attribute to sort the issues by. Options are 'created', 'updated', or 'comments'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["result_sort_direction", "order_by_direction"], "description": "The direction to sort the results by. Accepted values are 'asc' for ascending and 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "updated_since", "alternative_names": ["since_timestamp", "notifications_since"], "description": "Filter to show notifications updated after this timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["results_limit_per_page", "page_size"], "description": "The number of results to display per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "page_number"], "description": "Page number of results to fetch, used for pagination. Starts from 1.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/issues", "tags": ["issues"], "summary": "List organization issues assigned to the authenticated user", "description": "List issues in an organization assigned to the authenticated user.\n\n**Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#list-pull-requests)\" endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["assigned", "created", "mentioned", "subscribed", "repos", "all"], "properties": null, "inner_properties": null, "description": "Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation." }, "description": "Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation.", "required": false, "deprecated": false, "default": "assigned", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["assigned", "created", "mentioned", "subscribed", "repos", "all"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the issues to return." }, "description": "Indicates the state of the issues to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "labels", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A list of comma separated label names. Example: `bug,ui,@high`" }, "description": "A list of comma separated label names. Example: `bug,ui,@high`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "comments"], "properties": null, "inner_properties": null, "description": "What to sort results by." }, "description": "What to sort results by.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "comments"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-members", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_members", "description": { "tagline": "Retrieve members of a GitHub organization.", "detailed": "Use this tool to list all users who are members of a specified GitHub organization, including both concealed and public members if authenticated." }, "return_annotation": "A list of users who are members of the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization to list members from. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "filter_members", "alternative_names": ["member_filter", "membership_filter"], "description": "Filter the list of members. Use '2fa_disabled' to list members without two-factor authentication.", "endpoint_argument_name": "filter" }, { "name": "member_role_filter", "alternative_names": ["role_filter", "organization_role_filter"], "description": "Filter members by their role in the organization ('all', 'admin', 'member').", "endpoint_argument_name": "role" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "page_index"], "description": "Page number of the results to fetch. Use this to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/members", "tags": ["orgs"], "summary": "List organization members", "description": "List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["2fa_disabled", "all"], "properties": null, "inner_properties": null, "description": "Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners." }, "description": "Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["2fa_disabled", "all"] }, "schema_required": false }, { "name": "role", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "admin", "member"], "properties": null, "inner_properties": null, "description": "Filter members returned by their role." }, "description": "Filter members returned by their role.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "admin", "member"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/remove-member", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_organization_member", "description": { "tagline": "Remove a user from an organization's access list.", "detailed": "Use this tool to remove a user from all teams in a GitHub organization, revoking their access to the organization's repositories. Call this when you need to manage access permissions for organization members." }, "return_annotation": "Removes a user from all teams and repositories in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["github_account_name", "github_username"], "description": "The GitHub user's handle to be removed from the organization.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/orgs/{org}/members/{username}", "tags": ["orgs"], "summary": "Remove an organization member", "description": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/check-membership-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_user_membership_in_org", "description": { "tagline": "Checks if a user is a member of a GitHub organization.", "detailed": "This tool determines whether a specified user is a member of a specified GitHub organization, either publicly or privately. Use this tool to verify membership status in organizational repositories or workflows." }, "return_annotation": "Indicates if the user is a member of the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The case-insensitive name of the GitHub organization to check membership against.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["github_username", "user_git_handle"], "description": "The username or handle for the GitHub user account being checked for organization membership.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/orgs/{org}/members/{username}", "tags": ["orgs"], "summary": "Check organization membership for a user", "description": "Check if a user is, publicly or privately, a member of the organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/remove-membership-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_org_member", "description": { "tagline": "Remove a user's membership from a GitHub organization.", "detailed": "Invoke this tool to remove a user from an organization's membership on GitHub. If the user is a member, they'll be removed; if invited, the invitation will be canceled. The user will be notified via email." }, "return_annotation": "Confirmation of user's membership removal from organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The case-insensitive name of the GitHub organization.", "endpoint_argument_name": "org" }, { "name": "github_username", "alternative_names": ["user_handle", "member_handle"], "description": "The GitHub username to remove from the organization; it is not case-sensitive.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/orgs/{org}/memberships/{username}", "tags": ["orgs"], "summary": "Remove organization membership for a user", "description": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.\n\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/get-membership-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_org_membership_status", "description": { "tagline": "Get a user's membership status in an organization.", "detailed": "Call this tool to retrieve the membership status of a user within a specified GitHub organization. Requires the authenticated user to be an organization member." }, "return_annotation": "User's membership status within the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["gh_username", "github_user_account"], "description": "The handle for the GitHub user account to check membership status.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/orgs/{org}/memberships/{username}", "tags": ["orgs"], "summary": "Get organization membership for a user", "description": "In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/set-membership-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_org_membership", "description": { "tagline": "Manage user membership for a GitHub organization.", "detailed": "This tool allows authenticated organization owners on GitHub to add members to an organization or update their roles. It sends invitations to new members or modifies the roles of existing ones. Use this tool to manage user roles, either by inviting them or updating their status within the organization." }, "return_annotation": "Status of the organization's membership update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["user_github_handle", "github_username"], "description": "The handle for the GitHub user account to be added or updated in the organization.", "endpoint_argument_name": "username" }, { "name": "user_role_in_organization", "alternative_names": ["organization_user_role", "member_role_in_org"], "description": "Specify the user's role in the organization. Options are 'admin' for organization owner, or 'member' for non-owner.", "endpoint_argument_name": "role" } ] }, "method": "PUT", "path": "/orgs/{org}/memberships/{username}", "tags": ["orgs"], "summary": "Set organization membership for a user", "description": "Only authenticated organization owners can add a member to the organization or update the member's role.\n\n* If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation.\n \n* Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent.\n\n**Rate limits**\n\nTo prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "role", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["admin", "member"], "properties": null, "inner_properties": null, "description": "The role to give the user in the organization. Can be one of: \n * `admin` - The user will become an owner of the organization. \n * `member` - The user will become a non-owner member of the organization." }, "description": "The role to give the user in the organization. Can be one of: \n * `admin` - The user will become an owner of the organization. \n * `member` - The user will become a non-owner member of the organization.", "required": false, "deprecated": false, "default": "member", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The role to give the user in the organization. Can be one of: \n * `admin` - The user will become an owner of the organization. \n * `member` - The user will become a non-owner member of the organization.", "enum": ["admin", "member"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Set an organization membership role for a user\",\n \"value\": {\n \"role\": \"member\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"role\": {\n \"default\": \"member\",\n \"description\": \"The role to give the user in the organization. Can be one of: \\n * `admin` - The user will become an owner of the organization. \\n * `member` - The user will become a non-owner member of the organization.\",\n \"enum\": [\n \"admin\",\n \"member\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "migrations/list-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_recent_github_migrations", "description": { "tagline": "Retrieve the latest GitHub migrations for an organization.", "detailed": "Use this tool to list recent migrations for a specified GitHub organization, including export and import activities. The list includes `repositories` only for export migrations." }, "return_annotation": "Details of recent export and import migrations for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The GitHub organization name. This value is not case sensitive. Use to specify which organization's migrations to list.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, with a maximum value of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "results_page"], "description": "Page number to fetch specific results from the list of migrations.", "endpoint_argument_name": "page" }, { "name": "exclude_attributes", "alternative_names": ["omit_fields", "skip_response_attributes"], "description": "A list of attributes to exclude from the API response to enhance performance.", "endpoint_argument_name": "exclude" } ] }, "method": "GET", "path": "/orgs/{org}/migrations", "tags": ["migrations"], "summary": "List organization migrations", "description": "Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API).\n\nA list of `repositories` is only returned for export migrations.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "exclude", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Exclude attributes from the API response to improve performance" }, "description": "Exclude attributes from the API response to improve performance", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "array", "items": { "type": "string", "description": "Allowed values that can be passed to the exclude param.", "enum": ["repositories"], "example": "repositories" } }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/start-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "start_org_migration", "description": { "tagline": "Initiates a migration archive for a GitHub organization.", "detailed": "Use this tool to start the process of generating a migration archive for a specified GitHub organization. This is useful for moving or backing up repositories and data from an organization." }, "return_annotation": "Confirmation of migration archive initiation.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization. The name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repositories_to_migrate", "alternative_names": ["repos_list_for_migration", "selected_repositories"], "description": "A list of repository names to be included in the migration process.", "endpoint_argument_name": "repositories" }, { "name": "exclude_items", "alternative_names": ["omit_items", "ignore_resources"], "description": "Specify related items to exclude from the response for performance optimization, e.g., [\"repositories\"].", "endpoint_argument_name": "exclude" }, { "name": "exclude_attachments", "alternative_names": ["omit_attachments", "skip_attachments"], "description": "Set to true to exclude attachments from the migration, reducing archive file size.", "endpoint_argument_name": "exclude_attachments" }, { "name": "exclude_git_data", "alternative_names": ["omit_git_data", "exclude_repository_git"], "description": "Set to true to exclude repository git data from the migration, reducing archive size. Useful for metadata-only migrations.", "endpoint_argument_name": "exclude_git_data" }, { "name": "exclude_metadata", "alternative_names": ["omit_metadata", "skip_metadata_inclusion"], "description": "Set to true to exclude metadata, including only git source. Useful for reducing file complexity.", "endpoint_argument_name": "exclude_metadata" }, { "name": "exclude_owner_projects", "alternative_names": ["omit_owner_projects", "skip_owner_projects"], "description": "Indicate whether projects owned by the organization or users should be excluded from the migration.", "endpoint_argument_name": "exclude_owner_projects" }, { "name": "exclude_releases", "alternative_names": ["omit_releases", "skip_releases"], "description": "Set to true to exclude releases from the migration archive, reducing file size.", "endpoint_argument_name": "exclude_releases" }, { "name": "lock_repositories", "alternative_names": ["lock_org_repositories", "lock_repos_while_migrating"], "description": "Set to true to lock repositories during migration, preventing changes.", "endpoint_argument_name": "lock_repositories" }, { "name": "only_include_org_metadata", "alternative_names": ["org_metadata_only", "org_metadata_exclusive"], "description": "Specify whether only organization metadata is included, keeping the repositories array empty and ignoring other flags.", "endpoint_argument_name": "org_metadata_only" } ] }, "method": "POST", "path": "/orgs/{org}/migrations", "tags": ["migrations"], "summary": "Start an organization migration", "description": "Initiates the generation of a migration archive.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "exclude", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `\"repositories\"`." }, "description": "Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `\"repositories\"`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `\"repositories\"`.", "items": { "type": "string", "enum": ["repositories"] } }, "schema_required": false }, { "name": "exclude_attachments", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size)." }, "description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).", "example": true }, "schema_required": false }, { "name": "exclude_git_data", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether the repository git data should be excluded from the migration." }, "description": "Indicates whether the repository git data should be excluded from the migration.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether the repository git data should be excluded from the migration." }, "schema_required": false }, { "name": "exclude_metadata", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether metadata should be excluded and only git source should be included for the migration." }, "description": "Indicates whether metadata should be excluded and only git source should be included for the migration.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether metadata should be excluded and only git source should be included for the migration." }, "schema_required": false }, { "name": "exclude_owner_projects", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether projects owned by the organization or users should be excluded. from the migration." }, "description": "Indicates whether projects owned by the organization or users should be excluded. from the migration.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether projects owned by the organization or users should be excluded. from the migration.", "example": true }, "schema_required": false }, { "name": "exclude_releases", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether releases should be excluded from the migration (to reduce migration archive file size)." }, "description": "Indicates whether releases should be excluded from the migration (to reduce migration archive file size).", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether releases should be excluded from the migration (to reduce migration archive file size).", "example": true }, "schema_required": false }, { "name": "lock_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data." }, "description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data.", "example": true }, "schema_required": false }, { "name": "org_metadata_only", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags)." }, "description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).", "example": true }, "schema_required": false }, { "name": "repositories", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "A list of arrays indicating which repositories should be migrated." }, "description": "A list of arrays indicating which repositories should be migrated.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "A list of arrays indicating which repositories should be migrated.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"lock_repositories\": true,\n \"repositories\": [\n \"github/Hello-World\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"exclude\": {\n \"description\": \"Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `\\\"repositories\\\"`.\",\n \"items\": {\n \"enum\": [\n \"repositories\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"exclude_attachments\": {\n \"default\": false,\n \"description\": \"Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"exclude_git_data\": {\n \"default\": false,\n \"description\": \"Indicates whether the repository git data should be excluded from the migration.\",\n \"type\": \"boolean\"\n },\n \"exclude_metadata\": {\n \"default\": false,\n \"description\": \"Indicates whether metadata should be excluded and only git source should be included for the migration.\",\n \"type\": \"boolean\"\n },\n \"exclude_owner_projects\": {\n \"default\": false,\n \"description\": \"Indicates whether projects owned by the organization or users should be excluded. from the migration.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"exclude_releases\": {\n \"default\": false,\n \"description\": \"Indicates whether releases should be excluded from the migration (to reduce migration archive file size).\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"lock_repositories\": {\n \"default\": false,\n \"description\": \"Indicates whether repositories should be locked (to prevent manipulation) while migrating data.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"org_metadata_only\": {\n \"default\": false,\n \"description\": \"Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"repositories\": {\n \"description\": \"A list of arrays indicating which repositories should be migrated.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"repositories\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "migrations/get-status-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_org_migration_status", "description": { "tagline": "Fetches the status of an organization's migration.", "detailed": "This tool retrieves the current status of a specific migration for an organization on GitHub. The migration status can be 'pending', 'exporting', 'exported', or 'failed'. Use this tool to monitor migration progress or verify completion." }, "return_annotation": "The current status of the organization's migration.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization, not case sensitive, for which to fetch migration status.", "endpoint_argument_name": "org" }, { "name": "migration_id", "alternative_names": ["migration_identifier", "migration_unique_id"], "description": "The unique identifier of the migration. Expected as an integer.", "endpoint_argument_name": "migration_id" }, { "name": "exclude_attributes", "alternative_names": ["attributes_to_exclude", "response_attributes_exclusion"], "description": "List of attribute names to exclude from the API response for improved performance.", "endpoint_argument_name": "exclude" } ] }, "method": "GET", "path": "/orgs/{org}/migrations/{migration_id}", "tags": ["migrations"], "summary": "Get an organization migration status", "description": "Fetches the status of a migration.\n\nThe `state` of a migration can be one of the following values:\n\n* `pending`, which means the migration hasn't started yet.\n* `exporting`, which means the migration is in progress.\n* `exported`, which means the migration finished successfully.\n* `failed`, which means the migration failed.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "exclude", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Exclude attributes from the API response to improve performance" }, "description": "Exclude attributes from the API response to improve performance", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "array", "items": { "type": "string", "description": "Allowed values that can be passed to the exclude param.", "enum": ["repositories"], "example": "repositories" } }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/delete-archive-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_org_migration_archive", "description": { "tagline": "Delete a previous GitHub organization migration archive.", "detailed": "Use this tool to delete a migration archive for a GitHub organization. Migration archives are automatically deleted after seven days, but you might need to delete them sooner for organizational purposes." }, "return_annotation": "Confirmation of deletion of the migration archive.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. The name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "migration_identifier", "alternative_names": ["migration_id_number", "unique_migration_id"], "description": "The unique identifier of the migration archive to delete.", "endpoint_argument_name": "migration_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/migrations/{migration_id}/archive", "tags": ["migrations"], "summary": "Delete an organization migration archive", "description": "Deletes a previous migration archive. Migration archives are automatically deleted after seven days.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/download-archive-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_org_migration_archive_url", "description": { "tagline": "Fetches the URL to download an organization's migration archive.", "detailed": "Use this tool to obtain the URL for downloading an archive of a migration for a specific organization on GitHub." }, "return_annotation": "URL of the migration archive for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the organization. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "migration_identifier", "alternative_names": ["unique_migration_id", "migrationId"], "description": "The unique identifier for the specific migration. This should be an integer value.", "endpoint_argument_name": "migration_id" } ] }, "method": "GET", "path": "/orgs/{org}/migrations/{migration_id}/archive", "tags": ["migrations"], "summary": "Download an organization migration archive", "description": "Fetches the URL to a migration archive.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/unlock-repo-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unlock_github_repo_for_org_migration", "description": { "tagline": "Unlock a locked repository after migration for an organization.", "detailed": "Use this tool to unlock a repository that was locked for a migration within an organization on GitHub. This is necessary after completing a migration to access the repository again. Once unlocked, consider deleting the repository if you no longer need the source data." }, "return_annotation": "Confirmation of repository unlock for migration.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name, which is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "migration_unique_identifier", "alternative_names": ["migration_id_number", "migration_identifier"], "description": "The unique identifier for the migration process.", "endpoint_argument_name": "migration_id" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository to be unlocked. This is required and should match the exact repository name used during the migration. Case sensitivity does not matter.", "endpoint_argument_name": "repo_name" } ] }, "method": "DELETE", "path": "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "tags": ["migrations"], "summary": "Unlock an organization repository", "description": "Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/enterprise-server@3.8/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repo_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "repo_name parameter" }, "description": "repo_name parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/list-repos-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repos_for_org_migration", "description": { "tagline": "List all repositories for an organization's migration.", "detailed": "Use this tool to retrieve a list of all repositories associated with a specific organization migration on GitHub. It's useful for tracking migration progress or fetching details about repositories being moved." }, "return_annotation": "List of repositories involved in the organization migration.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization. This name is not case sensitive and identifies the GitHub organization for which the migration repositories will be listed.", "endpoint_argument_name": "org" }, { "name": "migration_unique_identifier", "alternative_names": ["migration_id_number", "migration_identifier"], "description": "The unique identifier for the organization migration in GitHub.", "endpoint_argument_name": "migration_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_items_per_page"], "description": "Number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/migrations/{migration_id}/repositories", "tags": ["migrations"], "summary": "List repositories in an organization migration", "description": "List all the repositories for this organization migration.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-outside-collaborators", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_outside_collaborators", "description": { "tagline": "Retrieve outside collaborators for a GitHub organization.", "detailed": "Use this tool to fetch a list of users who are outside collaborators for a specified GitHub organization." }, "return_annotation": "List of users who are outside collaborators of the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org_name"], "description": "The GitHub organization name, not case sensitive.", "endpoint_argument_name": "org" }, { "name": "filter_outside_collaborators", "alternative_names": ["outside_collaborators_filter", "collaborators_filter_option"], "description": "Specify '2fa_disabled' to filter for collaborators without two-factor authentication, or 'all' for all collaborators.", "endpoint_argument_name": "filter" }, { "name": "results_per_page", "alternative_names": ["number_of_results", "page_size"], "description": "Specify the number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specify the page number to fetch results from the list of outside collaborators.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/outside_collaborators", "tags": ["orgs"], "summary": "List outside collaborators for an organization", "description": "List all users who are outside collaborators of an organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["2fa_disabled", "all"], "properties": null, "inner_properties": null, "description": "Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned." }, "description": "Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["2fa_disabled", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/remove-outside-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_org_outside_collaborator", "description": { "tagline": "Remove a user from all organization repositories.", "detailed": "Use this tool to remove a user from all repositories in a specified organization by removing them from the outside collaborators list." }, "return_annotation": "Confirmation of collaborator removal from organization repositories.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization from which to remove the user. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["user_github_handle", "github_username"], "description": "The GitHub user account handle to remove from the organization's repositories.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/orgs/{org}/outside_collaborators/{username}", "tags": ["orgs"], "summary": "Remove outside collaborator from an organization", "description": "Removing a user from this list will remove them from all the organization's repositories.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/convert-member-to-outside-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "convert_member_to_outside_collaborator", "description": { "tagline": "Convert GitHub org member to outside collaborator.", "detailed": "Use this tool to convert an organization member into an outside collaborator on GitHub. The member will lose their organization membership and retain access only to repositories allowed by their team memberships. This action might be restricted by enterprise policies." }, "return_annotation": "Confirmation of conversion from member to collaborator.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The GitHub user handle to be converted to an outside collaborator.", "endpoint_argument_name": "username" }, { "name": "perform_asynchronously", "alternative_names": ["async_request", "queue_job"], "description": "Set to true to perform the request asynchronously, queuing the job with a 202 status code.", "endpoint_argument_name": "async" } ] }, "method": "PUT", "path": "/orgs/{org}/outside_collaborators/{username}", "tags": ["orgs"], "summary": "Convert an organization member to outside collaborator", "description": "When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see \"[Converting an organization member to an outside collaborator](https://docs.github.com/enterprise-server@3.8/articles/converting-an-organization-member-to-an-outside-collaborator/)\". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see \"[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-server@3.8/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "async", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued." }, "description": "When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"202\": {\n \"summary\": \"Status code 202, asynchronous request\",\n \"value\": {\n \"async\": true\n }\n },\n \"204\": {\n \"summary\": \"Status code 204, synchronous request\",\n \"value\": null\n }\n },\n \"schema\": {\n \"properties\": {\n \"async\": {\n \"default\": false,\n \"description\": \"When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-pre-receive-hooks-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_pre_receive_hooks", "description": { "tagline": "Retrieve pre-receive hooks for a GitHub organization.", "detailed": "Use this tool to list all pre-receive hooks that are enabled, testing, or configurable at an organization level in GitHub. It excludes globally disabled hooks with no downstream configuration options." }, "return_annotation": "Returns pre-receive hooks for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization. It is not case-sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "The number of results to return per page. The maximum allowed is 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["pagination_page", "result_page_number"], "description": "Page number of the results to fetch. Use this to navigate through paginated results.", "endpoint_argument_name": "page" }, { "name": "sort_direction", "alternative_names": ["results_sorting_direction", "pre_receive_hooks_sort_direction"], "description": "The direction to sort the results by. Accepts 'asc' or 'desc'.", "endpoint_argument_name": "direction" }, { "name": "sort_order", "alternative_names": ["order_by", "sorting_order"], "description": "Specify the sort order for the response: options are 'created', 'updated', or 'name'.", "endpoint_argument_name": "sort" } ] }, "method": "GET", "path": "/orgs/{org}/pre-receive-hooks", "tags": ["enterprise-admin"], "summary": "List pre-receive hooks for an organization", "description": "List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "name"], "properties": null, "inner_properties": null, "description": "The sort order for the response collection." }, "description": "The sort order for the response collection.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "name"] }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/remove-pre-receive-hook-enforcement-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_org_pre_receive_hook", "description": { "tagline": "Removes pre-receive hook enforcement overrides for an organization.", "detailed": "Use this tool to remove any pre-receive hook enforcement overrides at the organization level. This action is applicable when you need to revert to the default hook settings set at a higher level than the organization." }, "return_annotation": "Confirmation of hook override removal for the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the organization where the pre-receive hook enforcement override will be removed. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "pre_receive_hook_id", "alternative_names": ["hook_id", "unique_pre_receive_identifier"], "description": "The unique identifier for the pre-receive hook to be removed.", "endpoint_argument_name": "pre_receive_hook_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Remove pre-receive hook enforcement for an organization", "description": "Removes any overrides for this hook at the org level for this org.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-pre-receive-hook-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_pre_receive_hook", "description": { "tagline": "Retrieve a pre-receive hook for an organization.", "detailed": "Fetches details of a specific pre-receive hook associated with a GitHub organization using the organization's name and the hook ID." }, "return_annotation": "Details about a pre-receive hook for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization; case insensitive.", "endpoint_argument_name": "org" }, { "name": "pre_receive_hook_unique_id", "alternative_names": ["pre_receive_hook_identifier", "hook_id"], "description": "The unique identifier of the pre-receive hook. Must be an integer.", "endpoint_argument_name": "pre_receive_hook_id" } ] }, "method": "GET", "path": "/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Get a pre-receive hook for an organization", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-pre-receive-hook-enforcement-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_pre_receive_hook_enforcement", "description": { "tagline": "Update pre-receive hook enforcement for a GitHub organization.", "detailed": "This tool updates the enforcement settings and downstream configuration for pre-receive hooks at the organization level on GitHub. Call this tool to modify enforcement and downstream configuration for a specific pre-receive hook within an organization." }, "return_annotation": "Confirmation of updated pre-receive hook settings for org.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the GitHub organization. It's not case sensitive.", "endpoint_argument_name": "org" }, { "name": "pre_receive_hook_id", "alternative_names": ["hook_identifier", "hook_id"], "description": "The unique identifier of the pre-receive hook to be updated.", "endpoint_argument_name": "pre_receive_hook_id" }, { "name": "enforcement_state", "alternative_names": ["enforcement_status", "enforcement_setting"], "description": "Specify the state of enforcement for the hook on this repository. Possible values may include 'enabled', 'disabled', etc.", "endpoint_argument_name": "enforcement" }, { "name": "allow_downstream_configuration", "alternative_names": ["can_override_enforcement", "repositories_can_override"], "description": "Boolean indicating whether repositories can override the enforcement settings of the pre-receive hook.", "endpoint_argument_name": "allow_downstream_configuration" } ] }, "method": "PATCH", "path": "/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Update pre-receive hook enforcement for an organization", "description": "For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration`", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allow_downstream_configuration", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether repositories can override enforcement." }, "description": "Whether repositories can override enforcement.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether repositories can override enforcement." }, "schema_required": false }, { "name": "enforcement", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The state of enforcement for the hook on this repository." }, "description": "The state of enforcement for the hook on this repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of enforcement for the hook on this repository." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allow_downstream_configuration\": false,\n \"enforcement\": \"enabled\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_downstream_configuration\": {\n \"description\": \"Whether repositories can override enforcement.\",\n \"type\": \"boolean\"\n },\n \"enforcement\": {\n \"description\": \"The state of enforcement for the hook on this repository.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/list-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_projects", "description": { "tagline": "Retrieve a list of projects for a given organization on GitHub.", "detailed": "Use this tool to obtain a list of projects within a specified GitHub organization. It returns an error if projects are disabled or if access is unauthorized." }, "return_annotation": "The list of projects in the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The case-insensitive name of the GitHub organization for which to list projects.", "endpoint_argument_name": "org" }, { "name": "project_state", "alternative_names": ["projects_state", "state_of_projects"], "description": "Specifies the state of projects to return: 'open', 'closed', or 'all'.", "endpoint_argument_name": "state" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "The number of project results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "page_index"], "description": "Specifies the page number of the results to fetch for organization projects.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/projects", "tags": ["projects"], "summary": "List organization projects", "description": "Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the projects to return." }, "description": "Indicates the state of the projects to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/create-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_org_project_github", "description": { "tagline": "Create a project board for a GitHub organization.", "detailed": "This tool creates a project board within a specified GitHub organization. It should be called when you need to set up a new project board for organizational tasks. It returns details about the created project or errors if projects are disabled, insufficient privileges are available, or the organization lacks classic projects." }, "return_annotation": "Details about the created organization project or error status.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. Not case sensitive.", "endpoint_argument_name": "org" }, { "name": "project_name", "alternative_names": ["board_name", "title"], "description": "The name of the project board to be created. It will serve as the identifier for the project within the organization. Must be a string.", "endpoint_argument_name": "name" }, { "name": "project_description", "alternative_names": ["description_of_project", "org_project_details"], "description": "The description of the project to be created for the GitHub organization. This should be a clear and concise explanation of the project's purpose.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/orgs/{org}/projects", "tags": ["projects"], "summary": "Create an organization project", "description": "Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the project." }, "description": "The description of the project.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The description of the project." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the project." }, "description": "The name of the project.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the project." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"High-level roadmap for the upcoming year.\",\n \"name\": \"Organization Roadmap\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The description of the project.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the project.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "orgs/list-public-members", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_public_org_members", "description": { "tagline": "Retrieve public members of a GitHub organization.", "detailed": "Use this tool to obtain a list of members who have publicized their membership in a specified GitHub organization." }, "return_annotation": "A list of public members of the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["results_count_per_page", "items_per_page"], "description": "Specify the number of results to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "results_page_index"], "description": "The page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/public_members", "tags": ["orgs"], "summary": "List public organization members", "description": "Members of an organization can choose to have their membership publicized or not.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/remove-public-membership-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_public_org_membership", "description": { "tagline": "Remove public organization membership for the user.", "detailed": "This tool removes the public membership of the authenticated user from a specified GitHub organization. Call this tool when a user wants to revoke their public membership from an organization." }, "return_annotation": "Confirmation of membership removal from the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the GitHub organization. This name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["user_handle", "github_username"], "description": "The GitHub user account handle for which to remove public organization membership.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/orgs/{org}/public_members/{username}", "tags": ["orgs"], "summary": "Remove public organization membership for the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/check-public-membership-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_github_org_membership", "description": { "tagline": "Checks if a user is a public member of a GitHub organization.", "detailed": "Use this tool to determine if a specific user is publicly a member of a particular GitHub organization. This can be useful for confirming a user's affiliation with an organization." }, "return_annotation": "Indicates if a user is a public member of a GitHub organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["github_org_name", "org_name"], "description": "The case-insensitive name of the GitHub organization.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["user_handle_on_github", "github_username"], "description": "The GitHub user account handle to check for public organization membership.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/orgs/{org}/public_members/{username}", "tags": ["orgs"], "summary": "Check public organization membership for a user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/set-public-membership-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_own_github_public_membership", "description": { "tagline": "Publicize your GitHub organization membership.", "detailed": "Use this tool to make your GitHub organization membership public. It can only be used for your own membership, not for others." }, "return_annotation": "Confirmation of public membership update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name to make membership public. Case insensitive.", "endpoint_argument_name": "org" }, { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The GitHub user account handle to publicize the membership for.", "endpoint_argument_name": "username" } ] }, "method": "PUT", "path": "/orgs/{org}/public_members/{username}", "tags": ["orgs"], "summary": "Set public organization membership for the authenticated user", "description": "The user can publicize their own membership. (A user cannot publicize the membership for another user.)\n\nNote that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_repositories", "description": { "tagline": "Retrieve repositories for a specific organization on GitHub.", "detailed": "Fetches a list of repositories belonging to a specified organization on GitHub. Admin permissions or ownership may be required to access certain repository details." }, "return_annotation": "List of repositories for the specified organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_type", "alternative_names": ["repo_category", "repository_classification"], "description": "Specify the type of repositories to return, such as 'all', 'public', 'private', etc. Note: 'internal' is unsupported with an installation access token.", "endpoint_argument_name": "type" }, { "name": "sort_property", "alternative_names": ["sort_by", "sorting_criteria"], "description": "Specifies the property to sort the repository results by, such as created, updated, pushed, or full_name.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["sorting_order", "order_direction"], "description": "Specifies the sorting order of the results. Use 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "The number of repository results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/repos", "tags": ["repos"], "summary": "List organization repositories", "description": "Lists repositories for the specified organization.\n\n**Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "public", "private", "forks", "sources", "member", "internal"], "properties": null, "inner_properties": null, "description": "Specifies the types of repositories you want returned. `internal` is not yet supported when a GitHub App calls this endpoint with an installation access token." }, "description": "Specifies the types of repositories you want returned. `internal` is not yet supported when a GitHub App calls this endpoint with an installation access token.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "public", "private", "forks", "sources", "member", "internal"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "pushed", "full_name"], "properties": null, "inner_properties": null, "description": "The property to sort the results by." }, "description": "The property to sort the results by.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "pushed", "full_name"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`." }, "description": "The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_organization_repo", "description": { "tagline": "Create a new repository in a GitHub organization.", "detailed": "Use this tool to create a new repository within a specified GitHub organization. The user must have appropriate OAuth scopes and be a member of the organization." }, "return_annotation": "Details of the newly created GitHub repository.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The name of the GitHub organization where the repository will be created. The name is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_creation_details", "alternative_names": ["repo_creation_payload", "new_repo_details"], "description": "JSON object detailing repository settings such as name, privacy, and merge options.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/orgs/{org}/repos", "tags": ["repos"], "summary": "Create an organization repository", "description": "Creates a new repository in the specified organization. The authenticated user must be a member of the organization.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "allow_auto_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge." }, "allow_merge_commit": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits." }, "allow_rebase_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging." }, "allow_squash_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging." }, "auto_init": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Pass `true` to create an initial commit with empty README." }, "delete_branch_on_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.**" }, "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the repository." }, "gitignore_template": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \"Haskell\"." }, "has_downloads": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether downloads are enabled." }, "has_issues": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to enable issues for this repository or `false` to disable them." }, "has_projects": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error." }, "has_wiki": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to enable the wiki for this repository or `false` to disable it." }, "homepage": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL with more information about the repository." }, "is_template": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to make this repo available as a template repository or `false` to prevent it." }, "license_template": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/enterprise-server@3.8/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\"." }, "merge_commit_message": { "val_type": "string", "inner_val_type": null, "enum": ["PR_BODY", "PR_TITLE", "BLANK"], "properties": null, "inner_properties": null, "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message." }, "merge_commit_title": { "val_type": "string", "inner_val_type": null, "enum": ["PR_TITLE", "MERGE_MESSAGE"], "properties": null, "inner_properties": null, "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository." }, "private": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the repository is private." }, "squash_merge_commit_message": { "val_type": "string", "inner_val_type": null, "enum": ["PR_BODY", "COMMIT_MESSAGES", "BLANK"], "properties": null, "inner_properties": null, "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message." }, "squash_merge_commit_title": { "val_type": "string", "inner_val_type": null, "enum": ["PR_TITLE", "COMMIT_OR_PR_TITLE"], "properties": null, "inner_properties": null, "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)." }, "team_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization." }, "use_squash_pr_title_as_default": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead." }, "visibility": { "val_type": "string", "inner_val_type": null, "enum": ["public", "private", "internal"], "properties": null, "inner_properties": null, "description": "The visibility of the repository. **Note**: For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. For more information, see \"[Creating an internal repository](https://docs.github.com/enterprise-server@3.8/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)\" in the GitHub Help documentation. \nThe `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "allow_auto_merge": { "type": "boolean", "description": "Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge." }, "allow_merge_commit": { "type": "boolean", "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits." }, "allow_rebase_merge": { "type": "boolean", "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging." }, "allow_squash_merge": { "type": "boolean", "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging." }, "auto_init": { "type": "boolean", "description": "Pass `true` to create an initial commit with empty README." }, "delete_branch_on_merge": { "type": "boolean", "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.**" }, "description": { "type": "string", "description": "A short description of the repository." }, "gitignore_template": { "type": "string", "description": "Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \"Haskell\"." }, "has_downloads": { "type": "boolean", "description": "Whether downloads are enabled.", "example": true }, "has_issues": { "type": "boolean", "description": "Either `true` to enable issues for this repository or `false` to disable them." }, "has_projects": { "type": "boolean", "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error." }, "has_wiki": { "type": "boolean", "description": "Either `true` to enable the wiki for this repository or `false` to disable it." }, "homepage": { "type": "string", "description": "A URL with more information about the repository." }, "is_template": { "type": "boolean", "description": "Either `true` to make this repo available as a template repository or `false` to prevent it." }, "license_template": { "type": "string", "description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/enterprise-server@3.8/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\"." }, "merge_commit_message": { "type": "string", "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.", "enum": ["PR_BODY", "PR_TITLE", "BLANK"] }, "merge_commit_title": { "type": "string", "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).", "enum": ["PR_TITLE", "MERGE_MESSAGE"] }, "name": { "type": "string", "description": "The name of the repository." }, "private": { "type": "boolean", "description": "Whether the repository is private." }, "squash_merge_commit_message": { "type": "string", "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.", "enum": ["PR_BODY", "COMMIT_MESSAGES", "BLANK"] }, "squash_merge_commit_title": { "type": "string", "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).", "enum": ["PR_TITLE", "COMMIT_OR_PR_TITLE"] }, "team_id": { "type": "integer", "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization." }, "use_squash_pr_title_as_default": { "type": "boolean", "description": "Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead." }, "visibility": { "type": "string", "description": "The visibility of the repository. **Note**: For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. For more information, see \"[Creating an internal repository](https://docs.github.com/enterprise-server@3.8/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)\" in the GitHub Help documentation. \nThe `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header.", "enum": ["public", "private", "internal"] } }, "required": ["name"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"This is your first repository\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_wiki\": true,\n \"homepage\": \"https://github.com\",\n \"name\": \"Hello-World\",\n \"private\": false\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_auto_merge\": {\n \"default\": false,\n \"description\": \"Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge.\",\n \"type\": \"boolean\"\n },\n \"allow_merge_commit\": {\n \"default\": true,\n \"description\": \"Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.\",\n \"type\": \"boolean\"\n },\n \"allow_rebase_merge\": {\n \"default\": true,\n \"description\": \"Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.\",\n \"type\": \"boolean\"\n },\n \"allow_squash_merge\": {\n \"default\": true,\n \"description\": \"Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.\",\n \"type\": \"boolean\"\n },\n \"auto_init\": {\n \"default\": false,\n \"description\": \"Pass `true` to create an initial commit with empty README.\",\n \"type\": \"boolean\"\n },\n \"delete_branch_on_merge\": {\n \"default\": false,\n \"description\": \"Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.**\",\n \"type\": \"boolean\"\n },\n \"description\": {\n \"description\": \"A short description of the repository.\",\n \"type\": \"string\"\n },\n \"gitignore_template\": {\n \"description\": \"Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \\\"Haskell\\\".\",\n \"type\": \"string\"\n },\n \"has_downloads\": {\n \"default\": true,\n \"description\": \"Whether downloads are enabled.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"has_issues\": {\n \"default\": true,\n \"description\": \"Either `true` to enable issues for this repository or `false` to disable them.\",\n \"type\": \"boolean\"\n },\n \"has_projects\": {\n \"default\": true,\n \"description\": \"Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.\",\n \"type\": \"boolean\"\n },\n \"has_wiki\": {\n \"default\": true,\n \"description\": \"Either `true` to enable the wiki for this repository or `false` to disable it.\",\n \"type\": \"boolean\"\n },\n \"homepage\": {\n \"description\": \"A URL with more information about the repository.\",\n \"type\": \"string\"\n },\n \"is_template\": {\n \"default\": false,\n \"description\": \"Either `true` to make this repo available as a template repository or `false` to prevent it.\",\n \"type\": \"boolean\"\n },\n \"license_template\": {\n \"description\": \"Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/enterprise-server@3.8/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \\\"mit\\\" or \\\"mpl-2.0\\\".\",\n \"type\": \"string\"\n },\n \"merge_commit_message\": {\n \"description\": \"The default value for a merge commit message.\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `PR_BODY` - default to the pull request's body.\\n- `BLANK` - default to a blank commit message.\",\n \"enum\": [\n \"PR_BODY\",\n \"PR_TITLE\",\n \"BLANK\"\n ],\n \"type\": \"string\"\n },\n \"merge_commit_title\": {\n \"description\": \"The default value for a merge commit title.\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).\",\n \"enum\": [\n \"PR_TITLE\",\n \"MERGE_MESSAGE\"\n ],\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the repository.\",\n \"type\": \"string\"\n },\n \"private\": {\n \"default\": false,\n \"description\": \"Whether the repository is private.\",\n \"type\": \"boolean\"\n },\n \"squash_merge_commit_message\": {\n \"description\": \"The default value for a squash merge commit message:\\n\\n- `PR_BODY` - default to the pull request's body.\\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\\n- `BLANK` - default to a blank commit message.\",\n \"enum\": [\n \"PR_BODY\",\n \"COMMIT_MESSAGES\",\n \"BLANK\"\n ],\n \"type\": \"string\"\n },\n \"squash_merge_commit_title\": {\n \"description\": \"The default value for a squash merge commit title:\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).\",\n \"enum\": [\n \"PR_TITLE\",\n \"COMMIT_OR_PR_TITLE\"\n ],\n \"type\": \"string\"\n },\n \"team_id\": {\n \"description\": \"The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.\",\n \"type\": \"integer\"\n },\n \"use_squash_pr_title_as_default\": {\n \"default\": false,\n \"deprecated\": true,\n \"description\": \"Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead.\",\n \"type\": \"boolean\"\n },\n \"visibility\": {\n \"description\": \"The visibility of the repository. **Note**: For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. For more information, see \\\"[Creating an internal repository](https://docs.github.com/enterprise-server@3.8/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)\\\" in the GitHub Help documentation. \\nThe `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header.\",\n \"enum\": [\n \"public\",\n \"private\",\n \"internal\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "secret-scanning/list-alerts-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_org_secret_scanning_alerts", "description": { "tagline": "Retrieve secret scanning alerts for an organization's repositories.", "detailed": "This tool provides a list of secret scanning alerts from eligible repositories within an organization, sorted from newest to oldest. It should be called by users who are administrators or security managers of the organization, using an appropriate access token. GitHub Apps with `secret_scanning_alerts` read permission can also utilize this endpoint." }, "return_annotation": "List of secret scanning alerts for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the organization for which secret scanning alerts are to be listed. This value is not case-sensitive.", "endpoint_argument_name": "org" }, { "name": "alert_state", "alternative_names": ["state_filter", "alert_status"], "description": "Specify 'open' or 'resolved' to filter secret scanning alerts by their state.", "endpoint_argument_name": "state" }, { "name": "secret_types", "alternative_names": ["types_of_secrets", "secret_type_list"], "description": "Comma-separated list of secret types to return. Defaults to all secret types. Refer to the GitHub documentation for details on secret types.", "endpoint_argument_name": "secret_type" }, { "name": "alert_resolution_filter", "alternative_names": ["resolution_filter", "alert_resolutions"], "description": "A comma-separated list of resolutions to filter secret scanning alerts. Valid options are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted`, and `used_in_tests`.", "endpoint_argument_name": "resolution" }, { "name": "sort_by_property", "alternative_names": ["sort_by", "order_by_property"], "description": "Choose 'created' to sort by alert creation date or 'updated' to sort by last update or resolution.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["results_sort_direction", "alerts_sort_direction"], "description": "Specifies the order to sort the results: ascending ('asc') or descending ('desc').", "endpoint_argument_name": "direction" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The page number of results to retrieve, starting from 1. Determines which subset of results will be returned.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "search_before_cursor", "alternative_names": ["prior_to_cursor", "before_event_cursor"], "description": "A cursor indicating that the query should only look for events before this point. Use an empty string to get an initial cursor.", "endpoint_argument_name": "before" }, { "name": "search_after_cursor", "alternative_names": ["after_cursor", "paginate_after_cursor"], "description": "A cursor for paginating results, provided in the Link header. Use an empty string for the initial request to receive a starting cursor.", "endpoint_argument_name": "after" } ] }, "method": "GET", "path": "/orgs/{org}/secret-scanning/alerts", "tags": ["secret-scanning"], "summary": "List secret scanning alerts for an organization", "description": "Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest.\nTo use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope.\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "resolved"], "properties": null, "inner_properties": null, "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state." }, "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "resolved"] }, "schema_required": false }, { "name": "secret_type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of secret types to return. By default all secret types are returned.\nSee \"[Secret scanning patterns](https://docs.github.com/enterprise-server@3.8/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)\"\nfor a complete list of secret types." }, "description": "A comma-separated list of secret types to return. By default all secret types are returned.\nSee \"[Secret scanning patterns](https://docs.github.com/enterprise-server@3.8/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)\"\nfor a complete list of secret types.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "resolution", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`." }, "description": "A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved." }, "description": "The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty \"before\" query string." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty \"before\" query string.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty \"after\" query string." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty \"after\" query string.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-security-manager-teams", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_security_manager_teams", "description": { "tagline": "Retrieve teams that are security managers in an organization.", "detailed": "This tool retrieves a list of teams designated as security managers for a specified organization on GitHub. It should be used when you need to identify teams responsible for security within an organization. Requires appropriate access rights, like being an administrator or security manager with a token having the `read:org` scope." }, "return_annotation": "List of teams managing security for an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization's name. It is not case sensitive.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/orgs/{org}/security-managers", "tags": ["orgs"], "summary": "List security manager teams", "description": "Lists teams that are security managers for an organization. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nTo use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope.\n\nGitHub Apps must have the `administration` organization read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/remove-security-manager-team", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_security_manager_role", "description": { "tagline": "Remove security manager role from a team in an organization.", "detailed": "Use this tool to remove the security manager role from a specific team within an organization on GitHub. This requires the user to be an organization administrator with an access token having the 'admin:org' scope, or for GitHub Apps, the 'administration' organization read-write permission." }, "return_annotation": "Confirmation of role removal from the team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The organization's name. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_identifier", "alternative_names": ["team_name_slug", "team_unique_slug"], "description": "The unique slug identifying the team by name. This is required to specify the team whose security manager role is to be removed.", "endpoint_argument_name": "team_slug" } ] }, "method": "DELETE", "path": "/orgs/{org}/security-managers/teams/{team_slug}", "tags": ["orgs"], "summary": "Remove a security manager team", "description": "Removes the security manager role from a team for an organization. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization.\"\n\nTo use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope.\n\nGitHub Apps must have the `administration` organization read-write permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/add-security-manager-team", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_security_manager_team", "description": { "tagline": "Add a team as a security manager for an organization.", "detailed": "Use this tool to designate a specific team as the security manager for a GitHub organization. Requires organization admin rights and a token with `write:org` scope. Useful for managing security roles within an organization." }, "return_annotation": "Confirmation of team added as security manager for organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. This is not case sensitive. Required for adding a team as a security manager.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name to be added as a security manager. This is case-insensitive.", "endpoint_argument_name": "team_slug" } ] }, "method": "PUT", "path": "/orgs/{org}/security-managers/teams/{team_slug}", "tags": ["orgs"], "summary": "Add a security manager team", "description": "Adds a team as a security manager for an organization. For more information, see \"[Managing security for an organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization.\"\n\nTo use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope.\n\nGitHub Apps must have the `administration` organization read-write permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "billing/get-github-advanced-security-billing-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_advanced_security_committers", "description": { "tagline": "Retrieve GitHub Advanced Security committers for an organization.", "detailed": "Use this tool to obtain details about active committers using GitHub Advanced Security across repositories within a specified organization. This includes the total count of unique committers and repository-level details." }, "return_annotation": "Information on active committers for an organization's repositories.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The organization name for which to retrieve security committers. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "limit_per_page"], "description": "Specify the number of results per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page_index", "results_page"], "description": "The page number of the results to fetch. Useful for paginating through large sets of results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/settings/billing/advanced-security", "tags": ["billing"], "summary": "Get GitHub Advanced Security active committers for an organization", "description": "Gets the GitHub Advanced Security active committers for an organization per repository.\n\nEach distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository.\n\nIf this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level.\n\nThe total number of repositories with committer information is tracked by the `total_count` field.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_teams", "description": { "tagline": "Retrieve teams visible to the user in a GitHub organization.", "detailed": "Use this tool to list all teams within a specified GitHub organization that the authenticated user can see." }, "return_annotation": "List of teams visible to the user in an organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "Specify the number of results per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Page number of the results to fetch from the list of teams.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams", "tags": ["teams"], "summary": "List teams", "description": "Lists all teams in an organization that are visible to the authenticated user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/create", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_team", "description": { "tagline": "Create a new team in a GitHub organization.", "detailed": "Use this tool to create a new team within a specified GitHub organization. The authenticated user must be a member or owner of the organization. Upon creation, the user becomes a team maintainer by default." }, "return_annotation": "Details of the created GitHub team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_identifier", "org_name"], "description": "The case-insensitive name of the GitHub organization where the team will be created.", "endpoint_argument_name": "org" }, { "name": "team_name", "alternative_names": ["name_of_team", "group_name"], "description": "The name of the team to be created. It should be a string.", "endpoint_argument_name": "name" }, { "name": "team_description", "alternative_names": ["description_of_team", "team_overview"], "description": "A brief description of the team being created. This helps specify the team's purpose or role within the organization.", "endpoint_argument_name": "description" }, { "name": "ldap_distinguished_name", "alternative_names": ["ldap_dn_string", "ldap_identity_name"], "description": "The distinguished name (DN) of the LDAP entry to map to a team. Ensure LDAP synchronization is enabled.", "endpoint_argument_name": "ldap_dn" }, { "name": "team_maintainers_github_ids", "alternative_names": ["maintainers_list", "github_maintainers_ids"], "description": "List of GitHub IDs for organization members who will become team maintainers.", "endpoint_argument_name": "maintainers" }, { "name": "parent_team_id", "alternative_names": ["parent_team_identifier", "parent_group_id"], "description": "The numerical ID of the team to assign as the parent for the new team.", "endpoint_argument_name": "parent_team_id" }, { "name": "deprecated_repository_permission", "alternative_names": ["old_repo_permission", "legacy_repo_permission"], "description": "Specifies the permission for new repositories, though it is deprecated. Options are `pull` or `push`.", "endpoint_argument_name": "permission" }, { "name": "team_privacy_level", "alternative_names": ["privacy_setting", "visibility_level"], "description": "Specifies if the team is 'secret' or 'closed'. Defaults: 'secret' for non-nested teams, 'closed' for parent/child teams.", "endpoint_argument_name": "privacy" }, { "name": "repository_names_to_add_to_team", "alternative_names": ["team_repository_names", "repositories_for_team"], "description": "Array of full repository names (e.g., \"organization-name/repository-name\") to associate with the team.", "endpoint_argument_name": "repo_names" } ] }, "method": "POST", "path": "/orgs/{org}/teams", "tags": ["teams"], "summary": "Create a team", "description": "To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see \"[Setting team creation permissions](https://docs.github.com/enterprise-server@3.8/articles/setting-team-creation-permissions-in-your-organization).\"\n\nWhen you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see \"[About teams](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/about-teams)\".", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the team." }, "description": "The description of the team.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The description of the team." }, "schema_required": false }, { "name": "ldap_dn", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the \"[Update LDAP mapping for a team](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#update-ldap-mapping-for-a-team)\" endpoint to change the LDAP DN. For more information, see \"[Using LDAP](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap#enabling-ldap-sync).\"" }, "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the \"[Update LDAP mapping for a team](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#update-ldap-mapping-for-a-team)\" endpoint to change the LDAP DN. For more information, see \"[Using LDAP](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap#enabling-ldap-sync).\"", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the \"[Update LDAP mapping for a team](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#update-ldap-mapping-for-a-team)\" endpoint to change the LDAP DN. For more information, see \"[Using LDAP](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap#enabling-ldap-sync).\"" }, "schema_required": false }, { "name": "maintainers", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "List GitHub IDs for organization members who will become team maintainers." }, "description": "List GitHub IDs for organization members who will become team maintainers.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "List GitHub IDs for organization members who will become team maintainers.", "items": { "type": "string" } }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the team." }, "description": "The name of the team.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the team." }, "schema_required": true }, { "name": "parent_team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of a team to set as the parent team." }, "description": "The ID of a team to set as the parent team.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "The ID of a team to set as the parent team." }, "schema_required": false }, { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["pull", "push"], "properties": null, "inner_properties": null, "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified." }, "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified.", "required": false, "deprecated": false, "default": "pull", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified.", "enum": ["pull", "push"] }, "schema_required": false }, { "name": "privacy", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["secret", "closed"], "properties": null, "inner_properties": null, "description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n * `closed` - visible to all members of this organization. \nDefault for child team: `closed`" }, "description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n * `closed` - visible to all members of this organization. \nDefault for child team: `closed`", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n * `closed` - visible to all members of this organization. \nDefault for child team: `closed`", "enum": ["secret", "closed"] }, "schema_required": false }, { "name": "repo_names", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to." }, "description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to.", "items": { "type": "string" } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"A great team\",\n \"name\": \"Justice League\",\n \"permission\": \"push\",\n \"privacy\": \"closed\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"The description of the team.\",\n \"type\": \"string\"\n },\n \"ldap_dn\": {\n \"description\": \"The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the \\\"[Update LDAP mapping for a team](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#update-ldap-mapping-for-a-team)\\\" endpoint to change the LDAP DN. For more information, see \\\"[Using LDAP](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap#enabling-ldap-sync).\\\"\",\n \"type\": \"string\"\n },\n \"maintainers\": {\n \"description\": \"List GitHub IDs for organization members who will become team maintainers.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"description\": \"The name of the team.\",\n \"type\": \"string\"\n },\n \"parent_team_id\": {\n \"description\": \"The ID of a team to set as the parent team.\",\n \"type\": \"integer\"\n },\n \"permission\": {\n \"default\": \"pull\",\n \"description\": \"**Deprecated**. The permission that new repositories will be added to the team with when none is specified.\",\n \"enum\": [\n \"pull\",\n \"push\"\n ],\n \"type\": \"string\"\n },\n \"privacy\": {\n \"description\": \"The level of privacy this team should have. The options are: \\n**For a non-nested team:** \\n * `secret` - only visible to organization owners and members of this team. \\n * `closed` - visible to all members of this organization. \\nDefault: `secret` \\n**For a parent or child team:** \\n * `closed` - visible to all members of this organization. \\nDefault for child team: `closed`\",\n \"enum\": [\n \"secret\",\n \"closed\"\n ],\n \"type\": \"string\"\n },\n \"repo_names\": {\n \"description\": \"The full name (e.g., \\\"organization-name/repository-name\\\") of repositories to add the team to.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/delete-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_team_in_org", "description": { "tagline": "Delete a team in a GitHub organization.", "detailed": "Use this tool to delete a team within a GitHub organization. The action requires the user to be an organization owner or team maintainer. Deleting a parent team will also delete its child teams." }, "return_annotation": "Confirmation of team deletion in the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_organization"], "description": "The case-insensitive name of the GitHub organization containing the team to be deleted.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_slug_name"], "description": "The unique slug identifier of the team within the organization to be deleted.", "endpoint_argument_name": "team_slug" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}", "tags": ["teams"], "summary": "Delete a team", "description": "To delete a team, the authenticated user must be an organization owner or team maintainer.\n\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-by-name", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_team_by_slug", "description": { "tagline": "Retrieve team details using organization and team slug.", "detailed": "Use this tool to get detailed information about a specific team in a GitHub organization by providing the organization's name and the team's slug. The slug is a modified version of the team's name, formatted by GitHub." }, "return_annotation": "Team details based on slug and organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name. This is a URL-friendly version, typically all lowercase with special characters and spaces replaced by hyphens.", "endpoint_argument_name": "team_slug" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}", "tags": ["teams"], "summary": "Get a team by name", "description": "Gets a team using the team's `slug`. To create the `slug`, GitHub Enterprise Server replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `\"My TEam N\u00e4me\"` would become `my-team-name`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/update-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_team", "description": { "tagline": "Update a team's details within a GitHub organization.", "detailed": "This tool allows modifying the details of a specific team within a GitHub organization. The authenticated user must be an organization owner or team maintainer to perform this action. It's intended for updating team information such as name or permissions." }, "return_annotation": "Confirmation of the team update within the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_url_name"], "description": "The slug of the team name, used to uniquely identify the team within the organization.", "endpoint_argument_name": "team_slug" }, { "name": "team_description", "alternative_names": ["team_details", "team_summary"], "description": "The description of the team. Provide a concise summary or details for team identification.", "endpoint_argument_name": "description" }, { "name": "team_name", "alternative_names": ["name_of_team", "team_title"], "description": "The new name for the GitHub team within the organization.", "endpoint_argument_name": "name" }, { "name": "parent_team_id", "alternative_names": ["parent_id", "ancestor_team_id"], "description": "The ID of the team to set as the parent team for nesting purposes.", "endpoint_argument_name": "parent_team_id" }, { "name": "team_repository_permission", "alternative_names": ["repository_permission_level", "team_repo_access_level"], "description": "**Deprecated**. Specifies the default permission for newly added repositories. Options: 'pull', 'push', 'admin'.", "endpoint_argument_name": "permission" }, { "name": "team_privacy_level", "alternative_names": ["team_visibility", "team_access_level"], "description": "Specifies the team's privacy level. Options: 'secret' (visible only to owners and team members) or 'closed' (visible to all organization members). Parent teams cannot be 'secret'.", "endpoint_argument_name": "privacy" } ] }, "method": "PATCH", "path": "/orgs/{org}/teams/{team_slug}", "tags": ["teams"], "summary": "Update a team", "description": "To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the team." }, "description": "The description of the team.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The description of the team." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the team." }, "description": "The name of the team.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the team." }, "schema_required": false }, { "name": "parent_team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of a team to set as the parent team." }, "description": "The ID of a team to set as the parent team.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "The ID of a team to set as the parent team." }, "schema_required": false }, { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["pull", "push", "admin"], "properties": null, "inner_properties": null, "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified." }, "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified.", "required": false, "deprecated": false, "default": "pull", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified.", "enum": ["pull", "push", "admin"] }, "schema_required": false }, { "name": "privacy", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["secret", "closed"], "properties": null, "inner_properties": null, "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \n**For a parent or child team:** \n * `closed` - visible to all members of this organization." }, "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \n**For a parent or child team:** \n * `closed` - visible to all members of this organization.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \n**For a parent or child team:** \n * `closed` - visible to all members of this organization.", "enum": ["secret", "closed"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"new team description\",\n \"name\": \"new team name\",\n \"privacy\": \"closed\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"The description of the team.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the team.\",\n \"type\": \"string\"\n },\n \"parent_team_id\": {\n \"description\": \"The ID of a team to set as the parent team.\",\n \"nullable\": true,\n \"type\": \"integer\"\n },\n \"permission\": {\n \"default\": \"pull\",\n \"description\": \"**Deprecated**. The permission that new repositories will be added to the team with when none is specified.\",\n \"enum\": [\n \"pull\",\n \"push\",\n \"admin\"\n ],\n \"type\": \"string\"\n },\n \"privacy\": {\n \"description\": \"The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \\n**For a non-nested team:** \\n * `secret` - only visible to organization owners and members of this team. \\n * `closed` - visible to all members of this organization. \\n**For a parent or child team:** \\n * `closed` - visible to all members of this organization.\",\n \"enum\": [\n \"secret\",\n \"closed\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/list-discussions-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_team_discussions", "description": { "tagline": "Retrieve all discussions from a team's page in an organization.", "detailed": "Use this tool to get a list of discussions on a specified team's page within a GitHub organization. Requires OAuth access tokens with the `read:discussion` scope." }, "return_annotation": "A list of all discussions on a specified team's page.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org"], "description": "The case-insensitive name of the GitHub organization.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team's name to identify which team's discussions to retrieve in the organization.", "endpoint_argument_name": "team_slug" }, { "name": "sort_direction", "alternative_names": ["results_order", "discussion_sort_order"], "description": "Specify the sorting direction for the results. Use 'asc' for ascending or 'desc' for descending order.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "The number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_of_results", "fetch_page_number"], "description": "The specific page number of discussion results to retrieve.", "endpoint_argument_name": "page" }, { "name": "pinned_discussions_only", "alternative_names": ["filter_pinned_discussions", "only_pinned_discussions"], "description": "Filter to retrieve only pinned discussions. Use 'true' for pinned only, 'false' for all.", "endpoint_argument_name": "pinned" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/discussions", "tags": ["teams"], "summary": "List discussions", "description": "List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "pinned", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Pinned discussions only filter" }, "description": "Pinned discussions only filter", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/create-discussion-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_team_discussion_github", "description": { "tagline": "Create a discussion post on a GitHub team's page.", "detailed": "Use this tool to create a new discussion post on a specified team's page within an organization on GitHub. This requires appropriate OAuth access tokens with the `write:discussion` scope. Be aware that creating content too quickly can lead to rate limiting. This action will trigger notifications associated with the created discussion." }, "return_annotation": "Confirmation of the newly created discussion post.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization name, not case-sensitive, for which the team discussion will be created.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "group_slug"], "description": "The unique slug of the team name. This is required to specify which team's page the discussion will be posted on.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_body_text", "alternative_names": ["post_content_text", "discussion_content"], "description": "The content of the discussion post. Provide detailed text for the discussion body.", "endpoint_argument_name": "body" }, { "name": "discussion_post_title", "alternative_names": ["post_title", "discussion_title"], "description": "The title for the discussion post on the team's page.", "endpoint_argument_name": "title" }, { "name": "create_private_post", "alternative_names": ["make_private_post", "set_post_private"], "description": "Set to `true` to create a private post visible only to team members and maintainers, or `false` for a public post visible to all organization members.", "endpoint_argument_name": "private" } ] }, "method": "POST", "path": "/orgs/{org}/teams/{team_slug}/discussions", "tags": ["teams"], "summary": "Create a discussion", "description": "Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's body text." }, "description": "The discussion post's body text.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The discussion post's body text." }, "schema_required": true }, { "name": "private", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post." }, "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post." }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's title." }, "description": "The discussion post's title.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The discussion post's title." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Hi! This is an area for us to collaborate as a team.\",\n \"title\": \"Our first team post\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The discussion post's body text.\",\n \"type\": \"string\"\n },\n \"private\": {\n \"default\": false,\n \"description\": \"Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.\",\n \"type\": \"boolean\"\n },\n \"title\": {\n \"description\": \"The discussion post's title.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"title\",\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/delete-discussion-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_team_discussion", "description": { "tagline": "Delete a discussion from a team's page on GitHub.", "detailed": "This tool deletes a specified discussion from a team's page within an organization on GitHub. It requires an OAuth access token with `write:discussion` scope. Use this tool when you need to remove a discussion from a team's page." }, "return_annotation": "Confirmation of the discussion deletion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The organization name on GitHub. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug identifier of the team name on GitHub. This is required to specify which team's discussion is to be deleted.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_number", "alternative_names": ["discussion_id", "discussion_identifier"], "description": "The unique number identifying the discussion to be deleted.", "endpoint_argument_name": "discussion_number" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "tags": ["teams"], "summary": "Delete a discussion", "description": "Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-discussion-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_team_discussion", "description": { "tagline": "Retrieve a specific team discussion from GitHub.", "detailed": "Call this tool to get details of a specific discussion on a GitHub team's page. This is useful when you need information about a particular topic discussed within a team. Ensure OAuth access tokens with `read:discussion` scope are used." }, "return_annotation": "Details of the specified discussion on a team's page.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the GitHub organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_handle"], "description": "The slug of the GitHub team name, used to specify the team.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_identifier_number", "alternative_names": ["discussion_id_number", "discussion_index_number"], "description": "The unique number identifying the discussion to retrieve.", "endpoint_argument_name": "discussion_number" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "tags": ["teams"], "summary": "Get a discussion", "description": "Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/update-discussion-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_team_discussion", "description": { "tagline": "Edits the title and body of a team discussion post.", "detailed": "Use this tool to update the title and content of a discussion in a GitHub team within an organization. Only the specified fields will be changed. Requires OAuth tokens with `write:discussion` scope." }, "return_annotation": "Details of the updated team discussion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the organization. It is not case sensitive and uniquely identifies the organization on GitHub.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "Provide the slug (URL-friendly version) of the team's name. Case sensitivity is ignored.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_id", "alternative_names": ["discussion_num", "discussion_identifier"], "description": "The unique number identifying the discussion to be updated.", "endpoint_argument_name": "discussion_number" }, { "name": "discussion_body_text", "alternative_names": ["discussion_content", "discussion_text"], "description": "The updated body text of the discussion post. Provide the new content you want for the discussion.", "endpoint_argument_name": "body" }, { "name": "discussion_title", "alternative_names": ["post_title", "discussion_headline"], "description": "The new title for the discussion post. Only the provided title will be updated.", "endpoint_argument_name": "title" } ] }, "method": "PATCH", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "tags": ["teams"], "summary": "Update a discussion", "description": "Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's body text." }, "description": "The discussion post's body text.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The discussion post's body text." }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's title." }, "description": "The discussion post's title.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The discussion post's title." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"title\": \"Welcome to our first team post\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The discussion post's body text.\",\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"The discussion post's title.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/list-discussion-comments-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_team_discussion_comments", "description": { "tagline": "Retrieve comments from a team discussion in an organization.", "detailed": "This tool lists all comments on a specified team discussion within an organization on GitHub. It requires an OAuth token with the `read:discussion` scope and can be used when you need to see all comments made in a particular team discussion." }, "return_annotation": "A list of comments from a team discussion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The identifier for the team, typically a URL-friendly version of the team name.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_id", "alternative_names": ["discussion_identifier", "discussion_no"], "description": "The unique number identifying the discussion to retrieve comments from.", "endpoint_argument_name": "discussion_number" }, { "name": "sort_direction", "alternative_names": ["comment_sort_order", "order_direction"], "description": "Specify the sort order for results: 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "comments_per_page"], "description": "The number of discussion comments to return per page, maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "comments_page"], "description": "The specific page of discussion comments to retrieve, starting with 1 for the first page.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "tags": ["teams"], "summary": "List discussion comments", "description": "List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/create-discussion-comment-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_team_discussion_comment", "description": { "tagline": "Create a new comment on a team discussion in an organization.", "detailed": "Use this tool to add a comment to an existing team discussion in a GitHub organization. This action requires appropriate permissions and will generate notifications. Be mindful of rate limits when using this tool." }, "return_annotation": "Confirmation of comment creation on team discussion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization where the team discussion is located. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_name_slug", "group_slug"], "description": "The slug identifier for the team name within the organization, used to specify which team's discussion to comment on.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_number", "alternative_names": ["discussion_id", "discussion_identifier"], "description": "The number that identifies the specific discussion within the team to which you want to add a comment.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_body_text", "alternative_names": ["discussion_comment_text", "body_text"], "description": "The text content of the comment to be added to the team discussion.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "tags": ["teams"], "summary": "Create a discussion comment", "description": "Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion comment's body text." }, "description": "The discussion comment's body text.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The discussion comment's body text." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Do you like apples?\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The discussion comment's body text.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/delete-discussion-comment-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_team_discussion_comment", "description": { "tagline": "Deletes a comment on a team discussion in an organization.", "detailed": "Use this tool to delete a specific comment from a team discussion within a GitHub organization. Ideal for managing discussions and removing unwanted comments. Requires `write:discussion` OAuth scope." }, "return_annotation": "Indicates success or failure of the comment deletion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name in the organization. Case insensitive.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_identifier", "alternative_names": ["discussion_id", "discussion_number_key"], "description": "The unique number identifying the discussion for the comment to be deleted.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_identifier", "alternative_names": ["comment_id_number", "comment_num"], "description": "The unique number identifying the comment to be deleted.", "endpoint_argument_name": "comment_number" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "tags": ["teams"], "summary": "Delete a discussion comment", "description": "Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-discussion-comment-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_team_discussion_comment", "description": { "tagline": "Retrieve a specific comment from a GitHub team discussion.", "detailed": "Use this tool to get details of a specific comment within a team discussion on GitHub. This is useful for accessing detailed information about comments in organizational discussions. Ensure OAuth tokens have the `read:discussion` scope." }, "return_annotation": "Details of a specific comment on a GitHub team discussion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the GitHub organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug (URL-friendly version) of the GitHub team's name. It is not case sensitive.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_id", "alternative_names": ["discussion_number_id", "discussion_reference"], "description": "The unique number identifying the specific discussion on GitHub.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_identifier", "alternative_names": ["comment_id", "discussion_comment_number"], "description": "The specific number identifying the comment in the discussion.", "endpoint_argument_name": "comment_number" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "tags": ["teams"], "summary": "Get a discussion comment", "description": "Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/update-discussion-comment-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_discussion_comment", "description": { "tagline": "Updates a GitHub discussion comment's text.", "detailed": "This tool edits the body text of a discussion comment in a GitHub organization team. Use it when you need to update the content of a comment in a team discussion. Requires OAuth access tokens with `write:discussion` scope." }, "return_annotation": "Confirmation of the comment update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. It is not case-sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name. This is used to specify the team in the organization.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_id", "alternative_names": ["discussion_number_identifier", "discussion_ref"], "description": "The unique number identifying the GitHub discussion to update the comment in.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_identifier", "alternative_names": ["comment_id_number", "discussion_reply_number"], "description": "A unique integer identifying the comment to be updated in the discussion.", "endpoint_argument_name": "comment_number" }, { "name": "discussion_comment_body", "alternative_names": ["comment_body_content", "discussion_reply_body"], "description": "The new text for the discussion comment to be updated.", "endpoint_argument_name": "body" } ] }, "method": "PATCH", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "tags": ["teams"], "summary": "Update a discussion comment", "description": "Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion comment's body text." }, "description": "The discussion comment's body text.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The discussion comment's body text." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Do you like pineapples?\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The discussion comment's body text.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/list-for-team-discussion-comment-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_team_discussion_comment_reactions", "description": { "tagline": "Retrieve reactions for a team discussion comment in an organization.", "detailed": "This tool retrieves the list of reactions for a specific comment in a team discussion within an organization on GitHub. It requires OAuth access tokens with the `read:discussion` scope. Use this when you need to analyze or display reactions to a particular discussion comment." }, "return_annotation": "List of reactions to a team discussion comment.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "group_slug"], "description": "The slug of the team name, case-insensitive, used to identify the team in the organization.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_number", "alternative_names": ["discussion_reference_number", "discussion_id"], "description": "The number identifying the specific discussion in the team.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_identifier", "alternative_names": ["comment_id", "discussion_comment_number"], "description": "The unique number identifying the discussion comment.", "endpoint_argument_name": "comment_number" }, { "name": "filter_by_reaction_type", "alternative_names": ["reaction_type_filter", "specific_reaction_type"], "description": "Specify a single reaction type to filter results. Options: '+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'. Omit to list all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["results_page_size", "page_results_count"], "description": "The number of results per page to return (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "page_number"], "description": "The page number of the comments reactions to fetch from the results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "tags": ["reactions"], "summary": "List reactions for a team discussion comment", "description": "List the reactions to a [team discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-team-discussion-comment-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_reaction_to_team_discussion_comment", "description": { "tagline": "Add a reaction to a GitHub team discussion comment.", "detailed": "Use this tool to add a reaction emoji to a specific GitHub team discussion comment within an organization. Useful for engaging with team discussions or acknowledging comments. Requires appropriate OAuth scope." }, "return_annotation": "Indicates if the reaction was successfully added to the comment.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the organization. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_name_slug", "group_slug"], "description": "The slug of the team name within the organization, used to identify the team.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_identifier", "alternative_names": ["discussion_id", "discussion_num"], "description": "The number identifying the discussion within the team.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_identifier", "alternative_names": ["comment_id", "discussion_comment_number"], "description": "The unique number identifying the team discussion comment to react to.", "endpoint_argument_name": "comment_number" }, { "name": "reaction_type", "alternative_names": ["emoji_type", "reaction_emoji"], "description": "The type of reaction emoji to add to the team discussion comment. Accepted values are: '+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "tags": ["reactions"], "summary": "Create reaction for a team discussion comment", "description": "Create a reaction to a [team discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion comment." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion comment.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion comment.\",\n \"enum\": [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-team-discussion-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_team_discussion_comment_reaction", "description": { "tagline": "Delete a reaction from a team discussion comment on GitHub.", "detailed": "Use this tool to delete a reaction from a specific comment in a team discussion on GitHub. You need appropriate OAuth access tokens with `write:discussion` scope. Specify team, organization, discussion, comment, and reaction details to execute." }, "return_annotation": "Indicates the reaction has been deleted successfully.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization name on GitHub. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_slug_name"], "description": "The slug of the team name, used to identify the team in the organization.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_identifier", "alternative_names": ["discussion_id", "discussion_number"], "description": "The number identifying the specific discussion in the team.", "endpoint_argument_name": "discussion_number" }, { "name": "comment_identifier", "alternative_names": ["comment_id", "comment_number"], "description": "The number that identifies the comment in the team discussion.", "endpoint_argument_name": "comment_number" }, { "name": "reaction_id", "alternative_names": ["reaction_identifier", "reaction_key"], "description": "The unique identifier of the reaction to be deleted. This should be an integer value.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete team discussion comment reaction", "description": "**Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`.\n\nDelete a reaction to a [team discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/list-for-team-discussion-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_team_discussion_reactions", "description": { "tagline": "Retrieve reactions to a specific team discussion in a GitHub organization.", "detailed": "Use this tool to obtain the reactions to a team discussion within a GitHub organization. It requires an OAuth token with the `read:discussion` scope. Useful for analyzing feedback or participation in team discussions." }, "return_annotation": "List of reactions to a team discussion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team's name in the specified GitHub organization. It identifies the team for which reactions are being retrieved.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_identifier", "alternative_names": ["discussion_id", "discussion_number"], "description": "The number identifying the team discussion to retrieve reactions for.", "endpoint_argument_name": "discussion_number" }, { "name": "reaction_type", "alternative_names": ["specific_reaction", "filter_reaction"], "description": "Specify the type of reaction to retrieve (e.g., '+1', '-1', 'laugh'). Omit to retrieve all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_limit"], "description": "Specify the number of results per page, maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_of_results", "results_page"], "description": "The page number of the results to fetch. Use to navigate through paginated responses.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "tags": ["reactions"], "summary": "List reactions for a team discussion", "description": "List the reactions to a [team discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-team-discussion-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_reaction_to_github_team_discussion", "description": { "tagline": "Add a reaction to a GitHub team discussion.", "detailed": "Use this tool to add a specific reaction emoji to a team discussion in a GitHub organization. It requires OAuth access tokens with the `write:discussion` scope. This is useful for engaging with team discussions directly through the API." }, "return_annotation": "Confirms if the reaction was added to the team discussion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The URL-friendly version of the team's name.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_id", "alternative_names": ["discussion_number_id", "discussion_identifier"], "description": "The unique identifier number for the team discussion.", "endpoint_argument_name": "discussion_number" }, { "name": "reaction_type", "alternative_names": ["emoji_reaction", "discussion_reaction"], "description": "The reaction type to add to the team discussion. Valid options include: '+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "tags": ["reactions"], "summary": "Create reaction for a team discussion", "description": "Create a reaction to a [team discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion.\",\n \"enum\": [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-team-discussion", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_team_discussion_reaction", "description": { "tagline": "Delete a reaction from a GitHub team discussion.", "detailed": "Use this tool to delete a reaction from a specific team discussion on GitHub. Requires appropriate OAuth scope: `write:discussion`." }, "return_annotation": "Confirmation of reaction deletion.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "org_identifier"], "description": "The organization name. This value is not case sensitive and identifies the GitHub organization.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug (URL-friendly version) of the team name in GitHub, used to identify a team within an organization.", "endpoint_argument_name": "team_slug" }, { "name": "discussion_number", "alternative_names": ["discussion_id", "discussion_num"], "description": "The number that identifies the GitHub team discussion to delete a reaction from. Must be an integer.", "endpoint_argument_name": "discussion_number" }, { "name": "reaction_unique_identifier", "alternative_names": ["reaction_id_number", "reaction_identifier"], "description": "The unique identifier for the specific reaction to be deleted from the discussion.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete team discussion reaction", "description": "**Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`.\n\nDelete a reaction to a [team discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/unlink-external-idp-group-from-team-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unlink_external_idp_group_from_team", "description": { "tagline": "Unlink an external IdP group from a GitHub team.", "detailed": "This tool is used to remove a connection between a GitHub team and an external identity provider group. It is useful when managing team membership through an IdP in GitHub Enterprise Cloud." }, "return_annotation": "Confirmation of unlinking the external group from the team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team's name. It identifies the team within the organization.", "endpoint_argument_name": "team_slug" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/external-groups", "tags": ["teams"], "summary": "Remove the connection between an external group and a team", "description": "Deletes a connection between a team and an external group.\n\nYou can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-linked-external-idp-groups-to-team-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_linked_external_groups", "description": { "tagline": "Retrieve connections between a GitHub team and external groups.", "detailed": "Use this tool to list connections between a specific GitHub team and external identity provider groups within an organization. Ideal for managing team membership using Enterprise Managed Users for GitHub Enterprise Cloud." }, "return_annotation": "Details of the connection between a team and external groups.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "Slug of the team name to identify the specific GitHub team.", "endpoint_argument_name": "team_slug" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/external-groups", "tags": ["teams"], "summary": "List a connection between an external group and a team", "description": "Lists a connection between a team and an external group.\n\nYou can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products)\" in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/link-external-idp-group-to-team-for-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "link_external_group_to_team", "description": { "tagline": "Link an external IDP group to a GitHub team.", "detailed": "Creates a connection between a GitHub team and an external identity provider group. Use this tool when you need to manage team membership through your identity provider using GitHub Enterprise Managed Users." }, "return_annotation": "Confirms the link between a team and an external group.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The GitHub organization name. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name to connect with an external group. It is case insensitive.", "endpoint_argument_name": "team_slug" }, { "name": "external_group_id", "alternative_names": ["idp_external_group_id", "identity_provider_group_id"], "description": "The ID of the external group to be linked with the GitHub team.", "endpoint_argument_name": "group_id" } ] }, "method": "PATCH", "path": "/orgs/{org}/teams/{team_slug}/external-groups", "tags": ["teams"], "summary": "Update the connection between an external group and a team", "description": "Creates a connection between a team and an external group. Only one external group can be linked to a team.\n\nYou can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products)\" in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "group_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "External Group Id" }, "description": "External Group Id", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "External Group Id", "example": 1 }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"group_id\": 123\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"group_id\": {\n \"description\": \"External Group Id\",\n \"example\": 1,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"group_id\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/list-members-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_team_members_in_org", "description": { "tagline": "Retrieve team members in a specified organization.", "detailed": "Call this tool to get a list of members in a specific team within an organization on GitHub. It includes members from child teams, provided that the authenticated user has visibility of the team." }, "return_annotation": "Team members of a specified organization team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name within the organization. Used to identify the specific team.", "endpoint_argument_name": "team_slug" }, { "name": "filter_by_role", "alternative_names": ["role_filter", "member_role_selection"], "description": "Filters team members by their role: 'member', 'maintainer', or 'all'.", "endpoint_argument_name": "role" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "Specifies the number of team members to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "results_page"], "description": "The page number of results to fetch. Use this for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/members", "tags": ["teams"], "summary": "List team members", "description": "Team members will include the members of child teams.\n\nTo list members in a team, the team must be visible to the authenticated user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "role", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["member", "maintainer", "all"], "properties": null, "inner_properties": null, "description": "Filters members returned by their role in the team." }, "description": "Filters members returned by their role in the team.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["member", "maintainer", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-membership-for-user-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_team_membership", "description": { "tagline": "Remove a user's membership from a GitHub team.", "detailed": "Use this tool to remove a user's membership from a specific GitHub team within an organization. Ensure the authenticated user has 'admin' permissions or is an owner of the organization. Note that team synchronization settings may affect API changes." }, "return_annotation": "Confirmation of user removal from team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The GitHub organization name. This input is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug identifier for the GitHub team's name. This is used to specify the team you want to modify.", "endpoint_argument_name": "team_slug" }, { "name": "github_user_handle", "alternative_names": ["user_github_username", "team_member_username"], "description": "The handle for the GitHub user account to be removed from the team.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/memberships/{username}", "tags": ["teams"], "summary": "Remove team membership for a user", "description": "To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.8/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-membership-for-user-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_team_membership_in_org", "description": { "tagline": "Retrieve a user's team membership status in an organization.", "detailed": "Fetches the membership state and role of a specified user within a specific team in an organization on GitHub. Useful for determining if a user is a member of a team, including the role they hold." }, "return_annotation": "The state of the membership and the member's role.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The case-insensitive name of the GitHub organization.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name. It uniquely identifies the team within the organization. Case insensitive.", "endpoint_argument_name": "team_slug" }, { "name": "github_username", "alternative_names": ["user_handle", "gh_user"], "description": "The GitHub username of the account whose team membership status is being retrieved. This username is not case sensitive.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/memberships/{username}", "tags": ["teams"], "summary": "Get team membership for a user", "description": "Team members will include the members of child teams.\n\nTo get a user's membership with a team, the team must be visible to the authenticated user.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n\n**Note:**\nThe response contains the `state` of the membership and the member's `role`.\n\nThe `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#create-a-team).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-or-update-membership-for-user-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_update_github_team_membership", "description": { "tagline": "Add or update a user's membership in a GitHub team.", "detailed": "This tool adds a member to a GitHub organization's team or updates their role if they are already a member. It is used by authenticated organization owners or team maintainers. If the person isn't part of the organization, an invitation is sent, and their membership will be pending until accepted." }, "return_annotation": "Confirmation of membership addition or update in a GitHub team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the GitHub organization (case insensitive) to which the team belongs.", "endpoint_argument_name": "org" }, { "name": "github_team_slug", "alternative_names": ["team_slug_identifier", "team_slug_name"], "description": "The slug identifier of the team's name within the organization. This is not case-sensitive.", "endpoint_argument_name": "team_slug" }, { "name": "github_user_handle", "alternative_names": ["github_username_handle", "user_github_id"], "description": "The GitHub user account handle to add or update in the organization team.", "endpoint_argument_name": "username" }, { "name": "user_team_role", "alternative_names": ["github_user_role", "team_member_role"], "description": "Specifies the role for the user in the team, either 'member' or 'maintainer'.", "endpoint_argument_name": "role" } ] }, "method": "PUT", "path": "/orgs/{org}/teams/{team_slug}/memberships/{username}", "tags": ["teams"], "summary": "Add or update team membership for a user", "description": "Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.8/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nAn organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the \"pending\" state until the person accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team.\n\nIf the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "role", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["member", "maintainer"], "properties": null, "inner_properties": null, "description": "The role that this user should have in the team." }, "description": "The role that this user should have in the team.", "required": false, "deprecated": false, "default": "member", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The role that this user should have in the team.", "enum": ["member", "maintainer"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Add or update team membership for an organization member\",\n \"value\": {\n \"role\": \"maintainer\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"role\": {\n \"default\": \"member\",\n \"description\": \"The role that this user should have in the team.\",\n \"enum\": [\n \"member\",\n \"maintainer\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/list-projects-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_team_projects_in_org", "description": { "tagline": "Retrieve a list of projects for a team in an organization.", "detailed": "Use this tool to get a list of organization projects associated with a specific team based on the organization name and team slug. Ideal for fetching project details for managerial or planning purposes." }, "return_annotation": "Organization projects for a specific team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The case-insensitive name of the organization for which to list team projects.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_uri_slug"], "description": "The team's unique slug identifier. This is used to specify which team's projects to list.", "endpoint_argument_name": "team_slug" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The page number for the results you wish to retrieve. Used for paginating through results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/projects", "tags": ["teams"], "summary": "List team projects", "description": "Lists the organization projects for a team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-project-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_project_from_team", "description": { "tagline": "Remove a project from a team in a GitHub organization.", "detailed": "Use this tool to remove an organization project from a specific team within GitHub. It requires appropriate permissions: `read` access to both the team and project, or `admin` access to either. The operation only removes the project from the team and does not delete the project itself." }, "return_annotation": "Confirmation of project removal from the team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org"], "description": "The name of the GitHub organization. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_name_slug", "team_identifier_slug"], "description": "The slug identifier for the team name in the organization. Case insensitive.", "endpoint_argument_name": "team_slug" }, { "name": "project_unique_identifier", "alternative_names": ["project_id_number", "project_identifier"], "description": "The unique identifier of the project to be removed from the team.", "endpoint_argument_name": "project_id" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/projects/{project_id}", "tags": ["teams"], "summary": "Remove a project from a team", "description": "Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/check-permissions-for-project-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_team_project_permissions", "description": { "tagline": "Check team's permissions for an organization's project.", "detailed": "Use this tool to determine if a team has `read`, `write`, or `admin` permissions for a specific project within an organization. This includes projects inherited from a parent team." }, "return_annotation": "Team's permissions for the specified organization project.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name used to identify the team within the organization. It is not case sensitive.", "endpoint_argument_name": "team_slug" }, { "name": "project_unique_identifier", "alternative_names": ["project_id_number", "project_identifier"], "description": "The unique integer ID of the project to check permissions for.", "endpoint_argument_name": "project_id" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/projects/{project_id}", "tags": ["teams"], "summary": "Check team permissions for a project", "description": "Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-or-update-project-permissions-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_or_update_github_team_project_permissions", "description": { "tagline": "Add or update a GitHub team's permissions on an organization project.", "detailed": "Use this tool to add a project to a GitHub team or update a team's permissions on a project within the same organization. The user must have admin permissions for the project." }, "return_annotation": "Confirmation of project permissions update for a team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The GitHub organization name. This is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug representation of the GitHub team's name within the organization. This is used to identify the team in the request.", "endpoint_argument_name": "team_slug" }, { "name": "project_id", "alternative_names": ["project_identifier", "project_unique_id"], "description": "The unique identifier of the project to update or add to the team.", "endpoint_argument_name": "project_id" }, { "name": "project_permission_level", "alternative_names": ["team_project_permission", "set_project_permission"], "description": "Permission level to grant the team for the project. Options: 'read', 'write', 'admin'. Default uses the team's current level.", "endpoint_argument_name": "permission" } ] }, "method": "PUT", "path": "/orgs/{org}/teams/{team_slug}/projects/{project_id}", "tags": ["teams"], "summary": "Add or update team project permissions", "description": "Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"" }, "description": "The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "enum": ["read", "write", "admin"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Updates the permissions for the team to write for the project\",\n \"value\": {\n \"permission\": \"write\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"permission\": {\n \"description\": \"The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see \\\"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\\\"\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/list-repos-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_team_repositories", "description": { "tagline": "Retrieve a list of repositories for a specified team.", "detailed": "This tool lists repositories associated with a specified team within an organization, visible to the authenticated user. Ideal for obtaining an overview of team-managed projects." }, "return_annotation": "List of repositories visible to the authenticated user.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "company_name"], "description": "The organization name. Case insensitivity applies.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name (case-insensitive).", "endpoint_argument_name": "team_slug" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "repositories_per_page"], "description": "Number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "The page number of the results to fetch for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/repos", "tags": ["teams"], "summary": "List team repositories", "description": "Lists a team's repositories visible to the authenticated user.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-repo-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_from_team", "description": { "tagline": "Remove a repository from a GitHub team within an organization.", "detailed": "Call this tool to remove a repository from a specific team in a GitHub organization. The user needs to be an organization owner, team maintainer, or have admin access to the repository. This action will only unlink the repository from the team, not delete it." }, "return_annotation": "Confirmation message of the repository removal from the team.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. It is not case-sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_name_slug", "team_identifier"], "description": "The slug of the team name to identify which team's repository link should be removed. This is required and case insensitive.", "endpoint_argument_name": "team_slug" }, { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repo_identifier"], "description": "The name of the repository to remove from the team. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "DELETE", "path": "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "tags": ["teams"], "summary": "Remove a repository from a team", "description": "If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/check-permissions-for-repo-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_team_repo_permissions", "description": { "tagline": "Check a team's permissions for a specific repository within an organization.", "detailed": "This tool verifies whether a team has specific permissions (admin, push, maintain, triage, or pull) for a given repository within an organization on GitHub. It can be used to ensure access rights are correctly configured. If the team lacks permissions, a 404 response indicates no access." }, "return_annotation": "Information on the team's permissions for a specific repository.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization name on GitHub. It is not case sensitive. Required to check team permissions.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug of the team name. Used to identify the team whose permissions you are checking.", "endpoint_argument_name": "team_slug" }, { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository for which you want to check permissions. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "tags": ["teams"], "summary": "Check team permissions for a repository", "description": "Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked.\n\nYou can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header.\n\nIf a team doesn't have permission for the repository, you will receive a `404 Not Found` response status.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-or-update-repo-permissions-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_team_repo_permissions", "description": { "tagline": "Manage team repository access and permissions.", "detailed": "Use this tool to add a repository to a team or update a team's permission on a repository within an organization. The caller must have admin access and visibility of the team. The repository should be owned by the organization. Returns a confirmation of the action taken." }, "return_annotation": "Confirmation of updated team permissions on a repository.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization. This parameter is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "team_slug", "alternative_names": ["team_identifier", "team_name_slug"], "description": "The slug identifier of the team within the organization. It is not case-sensitive.", "endpoint_argument_name": "team_slug" }, { "name": "repository_owner_account", "alternative_names": ["repo_account_owner", "repository_account_holder"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to be managed. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "team_repo_permission", "alternative_names": ["repository_permission_level", "team_access_level"], "description": "Permission to grant the team on this repository. Options: `pull`, `triage`, `push`, `maintain`, `admin`, or a custom role name defined by the organization. Defaults to team's current permission if unspecified.", "endpoint_argument_name": "permission" } ] }, "method": "PUT", "path": "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "tags": ["teams"], "summary": "Add or update team repository permissions", "description": "To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n\nFor more information about the permission levels, see \"[Repository permission levels for an organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository." }, "description": "The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.", "required": false, "deprecated": false, "default": "push", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Adding a team to an organization repository with the write role\",\n \"value\": {\n \"permission\": \"push\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"permission\": {\n \"default\": \"push\",\n \"description\": \"The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "teams/list-child-in-org", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_child_teams", "description": { "tagline": "Retrieves child teams of a specified team in an organization.", "detailed": "Use this tool to get a list of child teams under a specific team within an organization on GitHub. It requires specifying the team by its slug and the organization name." }, "return_annotation": "List of child teams for the specified team in the organization.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The organization's name. It's case insensitive and used to specify which organization's team structure to query.", "endpoint_argument_name": "org" }, { "name": "team_identifier_slug", "alternative_names": ["team_name_slug", "team_slug_value"], "description": "The slug of the team name for which to list child teams. This is used to uniquely identify the team within the organization.", "endpoint_argument_name": "team_slug" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "page_index"], "description": "The page number to retrieve in the list of child teams. Use to paginate the results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/orgs/{org}/teams/{team_slug}/teams", "tags": ["teams"], "summary": "List child teams", "description": "Lists the child teams of the team specified by `{team_slug}`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "team_slug", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The slug of the team name." }, "description": "The slug of the team name.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/enable-or-disable-security-product-on-all-org-repos", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "manage_org_security_features", "description": { "tagline": "Toggle security features for all repositories in an organization.", "detailed": "This tool is used to enable or disable a specified security feature across all repositories in a GitHub organization. It requires organization owner access or a security manager role, and a token with 'write:org' scope. GitHub Apps must have the 'organization_administration:write' permission." }, "return_annotation": "Confirmation of the security feature's status change for all repos.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the GitHub organization. This value is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "security_feature", "alternative_names": ["feature_toggle", "security_option"], "description": "Specifies the security feature to enable or disable. Options include: dependency_graph, dependabot_alerts, dependabot_security_updates, advanced_security, secret_scanning, secret_scanning_push_protection.", "endpoint_argument_name": "security_product" }, { "name": "security_feature_action", "alternative_names": ["feature_toggle_action", "repo_security_action"], "description": "Specifies whether to enable or disable the security feature for all organization repositories. Use 'enable_all' to activate and 'disable_all' to deactivate.", "endpoint_argument_name": "enablement" } ] }, "method": "POST", "path": "/orgs/{org}/{security_product}/{enablement}", "tags": ["orgs"], "summary": "Enable or disable a security feature for an organization", "description": "Enables or disables the specified security feature for all repositories in an organization.\n\nTo use this endpoint, you must be an organization owner or be member of a team with the security manager role.\nA token with the 'write:org' scope is also required.\n\nGitHub Apps must have the `organization_administration:write` permission to use this endpoint.\n\nFor more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "security_product", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": [ "dependency_graph", "dependabot_alerts", "dependabot_security_updates", "advanced_security", "secret_scanning", "secret_scanning_push_protection" ], "properties": null, "inner_properties": null, "description": "The security feature to enable or disable." }, "description": "The security feature to enable or disable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "enum": [ "dependency_graph", "dependabot_alerts", "dependabot_security_updates", "advanced_security", "secret_scanning", "secret_scanning_push_protection" ] }, "schema_required": false }, { "name": "enablement", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["enable_all", "disable_all"], "properties": null, "inner_properties": null, "description": "The action to take.\n\n`enable_all` means to enable the specified security feature for all repositories in the organization.\n`disable_all` means to disable the specified security feature for all repositories in the organization." }, "description": "The action to take.\n\n`enable_all` means to enable the specified security feature for all repositories in the organization.\n`disable_all` means to disable the specified security feature for all repositories in the organization.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "enum": ["enable_all", "disable_all"] }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/delete-card", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_project_card", "description": { "tagline": "Delete a project card from GitHub projects.", "detailed": "Call this tool when you need to delete a specific project card from a GitHub project board by providing the card ID." }, "return_annotation": "Confirmation of project card deletion.", "arguments": [ { "name": "card_id", "alternative_names": ["project_card_id", "card_identifier"], "description": "The unique identifier of the project card to delete.", "endpoint_argument_name": "card_id" } ] }, "method": "DELETE", "path": "/projects/columns/cards/{card_id}", "tags": ["projects"], "summary": "Delete a project card", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "card_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the card." }, "description": "The unique identifier of the card.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/get-card", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_project_card", "description": { "tagline": "Retrieve details of a specific project card in GitHub.", "detailed": "Use this tool to get information about a project card in a GitHub project by specifying the card ID. Useful for retrieving details such as card content, column association, and other metadata." }, "return_annotation": "Details of a specific project card.", "arguments": [ { "name": "project_card_id", "alternative_names": ["card_identifier", "project_card_identifier"], "description": "The unique ID of the GitHub project card to retrieve details for.", "endpoint_argument_name": "card_id" } ] }, "method": "GET", "path": "/projects/columns/cards/{card_id}", "tags": ["projects"], "summary": "Get a project card", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "card_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the card." }, "description": "The unique identifier of the card.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/update-card", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_project_card", "description": { "tagline": "Update an existing project card on GitHub.", "detailed": "Use this tool to modify the details of a project card in a GitHub project. Ideal for updating card information such as changing the note or moving it between columns." }, "return_annotation": "Details of the updated project card.", "arguments": [ { "name": "card_identifier", "alternative_names": ["project_card_id", "github_card_id"], "description": "The unique identifier of the GitHub project card to be updated.", "endpoint_argument_name": "card_id" }, { "name": "card_note", "alternative_names": ["project_card_note", "note_content"], "description": "The text note associated with the project card. It can include details or remarks.", "endpoint_argument_name": "note" }, { "name": "set_card_archived_status", "alternative_names": ["update_card_archived_state", "toggle_card_archived"], "description": "Specify true to archive the card or false to unarchive it.", "endpoint_argument_name": "archived" } ] }, "method": "PATCH", "path": "/projects/columns/cards/{card_id}", "tags": ["projects"], "summary": "Update an existing project card", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "card_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the card." }, "description": "The unique identifier of the card.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "archived", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether or not the card is archived" }, "description": "Whether or not the card is archived", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether or not the card is archived", "example": false }, "schema_required": false }, { "name": "note", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The project card's note" }, "description": "The project card's note", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The project card's note", "example": "Update all gems" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Change the note on the card\",\n \"value\": {\n \"note\": \"Add payload for delete Project column\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"archived\": {\n \"description\": \"Whether or not the card is archived\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"note\": {\n \"description\": \"The project card's note\",\n \"example\": \"Update all gems\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/move-card", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "move_project_card", "description": { "tagline": "Move a project card to a different position.", "detailed": "Use this tool to move a card in a GitHub project to a different position within a column. This is helpful when reorganizing tasks or priorities in project management." }, "return_annotation": "Status of the project card move operation.", "arguments": [ { "name": "card_identifier", "alternative_names": ["card_id_number", "unique_card_id"], "description": "The unique identifier for the card to be moved within the project.", "endpoint_argument_name": "card_id" }, { "name": "card_position", "alternative_names": ["card_placement", "card_location"], "description": "Specify where to place the card within the column: 'top', 'bottom', or 'after:'.", "endpoint_argument_name": "position" }, { "name": "destination_column_id", "alternative_names": ["target_column_id", "column_identifier"], "description": "The unique identifier of the column to which the card should be moved.", "endpoint_argument_name": "column_id" } ] }, "method": "POST", "path": "/projects/columns/cards/{card_id}/moves", "tags": ["projects"], "summary": "Move a project card", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "card_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the card." }, "description": "The unique identifier of the card.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column the card should be moved to" }, "description": "The unique identifier of the column the card should be moved to", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "The unique identifier of the column the card should be moved to", "example": 42 }, "schema_required": false }, { "name": "position", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card." }, "description": "The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card.", "example": "bottom", "pattern": "^(?:top|bottom|after:\\d+)$" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Move the card to the bottom of the column\",\n \"value\": {\n \"column_id\": 42,\n \"position\": \"bottom\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"column_id\": {\n \"description\": \"The unique identifier of the column the card should be moved to\",\n \"example\": 42,\n \"type\": \"integer\"\n },\n \"position\": {\n \"description\": \"The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card.\",\n \"example\": \"bottom\",\n \"pattern\": \"^(?:top|bottom|after:\\\\d+)$\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"position\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/delete-column", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_project_column", "description": { "tagline": "Deletes a specific project column on GitHub.", "detailed": "This tool deletes a specified column from a project on GitHub. It should be called when a user wants to remove a column from their project setup." }, "return_annotation": "Confirmation of project column deletion.", "arguments": [ { "name": "project_column_id", "alternative_names": ["column_identifier", "column_id_number"], "description": "The unique integer identifier of the GitHub project column to be deleted.", "endpoint_argument_name": "column_id" } ] }, "method": "DELETE", "path": "/projects/columns/{column_id}", "tags": ["projects"], "summary": "Delete a project column", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column." }, "description": "The unique identifier of the column.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/get-column", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_project_column", "description": { "tagline": "Retrieve details of a GitHub project column using its ID.", "detailed": "Use this tool to obtain information about a specific column in a GitHub project. It should be called when you need to access the details of a project column using its column ID." }, "return_annotation": "Details of the specified GitHub project column.", "arguments": [ { "name": "project_column_id", "alternative_names": ["column_identifier", "github_column_id"], "description": "The unique identifier for the project column to retrieve.", "endpoint_argument_name": "column_id" } ] }, "method": "GET", "path": "/projects/columns/{column_id}", "tags": ["projects"], "summary": "Get a project column", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column." }, "description": "The unique identifier of the column.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/update-column", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_project_column", "description": { "tagline": "Update an existing project column on GitHub.", "detailed": "Use this tool to update details of an existing project column on GitHub. It's applicable when modifications to the project's column are needed, such as changing its name or settings." }, "return_annotation": "Confirmation of project column update.", "arguments": [ { "name": "column_identifier", "alternative_names": ["column_id_number", "project_column_id"], "description": "The unique identifier of the project column to update.", "endpoint_argument_name": "column_id" }, { "name": "project_column_name", "alternative_names": ["column_name", "updated_column_name"], "description": "The new name for the project column on GitHub.", "endpoint_argument_name": "name" } ] }, "method": "PATCH", "path": "/projects/columns/{column_id}", "tags": ["projects"], "summary": "Update an existing project column", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column." }, "description": "The unique identifier of the column.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the project column" }, "description": "Name of the project column", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the project column", "example": "Remaining tasks" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Rename the project column\",\n \"value\": {\n \"name\": \"To Do\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"Name of the project column\",\n \"example\": \"Remaining tasks\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/list-cards", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_project_cards", "description": { "tagline": "Retrieve project cards for a specific column on GitHub projects.", "detailed": "Use this tool to obtain a list of project cards within a specified column in GitHub projects. It is useful for managing tasks and tracking project progress by accessing detailed card information in a particular column." }, "return_annotation": "List of project cards within a specified column.", "arguments": [ { "name": "column_identifier", "alternative_names": ["column_id_number", "unique_column_id"], "description": "The unique identifier for the specified project column, used to list its cards.", "endpoint_argument_name": "column_id" }, { "name": "filter_by_archived_state", "alternative_names": ["card_archived_state", "project_card_state"], "description": "Filters project cards by their archived state. Options are 'all', 'archived', or 'not_archived'.", "endpoint_argument_name": "archived_state" }, { "name": "results_per_page", "alternative_names": ["page_size", "results_limit"], "description": "Number of project cards returned per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specifies the page number of the project cards results to fetch. Useful for navigating through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/projects/columns/{column_id}/cards", "tags": ["projects"], "summary": "List project cards", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "archived_state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "archived", "not_archived"], "properties": null, "inner_properties": null, "description": "Filters the project cards that are returned by the card's state." }, "description": "Filters the project cards that are returned by the card's state.", "required": false, "deprecated": false, "default": "not_archived", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "archived", "not_archived"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column." }, "description": "The unique identifier of the column.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/create-card", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_project_card", "description": { "tagline": "Create a project card in a specified GitHub column.", "detailed": "Use this tool to create a new project card in a specified column within a GitHub project. It helps organize tasks or notes in a project on GitHub." }, "return_annotation": "Details of the created project card.", "arguments": [ { "name": "column_identifier", "alternative_names": ["column_id_number", "column_unique_id"], "description": "The unique identifier of the GitHub project column where the card will be added.", "endpoint_argument_name": "column_id" }, { "name": "project_card_details", "alternative_names": ["card_data", "project_card_info"], "description": "Details for the new GitHub project card as a JSON object. Include fields like 'note' for card content or 'content_id' and 'content_type' for linking issues or pull requests.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/projects/columns/{column_id}/cards", "tags": ["projects"], "summary": "Create a project card", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column." }, "description": "The unique identifier of the column.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "note": { "type": "string", "description": "The project card's note", "example": "Update all gems" } }, "required": ["note"] }, { "type": "object", "properties": { "content_id": { "type": "integer", "description": "The unique identifier of the content associated with the card", "example": 42 }, "content_type": { "type": "string", "description": "The piece of content associated with the card", "example": "PullRequest" } }, "required": ["content_id", "content_type"] } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Create a new card\",\n \"value\": {\n \"note\": \"Add payload for delete Project column\"\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"properties\": {\n \"note\": {\n \"description\": \"The project card's note\",\n \"example\": \"Update all gems\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"note\"\n ],\n \"type\": \"object\"\n },\n {\n \"properties\": {\n \"content_id\": {\n \"description\": \"The unique identifier of the content associated with the card\",\n \"example\": 42,\n \"type\": \"integer\"\n },\n \"content_type\": {\n \"description\": \"The piece of content associated with the card\",\n \"example\": \"PullRequest\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content_id\",\n \"content_type\"\n ],\n \"type\": \"object\"\n }\n ]\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "projects/move-column", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "move_github_project_column", "description": { "tagline": "Move a column within a GitHub project board.", "detailed": "Use this tool to change the position of a project column in a GitHub project board to better organize tasks or workflow." }, "return_annotation": "Confirmation of project column movement.", "arguments": [ { "name": "project_column_id", "alternative_names": ["column_identifier", "proj_column_id"], "description": "The unique identifier of the column to be moved in the GitHub project.", "endpoint_argument_name": "column_id" }, { "name": "column_position", "alternative_names": ["project_column_position", "github_column_position"], "description": "Specifies where to move the project column. Use `first`, `last`, or `after:` to position after a specific column.", "endpoint_argument_name": "position" } ] }, "method": "POST", "path": "/projects/columns/{column_id}/moves", "tags": ["projects"], "summary": "Move a project column", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "column_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the column." }, "description": "The unique identifier of the column.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "position", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column." }, "description": "The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column.", "example": "last", "pattern": "^(?:first|last|after:\\d+)$" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Move the column to the end of the board\",\n \"value\": {\n \"position\": \"last\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"position\": {\n \"description\": \"The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column.\",\n \"example\": \"last\",\n \"pattern\": \"^(?:first|last|after:\\\\d+)$\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"position\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/delete", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_project_board", "description": { "tagline": "Deletes a specified project board on GitHub.", "detailed": "Use this tool to delete a GitHub project board with a given project ID. It is useful for managing and cleaning up project boards. If projects are disabled, a `404 Not Found` status will be returned." }, "return_annotation": "Confirmation of project board deletion.", "arguments": [ { "name": "project_identifier", "alternative_names": ["project_id_num", "project_reference_number"], "description": "The unique identifier of the GitHub project board to be deleted.", "endpoint_argument_name": "project_id" } ] }, "method": "DELETE", "path": "/projects/{project_id}", "tags": ["projects"], "summary": "Delete a project", "description": "Deletes a project board. Returns a `404 Not Found` status if projects are disabled.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_project_by_id", "description": { "tagline": "Retrieve details of a GitHub project by its ID.", "detailed": "Call this tool to obtain information about a specific GitHub project using its ID. It provides project details if accessible or returns an appropriate error status if there are issues like insufficient privileges or if projects are disabled." }, "return_annotation": "Project details or error status for the specified ID.", "arguments": [ { "name": "project_id", "alternative_names": ["project_identifier", "project_id_number"], "description": "The unique identifier for the GitHub project to retrieve.", "endpoint_argument_name": "project_id" } ] }, "method": "GET", "path": "/projects/{project_id}", "tags": ["projects"], "summary": "Get a project", "description": "Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_project_board", "description": { "tagline": "Update a project board's information on GitHub.", "detailed": "This tool updates the details of a specified project board on GitHub. It should be called when there is a need to modify the information of a project board. Note that a `404` error indicates projects are disabled, while a `401` or `410` error indicates insufficient privileges." }, "return_annotation": "Status of the project board update operation.", "arguments": [ { "name": "project_unique_identifier", "alternative_names": ["project_id_number", "project_identifier"], "description": "The unique identifier of the GitHub project board to update.", "endpoint_argument_name": "project_id" }, { "name": "project_description", "alternative_names": ["project_body", "board_description"], "description": "A detailed description or content of the project board.", "endpoint_argument_name": "body" }, { "name": "project_name", "alternative_names": ["project_title", "board_name"], "description": "The new name for the project board. Must be a string.", "endpoint_argument_name": "name" }, { "name": "organization_permission_level", "alternative_names": ["org_permission_level", "default_org_permission"], "description": "Sets the baseline permission for all organization members on this project. Options are 'read', 'write', 'admin', or 'none'.", "endpoint_argument_name": "organization_permission" }, { "name": "project_state", "alternative_names": ["state_of_project", "project_status"], "description": "Specify the state of the project; use 'open' or 'closed'.", "endpoint_argument_name": "state" }, { "name": "is_private", "alternative_names": ["project_visibility", "visibility_private"], "description": "A boolean indicating if the project is private. Set to true for private (not visible to everyone) and false for public.", "endpoint_argument_name": "private" } ] }, "method": "PATCH", "path": "/projects/{project_id}", "tags": ["projects"], "summary": "Update a project", "description": "Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Body of the project" }, "description": "Body of the project", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Body of the project", "example": "This project represents the sprint of the first week in January" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the project" }, "description": "Name of the project", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the project", "example": "Week One Sprint" }, "schema_required": false }, { "name": "organization_permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin", "none"], "properties": null, "inner_properties": null, "description": "The baseline permission that all organization members have on this project" }, "description": "The baseline permission that all organization members have on this project", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The baseline permission that all organization members have on this project", "enum": ["read", "write", "admin", "none"] }, "schema_required": false }, { "name": "private", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether or not this project can be seen by everyone." }, "description": "Whether or not this project can be seen by everyone.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether or not this project can be seen by everyone." }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "State of the project; either 'open' or 'closed'" }, "description": "State of the project; either 'open' or 'closed'", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "State of the project; either 'open' or 'closed'", "example": "open" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Change the name, state, and permissions for a project\",\n \"value\": {\n \"name\": \"Week One Sprint\",\n \"organization_permission\": \"write\",\n \"state\": \"open\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"Body of the project\",\n \"example\": \"This project represents the sprint of the first week in January\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"Name of the project\",\n \"example\": \"Week One Sprint\",\n \"type\": \"string\"\n },\n \"organization_permission\": {\n \"description\": \"The baseline permission that all organization members have on this project\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\",\n \"none\"\n ],\n \"type\": \"string\"\n },\n \"private\": {\n \"description\": \"Whether or not this project can be seen by everyone.\",\n \"type\": \"boolean\"\n },\n \"state\": {\n \"description\": \"State of the project; either 'open' or 'closed'\",\n \"example\": \"open\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/list-collaborators", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_project_collaborators", "description": { "tagline": "Retrieve collaborators for a GitHub organization project.", "detailed": "Use this tool to obtain a list of all collaborators for a specified GitHub organization project, including outside collaborators and organization members with various access levels. Requires organization owner or project admin permissions." }, "return_annotation": "List of collaborators for a GitHub organization project.", "arguments": [ { "name": "project_id", "alternative_names": ["project_identifier", "project_unique_id"], "description": "The unique identifier for the GitHub organization project to retrieve collaborators for.", "endpoint_argument_name": "project_id" }, { "name": "collaborator_affiliation_filter", "alternative_names": ["collaborator_role_filter", "collaborator_type_filter"], "description": "Specifies how to filter collaborators: `outside`, `direct`, or `all`.", "endpoint_argument_name": "affiliation" }, { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "results_count_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The page number to retrieve from the list of collaborators.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/projects/{project_id}/collaborators", "tags": ["projects"], "summary": "List project collaborators", "description": "Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "affiliation", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["outside", "direct", "all"], "properties": null, "inner_properties": null, "description": "Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see." }, "description": "Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["outside", "direct", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/remove-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_project_collaborator", "description": { "tagline": "Remove a collaborator from a GitHub organization project.", "detailed": "Call this tool to remove a collaborator from a specified GitHub organization project. The user must be an organization owner or a project admin to perform this operation." }, "return_annotation": "Confirmation of collaborator removal from the project.", "arguments": [ { "name": "project_unique_identifier", "alternative_names": ["project_id_number", "project_reference_id"], "description": "The unique numeric identifier of the GitHub organization project.", "endpoint_argument_name": "project_id" }, { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The GitHub user's handle to be removed as a collaborator.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/projects/{project_id}/collaborators/{username}", "tags": ["projects"], "summary": "Remove user as a collaborator", "description": "Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/add-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_project_collaborator", "description": { "tagline": "Add a collaborator to an organization project.", "detailed": "This tool adds a collaborator to a specified organization project and assigns a permission level. It requires the user to be an organization owner or a project admin." }, "return_annotation": "Confirmation of collaborator addition to the project.", "arguments": [ { "name": "project_id", "alternative_names": ["project_identifier", "project_key"], "description": "The unique identifier of the project to which a collaborator is being added. This ID is required to specify the exact project for collaboration.", "endpoint_argument_name": "project_id" }, { "name": "collaborator_username", "alternative_names": ["user_handle", "github_user_account"], "description": "The GitHub username of the collaborator to be added to the project.", "endpoint_argument_name": "username" }, { "name": "collaborator_permission_level", "alternative_names": [ "permission_level_for_collaborator", "project_collaborator_permission" ], "description": "The permission level to assign to the collaborator. Options are: 'read', 'write', or 'admin'.", "endpoint_argument_name": "permission" } ] }, "method": "PUT", "path": "/projects/{project_id}/collaborators/{username}", "tags": ["projects"], "summary": "Add project collaborator", "description": "Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The permission to grant the collaborator." }, "description": "The permission to grant the collaborator.", "required": false, "deprecated": false, "default": "write", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permission to grant the collaborator.", "enum": ["read", "write", "admin"], "example": "write" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Applying write permissions for the new collaborator\",\n \"value\": {\n \"permission\": \"write\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"permission\": {\n \"default\": \"write\",\n \"description\": \"The permission to grant the collaborator.\",\n \"enum\": [\n \"read\",\n \"write\",\n \"admin\"\n ],\n \"example\": \"write\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/get-permission-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_project_permission", "description": { "tagline": "Retrieve a user's permission level for an organization project.", "detailed": "Use this tool to find out what level of access a specific user has to an organization project on GitHub. This is useful for organization owners or project admins to verify permissions." }, "return_annotation": "Collaborator's permission level for a project.", "arguments": [ { "name": "project_id", "alternative_names": ["project_identifier", "proj_id"], "description": "The unique identifier of the GitHub project for which to fetch the user's permission.", "endpoint_argument_name": "project_id" }, { "name": "github_user_handle", "alternative_names": ["user_github_handle", "github_username"], "description": "The GitHub username of the user whose project permission level is being queried.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/projects/{project_id}/collaborators/{username}/permission", "tags": ["projects"], "summary": "Get project permission for a user", "description": "Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/list-columns", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_project_columns", "description": { "tagline": "Retrieve columns of a specific GitHub project.", "detailed": "Use this tool to get a list of columns for a specified GitHub project. It's useful when you need to know the structure or organization of a GitHub project board." }, "return_annotation": "List of columns for a specified GitHub project.", "arguments": [ { "name": "project_identifier", "alternative_names": ["project_id_number", "unique_project_id"], "description": "The unique identifier of the GitHub project to list columns for.", "endpoint_argument_name": "project_id" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page_number", "page_index"], "description": "The specific page number of the results to fetch from the GitHub project columns list.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/projects/{project_id}/columns", "tags": ["projects"], "summary": "List project columns", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/create-column", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_project_column", "description": { "tagline": "Create a new column in a GitHub project.", "detailed": "This tool creates a new column in a specified GitHub project board. Useful for organizing tasks or issues within project management workflows." }, "return_annotation": "Details of the created project column.", "arguments": [ { "name": "project_id", "alternative_names": ["project_identifier", "project_id_number"], "description": "The unique integer identifier for the GitHub project where the column will be created.", "endpoint_argument_name": "project_id" }, { "name": "column_name", "alternative_names": ["project_column_name", "board_column_name"], "description": "The name of the column to be created in the GitHub project.", "endpoint_argument_name": "name" } ] }, "method": "POST", "path": "/projects/{project_id}/columns", "tags": ["projects"], "summary": "Create a project column", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the project column" }, "description": "Name of the project column", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the project column", "example": "Remaining tasks" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"Remaining tasks\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"Name of the project column\",\n \"example\": \"Remaining tasks\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "rate-limit/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_rate_limit", "description": { "tagline": "Retrieve current GitHub API rate limit status.", "detailed": "Use this tool to check the current API rate limit status on GitHub. It provides information on the remaining requests allowed in the current rate limit window without affecting your API usage." }, "return_annotation": "Current GitHub API rate limit status.", "arguments": [] }, "method": "GET", "path": "/rate_limit", "tags": ["rate-limit"], "summary": "Get rate limit status for the authenticated user", "description": "**Note:** Accessing this endpoint does not count against your REST API rate limit.\n\n**Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-repo-required-workflows", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_required_workflows", "description": { "tagline": "Retrieve required workflows in a GitHub repository.", "detailed": "Use this tool to list required workflows in a GitHub repository. This is accessible to anyone with read access. For private repositories, an access token with the `repo` scope is necessary. GitHub Apps need `actions:read` permission." }, "return_annotation": "List of required workflows in the repository.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_title"], "description": "The name of the GitHub repository you want to query. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "The specific page of workflow results to retrieve. Use this for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{org}/{repo}/actions/required_workflows", "tags": ["actions"], "summary": "List repository required workflows", "description": "Lists the required workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. For more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-repo-required-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repo_required_workflow", "description": { "tagline": "Retrieve a specific required workflow from a GitHub repository.", "detailed": "This tool fetches details of a required workflow from a specified GitHub repository. It can be used by anyone with read access to the repository. For private repositories, an access token with the 'repo' scope is needed. Useful for managing and auditing workflows in GitHub repositories." }, "return_annotation": "Details of the required workflow for a repository.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "github_org"], "description": "The name of the GitHub organization. It is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "required_workflow_id", "alternative_names": ["workflow_id_for_repo", "repo_workflow_id"], "description": "The unique ID of the required workflow that has executed at least once in the repository.", "endpoint_argument_name": "required_workflow_id_for_repo" } ] }, "method": "GET", "path": "/repos/{org}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}", "tags": ["actions"], "summary": "Get a required workflow entity for a repository", "description": "Gets a specific required workflow present in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. For more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id_for_repo", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the required workflow that has run at least once in a repository." }, "description": "The ID of the required workflow that has run at least once in a repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_repository", "description": { "tagline": "Deletes a specified GitHub repository.", "detailed": "Use this tool to delete a GitHub repository when you have admin access and the necessary permissions. Ensure that OAuth is used with the 'delete_repo' scope if required. Be aware of organization-level restrictions that might prohibit deletion." }, "return_annotation": "Confirmation of repository deletion.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repo_owner", "repository_owner"], "description": "The account owner of the repository; not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository you want to delete. This is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}", "tags": ["repos"], "summary": "Delete a repository", "description": "Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.\n\nIf an organization owner has configured the organization to prevent members from deleting organization-owned\nrepositories, you will get a `403 Forbidden` response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repository_details", "description": { "tagline": "Retrieve detailed information about a GitHub repository.", "detailed": "This tool retrieves detailed information about a specified GitHub repository. It provides details such as the parent and source repositories if the repository is a fork. Admin or owner permissions might be required to access certain security details." }, "return_annotation": "Repository details including fork information.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "Specify the account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_title"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}", "tags": ["repos"], "summary": "Get a repository", "description": "The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.\n\n**Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.8/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_repository", "description": { "tagline": "Update repository details on GitHub.", "detailed": "This tool updates the details of a specified GitHub repository. Note: To modify a repository's topics, a different endpoint should be used." }, "return_annotation": "Confirmation of the repository update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_identifier"], "description": "The name of the repository to update, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "repository_update_details", "alternative_names": ["repo_update_payload", "repository_modification_data"], "description": "A JSON object containing key-value pairs to update repository settings such as visibility, default branch, merge options, etc.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}", "tags": ["repos"], "summary": "Update a repository", "description": "**Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#replace-all-repository-topics) endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "allow_forking": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow private forks, or `false` to prevent private forks." }, "allow_merge_commit": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits." }, "allow_rebase_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging." }, "allow_squash_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging." }, "allow_update_branch": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise." }, "archived": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to archive this repository. `false` will unarchive a previously archived repository." }, "default_branch": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Updates the default branch for this repository." }, "delete_branch_on_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion." }, "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the repository." }, "has_issues": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to enable issues for this repository or `false` to disable them." }, "has_projects": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error." }, "has_wiki": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to enable the wiki for this repository or `false` to disable it." }, "homepage": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL with more information about the repository." }, "is_template": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to make this repo available as a template repository or `false` to prevent it." }, "merge_commit_message": { "val_type": "string", "inner_val_type": null, "enum": ["PR_BODY", "PR_TITLE", "BLANK"], "properties": null, "inner_properties": null, "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message." }, "merge_commit_title": { "val_type": "string", "inner_val_type": null, "enum": ["PR_TITLE", "MERGE_MESSAGE"], "properties": null, "inner_properties": null, "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository." }, "private": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to make the repository private or `false` to make it public. Default: `false`. \n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private." }, "squash_merge_commit_message": { "val_type": "string", "inner_val_type": null, "enum": ["PR_BODY", "COMMIT_MESSAGES", "BLANK"], "properties": null, "inner_properties": null, "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message." }, "squash_merge_commit_title": { "val_type": "string", "inner_val_type": null, "enum": ["PR_TITLE", "COMMIT_OR_PR_TITLE"], "properties": null, "inner_properties": null, "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)." }, "use_squash_pr_title_as_default": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead." }, "visibility": { "val_type": "string", "inner_val_type": null, "enum": ["public", "private", "internal"], "properties": null, "inner_properties": null, "description": "The visibility of the repository." }, "web_commit_signoff_required": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "allow_forking": { "type": "boolean", "description": "Either `true` to allow private forks, or `false` to prevent private forks." }, "allow_merge_commit": { "type": "boolean", "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits." }, "allow_rebase_merge": { "type": "boolean", "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging." }, "allow_squash_merge": { "type": "boolean", "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging." }, "allow_update_branch": { "type": "boolean", "description": "Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise." }, "archived": { "type": "boolean", "description": "Whether to archive this repository. `false` will unarchive a previously archived repository." }, "default_branch": { "type": "string", "description": "Updates the default branch for this repository." }, "delete_branch_on_merge": { "type": "boolean", "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion." }, "description": { "type": "string", "description": "A short description of the repository." }, "has_issues": { "type": "boolean", "description": "Either `true` to enable issues for this repository or `false` to disable them." }, "has_projects": { "type": "boolean", "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error." }, "has_wiki": { "type": "boolean", "description": "Either `true` to enable the wiki for this repository or `false` to disable it." }, "homepage": { "type": "string", "description": "A URL with more information about the repository." }, "is_template": { "type": "boolean", "description": "Either `true` to make this repo available as a template repository or `false` to prevent it." }, "merge_commit_message": { "type": "string", "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.", "enum": ["PR_BODY", "PR_TITLE", "BLANK"] }, "merge_commit_title": { "type": "string", "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).", "enum": ["PR_TITLE", "MERGE_MESSAGE"] }, "name": { "type": "string", "description": "The name of the repository." }, "private": { "type": "boolean", "description": "Either `true` to make the repository private or `false` to make it public. Default: `false`. \n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private." }, "squash_merge_commit_message": { "type": "string", "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.", "enum": ["PR_BODY", "COMMIT_MESSAGES", "BLANK"] }, "squash_merge_commit_title": { "type": "string", "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).", "enum": ["PR_TITLE", "COMMIT_OR_PR_TITLE"] }, "use_squash_pr_title_as_default": { "type": "boolean", "description": "Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead." }, "visibility": { "type": "string", "description": "The visibility of the repository.", "enum": ["public", "private", "internal"] }, "web_commit_signoff_required": { "type": "boolean", "description": "Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits." } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"This is your first repository\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_wiki\": true,\n \"homepage\": \"https://github.com\",\n \"name\": \"Hello-World\",\n \"private\": true\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_forking\": {\n \"default\": false,\n \"description\": \"Either `true` to allow private forks, or `false` to prevent private forks.\",\n \"type\": \"boolean\"\n },\n \"allow_merge_commit\": {\n \"default\": true,\n \"description\": \"Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.\",\n \"type\": \"boolean\"\n },\n \"allow_rebase_merge\": {\n \"default\": true,\n \"description\": \"Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.\",\n \"type\": \"boolean\"\n },\n \"allow_squash_merge\": {\n \"default\": true,\n \"description\": \"Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.\",\n \"type\": \"boolean\"\n },\n \"allow_update_branch\": {\n \"default\": false,\n \"description\": \"Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise.\",\n \"type\": \"boolean\"\n },\n \"archived\": {\n \"default\": false,\n \"description\": \"Whether to archive this repository. `false` will unarchive a previously archived repository.\",\n \"type\": \"boolean\"\n },\n \"default_branch\": {\n \"description\": \"Updates the default branch for this repository.\",\n \"type\": \"string\"\n },\n \"delete_branch_on_merge\": {\n \"default\": false,\n \"description\": \"Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.\",\n \"type\": \"boolean\"\n },\n \"description\": {\n \"description\": \"A short description of the repository.\",\n \"type\": \"string\"\n },\n \"has_issues\": {\n \"default\": true,\n \"description\": \"Either `true` to enable issues for this repository or `false` to disable them.\",\n \"type\": \"boolean\"\n },\n \"has_projects\": {\n \"default\": true,\n \"description\": \"Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.\",\n \"type\": \"boolean\"\n },\n \"has_wiki\": {\n \"default\": true,\n \"description\": \"Either `true` to enable the wiki for this repository or `false` to disable it.\",\n \"type\": \"boolean\"\n },\n \"homepage\": {\n \"description\": \"A URL with more information about the repository.\",\n \"type\": \"string\"\n },\n \"is_template\": {\n \"default\": false,\n \"description\": \"Either `true` to make this repo available as a template repository or `false` to prevent it.\",\n \"type\": \"boolean\"\n },\n \"merge_commit_message\": {\n \"description\": \"The default value for a merge commit message.\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `PR_BODY` - default to the pull request's body.\\n- `BLANK` - default to a blank commit message.\",\n \"enum\": [\n \"PR_BODY\",\n \"PR_TITLE\",\n \"BLANK\"\n ],\n \"type\": \"string\"\n },\n \"merge_commit_title\": {\n \"description\": \"The default value for a merge commit title.\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).\",\n \"enum\": [\n \"PR_TITLE\",\n \"MERGE_MESSAGE\"\n ],\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the repository.\",\n \"type\": \"string\"\n },\n \"private\": {\n \"default\": false,\n \"description\": \"Either `true` to make the repository private or `false` to make it public. Default: `false`. \\n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private.\",\n \"type\": \"boolean\"\n },\n \"squash_merge_commit_message\": {\n \"description\": \"The default value for a squash merge commit message:\\n\\n- `PR_BODY` - default to the pull request's body.\\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\\n- `BLANK` - default to a blank commit message.\",\n \"enum\": [\n \"PR_BODY\",\n \"COMMIT_MESSAGES\",\n \"BLANK\"\n ],\n \"type\": \"string\"\n },\n \"squash_merge_commit_title\": {\n \"description\": \"The default value for a squash merge commit title:\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).\",\n \"enum\": [\n \"PR_TITLE\",\n \"COMMIT_OR_PR_TITLE\"\n ],\n \"type\": \"string\"\n },\n \"use_squash_pr_title_as_default\": {\n \"default\": false,\n \"deprecated\": true,\n \"description\": \"Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead.\",\n \"type\": \"boolean\"\n },\n \"visibility\": {\n \"description\": \"The visibility of the repository.\",\n \"enum\": [\n \"public\",\n \"private\",\n \"internal\"\n ],\n \"type\": \"string\"\n },\n \"web_commit_signoff_required\": {\n \"default\": false,\n \"description\": \"Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "actions/list-artifacts-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_artifacts", "description": { "tagline": "Retrieve all artifacts for a GitHub repository.", "detailed": "Use this tool to get a list of all artifacts for a specific GitHub repository. It requires read access to the repository, and if private, an access token with the `repo` scope is needed. GitHub Apps require `actions:read` permission." }, "return_annotation": "List of artifacts from a specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The username or organization name of the repository owner. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to retrieve artifacts from. This input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "artifacts_per_page"], "description": "Specify the number of artifacts to return per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "page_number_of_results"], "description": "Specify the page number of results to fetch for paginated artifact listings.", "endpoint_argument_name": "page" }, { "name": "filter_artifacts_by_name", "alternative_names": ["artifact_name_filter", "exact_artifact_name"], "description": "Filters artifacts by providing an exact match for the artifact name. Use a string to specify the artifact name.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/artifacts", "tags": ["actions"], "summary": "List artifacts for a repository", "description": "Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Filters artifacts by exact match on their name field." }, "description": "Filters artifacts by exact match on their name field.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-artifact", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_artifact", "description": { "tagline": "Deletes a specified GitHub artifact.", "detailed": "Use this tool to delete an artifact from a GitHub workflow run. Authentication with an access token having the `repo` scope is required, or a GitHub App must have `actions:write` permission." }, "return_annotation": "Confirmation of the artifact deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository, case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository where the artifact resides. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "artifact_unique_identifier", "alternative_names": ["artifact_id_number", "artifact_identifier"], "description": "The unique identifier of the artifact to be deleted. Must be an integer value.", "endpoint_argument_name": "artifact_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "tags": ["actions"], "summary": "Delete an artifact", "description": "Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "artifact_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the artifact." }, "description": "The unique identifier of the artifact.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-artifact", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_workflow_artifact", "description": { "tagline": "Retrieve a specific artifact from a GitHub workflow run.", "detailed": "Use this tool to access a specific artifact from a GitHub repository's workflow run. Requires appropriate permissions and access token for private repositories." }, "return_annotation": "Details of a specific workflow artifact.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "artifact_identifier", "alternative_names": ["artifact_id_number", "unique_artifact_id"], "description": "The unique identifier for the artifact to retrieve from a workflow run.", "endpoint_argument_name": "artifact_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "tags": ["actions"], "summary": "Get an artifact", "description": "Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "artifact_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the artifact." }, "description": "The unique identifier of the artifact.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/download-artifact", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_artifact_download_url", "description": { "tagline": "Retrieve a URL to download a GitHub artifact zip file.", "detailed": "Use this tool to get a redirect URL for downloading an artifact zip file from a GitHub repository. The URL is valid for 1 minute and requires read access to the repository. For private repositories, an access token with the 'repo' scope is needed. This tool is useful for automating the retrieval of artifact files from GitHub Actions." }, "return_annotation": "A redirect URL to download an artifact zip from GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (not case sensitive).", "endpoint_argument_name": "repo" }, { "name": "artifact_id", "alternative_names": ["artifact_identifier", "artifact_number"], "description": "The unique identifier of the artifact to be downloaded.", "endpoint_argument_name": "artifact_id" }, { "name": "archive_format_zip", "alternative_names": ["artifact_zip_format", "artifact_file_format"], "description": "Specify the archive format as 'zip'. This is required for the download link.", "endpoint_argument_name": "archive_format" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "tags": ["actions"], "summary": "Download an artifact", "description": "Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\nthe response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "artifact_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the artifact." }, "description": "The unique identifier of the artifact.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "archive_format", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-usage", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_cache_usage", "description": { "tagline": "Fetch GitHub Actions cache usage for a repository.", "detailed": "Use this tool to get the current cache usage for GitHub Actions in a specific repository. Cache data is updated approximately every 5 minutes. Requires read access to the repository and appropriate permissions for private repositories." }, "return_annotation": "GitHub Actions cache usage data for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Case insensitive name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/cache/usage", "tags": ["actions"], "summary": "Get GitHub Actions cache usage for a repository", "description": "Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-usage-policy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_github_actions_cache_policy", "description": { "tagline": "Retrieve the cache usage policy for GitHub Actions in a repository.", "detailed": "This tool retrieves the GitHub Actions cache usage policy for a specified repository. It requires authentication with an access token that has the `repo` scope. GitHub Apps need the `actions:read` permission to access this endpoint." }, "return_annotation": "GitHub Actions cache usage policy for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/cache/usage-policy", "tags": ["actions"], "summary": "Get GitHub Actions cache usage policy for a repository", "description": "Gets GitHub Actions cache usage policy for a repository.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-actions-cache-usage-policy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "configure_github_actions_cache", "description": { "tagline": "Set GitHub Actions cache usage policy for a repository.", "detailed": "Use this tool to configure the cache usage policy for GitHub Actions in a repository. Authentication with an access token with 'repo' scope is required, or GitHub Apps need 'actions:write' permission." }, "return_annotation": "Information about the updated cache usage policy.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. This is the GitHub username or organization name and is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "repository_cache_size_limit_gb", "alternative_names": ["repo_cache_size_limit", "cache_size_limit_gb"], "description": "Specify the size limit for all GitHub Actions caches in the repository, in gigabytes.", "endpoint_argument_name": "repo_cache_size_limit_in_gb" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/actions/cache/usage-policy", "tags": ["actions"], "summary": "Set GitHub Actions cache usage policy for a repository", "description": "Sets GitHub Actions cache usage policy for a repository.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "repo_cache_size_limit_in_gb", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The size limit for the sum of all caches, in gigabytes." }, "description": "The size limit for the sum of all caches, in gigabytes.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "The size limit for the sum of all caches, in gigabytes.", "example": 14 }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"selected_actions\": {\n \"$ref\": \"#/components/examples/actions-cache-usage-policy\"\n }\n },\n \"schema\": {\n \"description\": \"GitHub Actions cache usage policy for repository.\",\n \"properties\": {\n \"repo_cache_size_limit_in_gb\": {\n \"description\": \"The size limit for the sum of all caches, in gigabytes.\",\n \"example\": 14,\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"repo_cache_size_limit_in_gb\"\n ],\n \"title\": \"Actions cache usage policy for repository\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/delete-actions-cache-by-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_actions_cache_key", "description": { "tagline": "Delete GitHub Actions caches by key for a repository.", "detailed": "Use this tool to delete one or more GitHub Actions caches for a repository by specifying a complete cache key. Optionally, provide a Git ref to restrict deletions. Requires an access token with `repo` scope or `actions:write` permission for GitHub Apps." }, "return_annotation": "Confirmation of cache deletion for a repository.", "arguments": [ { "name": "cache_key", "alternative_names": ["cache_identifier", "delete_key"], "description": "The key used to identify and delete a specific GitHub Actions cache.", "endpoint_argument_name": "key" }, { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "git_reference_for_cache_deletion", "alternative_names": ["git_ref_for_cache_removal", "cache_deletion_reference"], "description": "Specify the Git reference to restrict cache deletion. Use `refs/heads/` for branches or `refs/pull//merge` for pull requests.", "endpoint_argument_name": "ref" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/caches", "tags": ["actions"], "summary": "Delete GitHub Actions caches for a repository (using a cache key)", "description": "Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\n\nGitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A key for identifying the cache." }, "description": "A key for identifying the cache.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`." }, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-actions-cache-list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_actions_caches", "description": { "tagline": "Retrieve the list of GitHub Actions caches for a repository.", "detailed": "This tool fetches the list of GitHub Actions caches for a specified repository. It requires authentication with an access token having the 'repo' scope, or GitHub Apps must have the 'actions:read' permission." }, "return_annotation": "A list of GitHub Actions caches for the specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "Specify the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page_number"], "description": "The page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" }, { "name": "git_reference", "alternative_names": ["branch_reference", "pull_request_reference"], "description": "Specify the Git reference for the results to list. Use `refs/heads/` for branches or `refs/pull//merge` for pull requests.", "endpoint_argument_name": "ref" }, { "name": "cache_key_or_prefix", "alternative_names": ["cache_identifier", "cache_prefix"], "description": "Explicit key or prefix to identify the cache. Use this to filter caches by specific keys or prefixes.", "endpoint_argument_name": "key" }, { "name": "sort_by_property", "alternative_names": ["sort_by", "sort_criteria"], "description": "The property to sort results by. Options are 'created_at', 'last_accessed_at', or 'size_in_bytes'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["result_order", "sort_order"], "description": "Specify 'asc' for ascending or 'desc' for descending order of results.", "endpoint_argument_name": "direction" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/caches", "tags": ["actions"], "summary": "List GitHub Actions caches for a repository", "description": "Lists the GitHub Actions caches for a repository.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`." }, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "schema_required": false }, { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An explicit key or prefix for identifying the cache" }, "description": "An explicit key or prefix for identifying the cache", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created_at", "last_accessed_at", "size_in_bytes"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes." }, "description": "The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes.", "required": false, "deprecated": false, "default": "last_accessed_at", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created_at", "last_accessed_at", "size_in_bytes"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-actions-cache-by-id", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_actions_cache", "description": { "tagline": "Delete a GitHub Actions cache by ID for a repository.", "detailed": "Use this tool to delete a specific GitHub Actions cache from a repository using its cache ID. Requires authentication with a token having `repo` scope. Useful for managing and cleaning up repository caches." }, "return_annotation": "Confirmation of GitHub Actions cache deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "github_actions_cache_id", "alternative_names": ["cache_identifier", "actions_cache_id"], "description": "The unique identifier for the GitHub Actions cache to be deleted.", "endpoint_argument_name": "cache_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/caches/{cache_id}", "tags": ["actions"], "summary": "Delete a GitHub Actions cache for a repository (using a cache ID)", "description": "Deletes a GitHub Actions cache for a repository, using a cache ID.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\n\nGitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "cache_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the GitHub Actions cache." }, "description": "The unique identifier of the GitHub Actions cache.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-job-for-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_workflow_job", "description": { "tagline": "Retrieve a specific job from a GitHub workflow run.", "detailed": "Use this tool to get details of a specific job from a GitHub workflow run. Requires read access to the repository. For private repositories, an access token with 'repo' scope is needed. GitHub Apps need 'actions:read' permission." }, "return_annotation": "Details of a specific job in a GitHub workflow run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "job_identifier", "alternative_names": ["job_id_number", "workflow_job_id"], "description": "Unique integer identifier of the workflow job to retrieve.", "endpoint_argument_name": "job_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/jobs/{job_id}", "tags": ["actions"], "summary": "Get a job for a workflow run", "description": "Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "job_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the job." }, "description": "The unique identifier of the job.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/download-job-logs-for-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "download_github_workflow_job_logs", "description": { "tagline": "Retrieve a URL to download GitHub workflow job logs.", "detailed": "Use this tool to get a link for downloading logs of a specific GitHub workflow job. The link is a plain text file URL and expires in 1 minute. Users must have read access to the repository. For private repositories, an access token with 'repo' scope is required, or 'actions:read' permission for GitHub Apps." }, "return_annotation": "A redirect URL to download the workflow job logs.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. Provide the name in a non-case sensitive format.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "workflow_job_id", "alternative_names": ["job_identifier", "unique_job_id"], "description": "The unique identifier of the GitHub workflow job to download logs for.", "endpoint_argument_name": "job_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "tags": ["actions"], "summary": "Download job logs for a workflow run", "description": "Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\nfor `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can\nuse this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\nhave the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "job_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the job." }, "description": "The unique identifier of the job.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/re-run-job-for-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "github_rerun_workflow_job", "description": { "tagline": "Re-run a job in a GitHub workflow.", "detailed": "This tool re-runs a specific job and its dependent jobs within a GitHub workflow run. Use it when you need to restart a job that has failed or requires re-execution. Requires authentication with an access token having `repo` scope or `actions:write` permission for GitHub Apps." }, "return_annotation": "Status of the workflow job re-run request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "job_identifier", "alternative_names": ["identifier_of_job", "job_unique_id"], "description": "The unique integer identifier of the job to be re-run. This is required to specify which job in the workflow needs to be restarted.", "endpoint_argument_name": "job_id" }, { "name": "enable_debug_logging", "alternative_names": ["debug_logging_enabled", "activate_debug_logging"], "description": "Set to true to enable debug logging for the re-run.", "endpoint_argument_name": "enable_debug_logging" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "tags": ["actions"], "summary": "Re-run a job from a workflow run", "description": "Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "job_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the job." }, "description": "The unique identifier of the job.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "enable_debug_logging", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to enable debug logging for the re-run." }, "description": "Whether to enable debug logging for the re-run.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether to enable debug logging for the re-run." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": null\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"enable_debug_logging\": {\n \"default\": false,\n \"description\": \"Whether to enable debug logging for the re-run.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/get-custom-oidc-sub-claim-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_oidc_subject_claim_template", "description": { "tagline": "Retrieve the OIDC subject claim customization template for a repository.", "detailed": "Use this tool to get the customization template for an OpenID Connect (OIDC) subject claim for a specific GitHub repository. Requires authentication with a token having `repo` scope, or `organization_administration:read` permission for GitHub Apps." }, "return_annotation": "Customization template for an OIDC subject claim.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/oidc/customization/sub", "tags": ["actions"], "summary": "Get the customization template for an OIDC subject claim for a repository", "description": "Gets the customization template for an OpenID Connect (OIDC) subject claim.\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-custom-oidc-sub-claim-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_oidc_subject_claim", "description": { "tagline": "Customize OIDC subject claim for a GitHub repository.", "detailed": "This tool is used to set the customization template and opt-in or opt-out flag for an OpenID Connect (OIDC) subject claim in a GitHub repository. It requires authentication with a token having `repo` scope or GitHub App permissions with `actions:write`." }, "return_annotation": "Confirmation of OIDC claim customization for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "use_default_template", "alternative_names": ["default_template_usage", "apply_default_template"], "description": "Set to true to use the default template, which ignores `include_claim_keys`.", "endpoint_argument_name": "use_default" }, { "name": "claim_keys_to_include", "alternative_names": ["oidc_claim_keys", "subject_claim_keys"], "description": "Array of unique strings for claim keys, containing only alphanumeric characters and underscores.", "endpoint_argument_name": "include_claim_keys" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/oidc/customization/sub", "tags": ["actions"], "summary": "Set the customization template for an OIDC subject claim for a repository", "description": "Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository.\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "include_claim_keys", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores." }, "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "items": { "type": "string" } }, "schema_required": false }, { "name": "use_default", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored." }, "description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"include_claim_keys\": [\n \"repo\",\n \"context\"\n ],\n \"use_default\": false\n }\n }\n },\n \"schema\": {\n \"description\": \"Actions OIDC subject customization for a repository\",\n \"properties\": {\n \"include_claim_keys\": {\n \"description\": \"Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"use_default\": {\n \"description\": \"Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored.\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"use_default\"\n ],\n \"title\": \"Actions OIDC subject customization for a repository\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/get-github-actions-permissions-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_github_actions_perms", "description": { "tagline": "Retrieve GitHub Actions permissions for a repository.", "detailed": "Use this tool to get information on whether GitHub Actions is enabled for a repository and what actions are permitted. Requires authentication with a token with `repo` scope or a GitHub App with `administration` repository permission." }, "return_annotation": "Details about the GitHub Actions permissions policy for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/permissions", "tags": ["actions"], "summary": "Get GitHub Actions permissions for a repository", "description": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-github-actions-permissions-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_repo_actions_permissions", "description": { "tagline": "Sets GitHub Actions permissions for a repository.", "detailed": "Use this tool to set the GitHub Actions permissions policy for a specific repository. Ideal when you need to enable or restrict actions in a repository under certain conditions. Ensure to authenticate with a token having the `repo` scope or a GitHub App with `administration` permissions." }, "return_annotation": "Confirmation of GitHub Actions permissions update for the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "enable_github_actions", "alternative_names": ["enable_actions", "github_actions_enabled"], "description": "Boolean flag indicating if GitHub Actions should be enabled on the repository. `True` enables, `False` disables.", "endpoint_argument_name": "enabled" }, { "name": "actions_permission_policy", "alternative_names": ["github_actions_policy", "allowed_actions_setting"], "description": "Defines the policy for actions allowed to run: 'all', 'local_only', or 'selected'.", "endpoint_argument_name": "allowed_actions" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/permissions", "tags": ["actions"], "summary": "Set GitHub Actions permissions for a repository", "description": "Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n\nIf the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "allowed_actions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "local_only", "selected"], "properties": null, "inner_properties": null, "description": "The permissions policy that controls the actions that are allowed to run." }, "description": "The permissions policy that controls the actions that are allowed to run.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permissions policy that controls the actions that are allowed to run.", "enum": ["all", "local_only", "selected"] }, "schema_required": false }, { "name": "enabled", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub Actions is enabled on the repository." }, "description": "Whether GitHub Actions is enabled on the repository.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether GitHub Actions is enabled on the repository." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allowed_actions\": \"selected\",\n \"enabled\": true\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allowed_actions\": {\n \"description\": \"The permissions policy that controls the actions that are allowed to run.\",\n \"enum\": [\n \"all\",\n \"local_only\",\n \"selected\"\n ],\n \"type\": \"string\"\n },\n \"enabled\": {\n \"description\": \"Whether GitHub Actions is enabled on the repository.\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"enabled\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/get-workflow-access-to-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_workflow_access_level", "description": { "tagline": "Determine external workflow access level for a repository.", "detailed": "Utilize this tool to find out what level of access workflows outside of a specified internal or private repository have to its actions and reusable workflows. This tool is applicable only to internal and private repositories and requires appropriate authentication." }, "return_annotation": "Access level for workflows outside the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository (case insensitive).", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/permissions/access", "tags": ["actions"], "summary": "Get the level of access for workflows outside of the repository", "description": "Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"[Allowing access to components in a private repository](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)\" and\n\"[Allowing access to components in an internal repository](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the\nrepository `administration` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-workflow-access-to-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_workflow_access", "description": { "tagline": "Set the access level for workflows in a repository.", "detailed": "Adjusts the access level for workflows and reusable workflows in internal or private GitHub repositories. Requires authentication with a token that has the `repo` scope or a GitHub App with `administration` permissions." }, "return_annotation": "Confirmation of the workflow access level change.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name that owns the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_access_level", "alternative_names": ["external_workflow_access", "workflow_sharing_permission"], "description": "Specifies access level for workflows outside the repository: 'none', 'user', or 'organization'.", "endpoint_argument_name": "access_level" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/permissions/access", "tags": ["actions"], "summary": "Set the level of access for workflows outside of the repository", "description": "Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"[Allowing access to components in a private repository](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)\" and\n\"[Allowing access to components in an internal repository](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the\nrepository `administration` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "access_level", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["none", "user", "organization"], "properties": null, "inner_properties": null, "description": "Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the\nrepository.\n\n`none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization." }, "description": "Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the\nrepository.\n\n`none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the\nrepository.\n\n`none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization.", "enum": ["none", "user", "organization"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"$ref\": \"#/components/examples/actions-workflow-access-to-repository\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"access_level\": {\n \"description\": \"Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the\\nrepository.\\n\\n`none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization.\",\n \"enum\": [\n \"none\",\n \"user\",\n \"organization\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"access_level\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/get-allowed-actions-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_allowed_actions_for_repo", "description": { "tagline": "Retrieve allowed GitHub Actions settings for a repository.", "detailed": "Use this tool to fetch the settings for actions that are allowed in a GitHub repository. This is applicable when the repository's policy is set to `selected` for `allowed_actions`. Requires authentication with a token having `repo` scope or GitHub Apps with `administration` permission." }, "return_annotation": "Settings of allowed GitHub Actions in the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The username or organization name of the repository owner. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/permissions/selected-actions", "tags": ["actions"], "summary": "Get allowed actions for a repository", "description": "Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-allowed-actions-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_actions_allowed_in_repo", "description": { "tagline": "Set allowed GitHub Actions in a repository.", "detailed": "Configure which GitHub Actions are permitted in a specific repository. Requires repository permission policy to be set to 'selected' and appropriate authentication. Cannot override organization-level settings." }, "return_annotation": "Confirmation of setting allowed actions in a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "allowed_actions_settings", "alternative_names": ["actions_permissions_configuration", "github_actions_settings"], "description": "JSON object containing settings for allowed GitHub Actions like github_owned_allowed (boolean) and patterns_allowed (array of strings).", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/permissions/selected-actions", "tags": ["actions"], "summary": "Set allowed actions for a repository", "description": "Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nIf the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "github_owned_allowed": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." }, "patterns_allowed": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "github_owned_allowed": { "type": "boolean", "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." }, "patterns_allowed": { "type": "array", "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.", "items": { "type": "string" } } }, "required": ["github_owned_allowed", "patterns_allowed"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"selected_actions\": {\n \"$ref\": \"#/components/examples/selected-actions\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"github_owned_allowed\": {\n \"description\": \"Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.\",\n \"type\": \"boolean\"\n },\n \"patterns_allowed\": {\n \"description\": \"Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"github_owned_allowed\",\n \"patterns_allowed\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "actions/get-github-actions-default-workflow-permissions-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_default_github_actions_permissions", "description": { "tagline": "Retrieve default GitHub Actions workflow permissions for a repository.", "detailed": "This tool retrieves the default workflow permissions associated with the `GITHUB_TOKEN` in a specific GitHub repository. It also checks if GitHub Actions can submit approving pull request reviews for that repository. Authentication with an access token having the `repo` scope is required." }, "return_annotation": "Default workflow permissions for a repository's GITHUB_TOKEN.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository, which is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/permissions/workflow", "tags": ["actions"], "summary": "Get default workflow permissions for a repository", "description": "Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository,\nas well as if GitHub Actions can submit approving pull request reviews.\nFor more information, see \"[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/set-github-actions-default-workflow-permissions-repository", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "configure_github_token_permissions", "description": { "tagline": "Set default workflow permissions for a repository's GitHub Actions.", "detailed": "This tool updates the default permissions granted to the `GITHUB_TOKEN` when workflows run in a GitHub repository. It also configures GitHub Actions' ability to submit approving pull request reviews. Authentication with a token having `repo` scope is required, or GitHub Apps must have `administration` permission." }, "return_annotation": "Confirmation of workflow permissions update for the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "default_workflow_permissions", "alternative_names": ["workflow_token_permissions", "g_token_default_permissions"], "description": "Specify the default permissions ('read' or 'write') for the GITHUB_TOKEN when running workflows.", "endpoint_argument_name": "default_workflow_permissions" }, { "name": "enable_pull_request_approval", "alternative_names": [ "allow_pull_request_approval", "approve_pull_requests_via_actions" ], "description": "Set to true to allow GitHub Actions to approve pull requests. Enabling this may pose a security risk.", "endpoint_argument_name": "can_approve_pull_request_reviews" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/permissions/workflow", "tags": ["actions"], "summary": "Set default workflow permissions for a repository", "description": "Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions\ncan submit approving pull request reviews.\nFor more information, see \"[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "can_approve_pull_request_reviews", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk." }, "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk." }, "schema_required": false }, { "name": "default_workflow_permissions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write"], "properties": null, "inner_properties": null, "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows." }, "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows.", "enum": ["read", "write"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"$ref\": \"#/components/examples/actions-default-workflow-permissions\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"can_approve_pull_request_reviews\": {\n \"description\": \"Whether GitHub Actions can approve pull requests. Enabling this can be a security risk.\",\n \"type\": \"boolean\"\n },\n \"default_workflow_permissions\": {\n \"description\": \"The default workflow permissions granted to the GITHUB_TOKEN when running workflows.\",\n \"enum\": [\n \"read\",\n \"write\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-required-workflow-runs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_required_workflow_runs", "description": { "tagline": "Retrieve all workflow runs for a required workflow.", "detailed": "Use this tool to list all workflow runs associated with a specific required workflow in a GitHub repository. It is useful for monitoring and analyzing the execution of required workflows. Requires repository read access, and for private repositories, an access token with the `repo` scope is needed." }, "return_annotation": "A list of workflow runs for a required workflow.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case sensitivity is ignored.", "endpoint_argument_name": "repo" }, { "name": "required_workflow_id", "alternative_names": ["workflow_id_for_repo", "workflow_id"], "description": "The ID of the required workflow that has run at least once in a repository.", "endpoint_argument_name": "required_workflow_id_for_repo" }, { "name": "workflow_actor_username", "alternative_names": ["workflow_user_login", "user_workflow_actor"], "description": "Specify the username of the actor whose workflow runs you want to retrieve. Use the GitHub login for the user who initiated the push.", "endpoint_argument_name": "actor" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_reference"], "description": "Specify the branch name to filter workflow runs associated with it. Use the name of the branch from the `push`.", "endpoint_argument_name": "branch" }, { "name": "trigger_event", "alternative_names": ["workflow_event", "event_trigger"], "description": "Specify the event type that triggers the workflow run, such as `push`, `pull_request`, or `issue`.", "endpoint_argument_name": "event" }, { "name": "workflow_run_status", "alternative_names": ["workflow_status", "run_conclusion"], "description": "Specify the workflow run status or conclusion to filter results. Options include 'completed', 'in_progress', 'success', etc.", "endpoint_argument_name": "status" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of workflow run results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The page number of the results to fetch, used for pagination of the workflow runs.", "endpoint_argument_name": "page" }, { "name": "workflow_runs_created_date_range", "alternative_names": ["created_date_range", "workflow_runs_date_filter"], "description": "Specify the date-time range to filter workflow runs based on their creation date. Use GitHub's date search syntax for formatting.", "endpoint_argument_name": "created" }, { "name": "check_suite_identifier", "alternative_names": ["check_suite_id_number", "check_suite_id_value"], "description": "Specify the Check Suite ID to filter workflow runs associated with this specific ID.", "endpoint_argument_name": "check_suite_id" }, { "name": "sha_for_head_commit", "alternative_names": ["commit_sha_filter", "head_commit_sha"], "description": "Returns workflow runs associated with the specified head SHA (commit identifier).", "endpoint_argument_name": "head_sha" }, { "name": "exclude_pull_requests", "alternative_names": ["omit_pull_requests", "skip_pull_requests"], "description": "If true, pull requests are omitted from the response.", "endpoint_argument_name": "exclude_pull_requests" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/required_workflows/{required_workflow_id_for_repo}/runs", "tags": ["actions"], "summary": "List workflow runs for a required workflow", "description": "List all workflow runs for a required workflow. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. For more information, see \"[Required Workflows](https://docs.github.com/enterprise-server@3.8/actions/using-workflows/required-workflows).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "actor", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run." }, "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`." }, "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "event", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://docs.github.com/enterprise-server@3.8/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"" }, "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://docs.github.com/enterprise-server@3.8/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "status", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": [ "completed", "action_required", "cancelled", "failure", "neutral", "skipped", "stale", "success", "timed_out", "in_progress", "queued", "requested", "waiting", "pending" ], "properties": null, "inner_properties": null, "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`." }, "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": [ "completed", "action_required", "cancelled", "failure", "neutral", "skipped", "stale", "success", "timed_out", "in_progress", "queued", "requested", "waiting", "pending" ] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "created", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs created within the given date-time range. For more information on the syntax, see \"[Understanding the search syntax](https://docs.github.com/enterprise-server@3.8/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates).\"" }, "description": "Returns workflow runs created within the given date-time range. For more information on the syntax, see \"[Understanding the search syntax](https://docs.github.com/enterprise-server@3.8/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates).\"", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "exclude_pull_requests", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true` pull requests are omitted from the response (empty array)." }, "description": "If `true` pull requests are omitted from the response (empty array).", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "check_suite_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs with the `check_suite_id` that you specify." }, "description": "Returns workflow runs with the `check_suite_id` that you specify.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "head_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only returns workflow runs that are associated with the specified `head_sha`." }, "description": "Only returns workflow runs that are associated with the specified `head_sha`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "required_workflow_id_for_repo", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the required workflow that has run at least once in a repository." }, "description": "The ID of the required workflow that has run at least once in a repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-self-hosted-runners-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_self_hosted_runners", "description": { "tagline": "Retrieve self-hosted runners for a GitHub repository.", "detailed": "Use this tool to list all self-hosted runners configured in a specific GitHub repository. Authentication with an access token having the `repo` scope is required." }, "return_annotation": "List of self-hosted runners in a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (case-insensitive) for which to list self-hosted runners.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_index", "pagination_page"], "description": "Page number of the results to fetch for listing self-hosted runners.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runners", "tags": ["actions"], "summary": "List self-hosted runners for a repository", "description": "Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-runner-applications-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_runner_apps_for_repo", "description": { "tagline": "Retrieve runner application binaries for a GitHub repository.", "detailed": "Use this tool to list binaries for GitHub runner applications that can be downloaded and run. Requires authentication with a token that has 'repo' scope." }, "return_annotation": "A list of downloadable runner application binaries.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository on GitHub. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case insensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runners/downloads", "tags": ["actions"], "summary": "List runner applications for a repository", "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-registration-token-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_repo_registration_token", "description": { "tagline": "Obtain a registration token for GitHub repository actions.", "detailed": "Use this tool to get a token needed to configure a self-hosted runner for a GitHub repository. The token expires after one hour and requires authentication with a `repo`-scoped token." }, "return_annotation": "A registration token for configuring a self-hosted runner.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Provide the GitHub username or organization name. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runners/registration-token", "tags": ["actions"], "summary": "Create a registration token for a repository", "description": "Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate\nusing an access token with the `repo` scope to use this endpoint.\n\n#### Example using registration token\n \nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-remove-token-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "generate_github_runner_remove_token", "description": { "tagline": "Generate a token to remove a GitHub self-hosted runner.", "detailed": "This tool generates a token needed to remove a self-hosted runner from a GitHub repository. The token is valid for one hour. Ensure authentication using an access token with the 'repo' scope before calling this tool." }, "return_annotation": "Token to remove a self-hosted runner from a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This should match exactly as it appears on GitHub but is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runners/remove-token", "tags": ["actions"], "summary": "Create a remove token for a repository", "description": "Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\n\n#### Example using remove token\n \nTo remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.\n\n```\n./config.sh remove --token TOKEN\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-self-hosted-runner-from-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_self_hosted_runner", "description": { "tagline": "Removes a self-hosted runner from a GitHub repository.", "detailed": "Use this tool to forcibly remove a self-hosted runner from a GitHub repository when the machine no longer exists. Requires authentication with a token that has the `repo` scope." }, "return_annotation": "Confirmation of the runner's removal from the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "runner_unique_identifier", "alternative_names": ["runner_id_number", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner to be removed.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}", "tags": ["actions"], "summary": "Delete a self-hosted runner from a repository", "description": "Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `repo`\nscope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-self-hosted-runner-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "retrieve_runner_details", "description": { "tagline": "Retrieve information about a self-hosted runner in a GitHub repo.", "detailed": "" }, "return_annotation": "Information about a specific self-hosted runner in a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_owner_name", "repo_account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This corresponds to the GitHub repository name and is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "runner_identifier", "alternative_names": ["runner_id_number", "self_hosted_runner_id"], "description": "Unique identifier of the self-hosted runner. Required to fetch specific runner details.", "endpoint_argument_name": "runner_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}", "tags": ["actions"], "summary": "Get a self-hosted runner for a repository", "description": "Gets a specific self-hosted runner configured in a repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_custom_labels_runner_repo", "description": { "tagline": "Remove all custom labels from a self-hosted runner in a repository.", "detailed": "This tool removes all custom labels from a specified self-hosted runner configured in a repository, returning the remaining read-only labels. Authentication using an access token with the `repo` scope is required." }, "return_annotation": "List of remaining read-only labels on the runner.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "runner_unique_identifier", "alternative_names": ["self_hosted_runner_id", "runner_identifier"], "description": "Unique identifier of the self-hosted runner to remove custom labels from.", "endpoint_argument_name": "runner_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "Remove all custom labels from a self-hosted runner for a repository", "description": "Remove all custom labels from a self-hosted runner configured in a\nrepository. Returns the remaining read-only labels from the runner.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-labels-for-self-hosted-runner-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_runner_labels", "description": { "tagline": "Retrieve all labels for a self-hosted runner in a GitHub repo.", "detailed": "Use this tool to get all labels for a specific self-hosted runner configured in a GitHub repository. Authentication with a token that has the `repo` scope is required." }, "return_annotation": "List of labels associated with a self-hosted runner.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "self_hosted_runner_id", "alternative_names": ["runner_identifier", "self_hosted_id"], "description": "The unique integer identifier of the self-hosted runner in the repository.", "endpoint_argument_name": "runner_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "List labels for a self-hosted runner for a repository", "description": "Lists all labels for a self-hosted runner configured in a repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/add-custom-labels-to-self-hosted-runner-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "label_runner_for_repo", "description": { "tagline": "Add custom labels to a repository's self-hosted runner.", "detailed": "Use this tool to add custom labels to a self-hosted runner in a specified GitHub repository. Authentication with an access token with the `repo` scope is required." }, "return_annotation": "Confirmation of label addition to the runner.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "runner_id", "alternative_names": ["runner_identifier", "self_hosted_runner_id"], "description": "Unique identifier for the self-hosted runner in the repository.", "endpoint_argument_name": "runner_id" }, { "name": "custom_labels_to_add", "alternative_names": ["labels_for_runner", "runner_custom_labels"], "description": "The names of the custom labels to add to the self-hosted runner. Provide as an array of strings.", "endpoint_argument_name": "labels" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "Add custom labels to a self-hosted runner for a repository", "description": "Add custom labels to a self-hosted runner configured in a repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "labels", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The names of the custom labels to add to the runner." }, "description": "The names of the custom labels to add to the runner.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The names of the custom labels to add to the runner.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"gpu\",\n \"accelerated\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the custom labels to add to the runner.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"labels\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/set-custom-labels-for-self-hosted-runner-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_runner_labels", "description": { "tagline": "Update custom labels for a self-hosted runner in a GitHub repo.", "detailed": "This tool removes existing custom labels and sets new ones for a specific self-hosted runner in a GitHub repository. It requires authentication with an access token that has the 'repo' scope." }, "return_annotation": "Updates custom labels for a self-hosted runner in a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "runner_id", "alternative_names": ["self_hosted_runner_id", "runner_identifier"], "description": "The unique integer identifier of the self-hosted runner to update labels for.", "endpoint_argument_name": "runner_id" }, { "name": "custom_labels_for_runner", "alternative_names": ["runner_custom_labels", "labels_for_runner"], "description": "An array of custom labels to set for the self-hosted runner. Pass an empty array to clear all labels.", "endpoint_argument_name": "labels" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "tags": ["actions"], "summary": "Set custom labels for a self-hosted runner for a repository", "description": "Remove all previous custom labels and set the new custom labels for a specific\nself-hosted runner configured in a repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "labels", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels." }, "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"gpu\",\n \"accelerated\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"maxItems\": 100,\n \"minItems\": 0,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"labels\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/remove-custom-label-from-self-hosted-runner-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_runner_label", "description": { "tagline": "Remove a custom label from a self-hosted runner in a repository.", "detailed": "Use this tool to remove a custom label from a self-hosted runner configured in a GitHub repository. It returns the remaining labels for the runner. Ensure to authenticate with a token with `repo` scope. A `404 Not Found` status is returned if the label is not found." }, "return_annotation": "The remaining labels from the self-hosted runner.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "runner_unique_identifier", "alternative_names": ["self_hosted_runner_id", "runner_id_number"], "description": "The unique ID number of the self-hosted runner to identify which runner to remove the label from.", "endpoint_argument_name": "runner_id" }, { "name": "runner_custom_label_name", "alternative_names": ["runner_label_name", "custom_label_name"], "description": "The name of the custom label on the self-hosted runner to be removed.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "tags": ["actions"], "summary": "Remove a custom label from a self-hosted runner for a repository", "description": "Remove a custom label from a self-hosted runner configured\nin a repository. Returns the remaining labels from the runner.\n\nThis endpoint returns a `404 Not Found` status if the custom label is not\npresent on the runner.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "runner_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Unique identifier of the self-hosted runner." }, "description": "Unique identifier of the self-hosted runner.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a self-hosted runner's custom label." }, "description": "The name of a self-hosted runner's custom label.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-workflow-runs-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_workflow_runs", "description": { "tagline": "Retrieve all workflow runs for a GitHub repository.", "detailed": "This tool retrieves a list of all workflow runs for a specified GitHub repository. It can be used to track the status and history of workflows in the repository. Works with repositories you have read access to. For private repositories, an access token with the 'repo' scope is needed." }, "return_annotation": "A list of workflow runs for a specific repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name that owns the repository. It is case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "actor_username", "alternative_names": ["actor_login", "workflow_initiator"], "description": "Specify the username of the user whose workflow runs you want to retrieve. Use the login of the user who initiated the run.", "endpoint_argument_name": "actor" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_specific"], "description": "Specify the branch name to filter workflow runs associated with that branch.", "endpoint_argument_name": "branch" }, { "name": "triggering_event", "alternative_names": ["workflow_event_type", "event_type_trigger"], "description": "Specify the event that triggers the workflow run, such as 'push', 'pull_request', or 'issue'.", "endpoint_argument_name": "event" }, { "name": "workflow_run_status", "alternative_names": ["run_status_filter", "workflow_status"], "description": "Specifies the desired status or conclusion of the workflow runs to retrieve, such as 'success', 'in_progress', etc.", "endpoint_argument_name": "status" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "workflow_runs_per_page"], "description": "The number of results to return per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Page number of the results to fetch, used for paginating results.", "endpoint_argument_name": "page" }, { "name": "workflow_created_date_range", "alternative_names": ["runs_created_range", "created_date_filter"], "description": "Specify a date-time range to filter workflow runs by creation date. Use GitHub's specific date syntax for format.", "endpoint_argument_name": "created" }, { "name": "check_suite_id", "alternative_names": ["suite_id", "workflow_suite_id"], "description": "Returns workflow runs with the specified check suite ID.", "endpoint_argument_name": "check_suite_id" }, { "name": "filter_by_head_sha", "alternative_names": ["filter_by_commit_sha", "filter_by_sha"], "description": "Only returns workflow runs associated with the specified commit SHA (head_sha).", "endpoint_argument_name": "head_sha" }, { "name": "omit_pull_requests", "alternative_names": ["skip_pull_requests", "ignore_pull_requests"], "description": "If true, pull requests are excluded from the workflow runs response.", "endpoint_argument_name": "exclude_pull_requests" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs", "tags": ["actions"], "summary": "List workflow runs for a repository", "description": "Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "actor", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run." }, "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`." }, "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "event", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://docs.github.com/enterprise-server@3.8/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"" }, "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://docs.github.com/enterprise-server@3.8/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "status", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": [ "completed", "action_required", "cancelled", "failure", "neutral", "skipped", "stale", "success", "timed_out", "in_progress", "queued", "requested", "waiting", "pending" ], "properties": null, "inner_properties": null, "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`." }, "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": [ "completed", "action_required", "cancelled", "failure", "neutral", "skipped", "stale", "success", "timed_out", "in_progress", "queued", "requested", "waiting", "pending" ] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "created", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs created within the given date-time range. For more information on the syntax, see \"[Understanding the search syntax](https://docs.github.com/enterprise-server@3.8/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates).\"" }, "description": "Returns workflow runs created within the given date-time range. For more information on the syntax, see \"[Understanding the search syntax](https://docs.github.com/enterprise-server@3.8/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates).\"", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "exclude_pull_requests", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true` pull requests are omitted from the response (empty array)." }, "description": "If `true` pull requests are omitted from the response (empty array).", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "check_suite_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs with the `check_suite_id` that you specify." }, "description": "Returns workflow runs with the `check_suite_id` that you specify.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "head_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only returns workflow runs that are associated with the specified `head_sha`." }, "description": "Only returns workflow runs that are associated with the specified `head_sha`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_workflow_run", "description": { "tagline": "Delete a specific GitHub workflow run.", "detailed": "Use this tool to delete a specific workflow run in a GitHub repository. Requires write access to the repository. For private repositories, an access token with `repo` scope is necessary. GitHub Apps need `actions:write` permission." }, "return_annotation": "Confirmation of the workflow run deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_identifier"], "description": "The unique identifier of the GitHub workflow run to be deleted. This should be an integer value.", "endpoint_argument_name": "run_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}", "tags": ["actions"], "summary": "Delete a workflow run", "description": "Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\nprivate you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\nthis endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_workflow_run", "description": { "tagline": "Retrieve details of a specific GitHub workflow run.", "detailed": "Use this tool to get information about a specific workflow run on GitHub. It requires read access to the repository; for private repositories, an access token with `repo` scope is needed. Ideal for tracking and reviewing the status and details of a workflow run." }, "return_annotation": "Details of a specific GitHub workflow run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive and is used to identify the repo for the workflow run.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_id"], "description": "The unique identifier of the GitHub workflow run. Must be an integer.", "endpoint_argument_name": "run_id" }, { "name": "omit_pull_requests", "alternative_names": ["ignore_pull_requests", "hide_pull_requests"], "description": "If true, omits pull requests from the response, resulting in an empty array.", "endpoint_argument_name": "exclude_pull_requests" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}", "tags": ["actions"], "summary": "Get a workflow run", "description": "Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "exclude_pull_requests", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true` pull requests are omitted from the response (empty array)." }, "description": "If `true` pull requests are omitted from the response (empty array).", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-reviews-for-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_actions_run_reviews", "description": { "tagline": "Retrieve reviews for a GitHub Actions run.", "detailed": "Call this tool to get reviews and approval details for a specific GitHub Actions run in a repository. It requires an access token with `repo` scope for private repositories or `actions:read` permission for GitHub Apps." }, "return_annotation": "Reviews and approval details for a specific GitHub Actions run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identification", "workflow_run_identifier"], "description": "The unique identifier of the GitHub Actions workflow run. This integer is required to fetch the reviews.", "endpoint_argument_name": "run_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "tags": ["actions"], "summary": "Get the review history for a workflow run", "description": "Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-workflow-run-artifacts", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_workflow_artifacts", "description": { "tagline": "Retrieve artifacts from a GitHub workflow run.", "detailed": "Use this tool to list artifacts associated with a specific GitHub workflow run. It requires read access to the repository and appropriate permissions if the repository is private." }, "return_annotation": "List of artifacts for a specified workflow run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_id"], "description": "The unique identifier of the specific workflow run to retrieve artifacts from.", "endpoint_argument_name": "run_id" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "Number of results to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["results_page_number", "fetch_results_page"], "description": "The page number of the artifacts results to retrieve.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "tags": ["actions"], "summary": "List workflow run artifacts", "description": "Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-workflow-run-attempt", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_workflow_run_attempt", "description": { "tagline": "Retrieve details of a specific GitHub workflow run attempt.", "detailed": "Use this tool to access detailed information about a specific workflow run attempt in a GitHub repository. Accessible with repository read permissions. Requires an access token for private repositories." }, "return_annotation": "Details of a specific GitHub workflow run attempt.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_identifier"], "description": "The unique identifier of the GitHub workflow run. This integer specifies the exact run to retrieve information for.", "endpoint_argument_name": "run_id" }, { "name": "workflow_attempt_number", "alternative_names": ["workflow_run_attempt_number", "attempt_sequence_number"], "description": "The numeric identifier for the specific attempt of the workflow run to be retrieved.", "endpoint_argument_name": "attempt_number" }, { "name": "omit_pull_requests", "alternative_names": ["skip_pull_requests", "exclude_prs"], "description": "Set to true to omit pull requests from the response.", "endpoint_argument_name": "exclude_pull_requests" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "tags": ["actions"], "summary": "Get a workflow run attempt", "description": "Gets a specific workflow run attempt. Anyone with read access to the repository\ncan use this endpoint. If the repository is private you must use an access token\nwith the `repo` scope. GitHub Apps must have the `actions:read` permission to\nuse this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "exclude_pull_requests", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true` pull requests are omitted from the response (empty array)." }, "description": "If `true` pull requests are omitted from the response (empty array).", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "attempt_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The attempt number of the workflow run." }, "description": "The attempt number of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-jobs-for-workflow-run-attempt", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_workflow_run_jobs", "description": { "tagline": "Retrieve jobs from a specific GitHub workflow run attempt.", "detailed": "This tool retrieves jobs for a specific workflow run attempt on GitHub. It is useful for users who need to monitor or analyze job details of a workflow run. Access to the repository is required, and permissions depend on whether the repository is public or private." }, "return_annotation": "A list of jobs for the specified workflow run attempt.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to fetch jobs from. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_run_identifier"], "description": "The unique identifier of the workflow run to list jobs for.", "endpoint_argument_name": "run_id" }, { "name": "workflow_run_attempt_number", "alternative_names": ["attempt_number_of_run", "run_attempt_number"], "description": "The attempt number of the specific workflow run to retrieve jobs for. This is typically used to distinguish between multiple attempts of the same run.", "endpoint_argument_name": "attempt_number" }, { "name": "results_per_page", "alternative_names": ["results_limit", "page_size"], "description": "Specifies the number of job results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "page_index"], "description": "Specify the page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "tags": ["actions"], "summary": "List jobs for a workflow run attempt", "description": "Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#parameters).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "attempt_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The attempt number of the workflow run." }, "description": "The attempt number of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/download-workflow-run-attempt-logs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_workflow_run_attempt_logs_url", "description": { "tagline": "Retrieve a URL to download workflow run attempt logs.", "detailed": "Returns a redirect URL to download log files for a specific workflow run attempt. This URL expires in 1 minute and requires appropriate repository access permissions." }, "return_annotation": "Redirect URL to download workflow run attempt logs.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive and identifies the repository for which to retrieve logs.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["workflow_id", "run_identifier"], "description": "The unique identifier of the workflow run. Used to specify which workflow's logs to download.", "endpoint_argument_name": "run_id" }, { "name": "workflow_attempt_number", "alternative_names": ["run_attempt_number", "attempt_no"], "description": "The specific attempt number of the workflow run to fetch logs for.", "endpoint_argument_name": "attempt_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "tags": ["actions"], "summary": "Download workflow run attempt logs", "description": "Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after\n1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "attempt_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The attempt number of the workflow run." }, "description": "The attempt number of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/cancel-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "cancel_github_workflow_run", "description": { "tagline": "Cancels a GitHub workflow run using its ID.", "detailed": "Use this tool to cancel an ongoing GitHub Actions workflow run. Authentication with an access token having `repo` scope is required. Useful for stopping workflows that may be executing erroneously or need interruption." }, "return_annotation": "Confirmation of the workflow run cancellation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This is not case sensitive and should match the repository where the workflow run is located.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["workflow_id", "action_run_id"], "description": "The unique identifier of the GitHub workflow run to be canceled. This should be an integer value.", "endpoint_argument_name": "run_id" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "tags": ["actions"], "summary": "Cancel a workflow run", "description": "Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-jobs-for-workflow-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_workflow_jobs", "description": { "tagline": "Fetches jobs for a specific GitHub workflow run.", "detailed": "Use this tool to retrieve jobs associated with a GitHub workflow run. Requires read access to the repository. For private repositories, an access token with the `repo` scope is needed. GitHub Apps must have the `actions:read` permission. Parameters can be used to filter results." }, "return_annotation": "A list of jobs for the specified GitHub workflow run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive and identifies whose account owns the repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "execution_id"], "description": "The unique identifier of the GitHub workflow run to fetch jobs for.", "endpoint_argument_name": "run_id" }, { "name": "job_filter_by_completion_time", "alternative_names": ["workflow_job_filter", "completion_timestamp_filter"], "description": "Filter jobs by their `completed_at` timestamp. Use 'latest' for the most recent execution or 'all' for all executions.", "endpoint_argument_name": "filter" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "Specify the number of job results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "results_page"], "description": "Page number for paginated results to fetch from the workflow jobs list.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "tags": ["actions"], "summary": "List jobs for a workflow run", "description": "Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#parameters).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["latest", "all"], "properties": null, "inner_properties": null, "description": "Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run." }, "description": "Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run.", "required": false, "deprecated": false, "default": "latest", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["latest", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-workflow-run-logs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_workflow_run_logs", "description": { "tagline": "Deletes all logs for a specified workflow run on GitHub.", "detailed": "Use this tool to delete all logs associated with a specific workflow run in a GitHub repository. Authentication with a token having `repo` scope is necessary, and GitHub Apps need `actions:write` permission." }, "return_annotation": "Confirmation of workflow run logs deletion on GitHub.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_id"], "description": "The unique identifier of the workflow run to delete logs for.", "endpoint_argument_name": "run_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "tags": ["actions"], "summary": "Delete workflow run logs", "description": "Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/download-workflow-run-logs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "download_workflow_run_logs", "description": { "tagline": "Get a redirect URL to download workflow run log files.", "detailed": "This tool retrieves a URL for downloading an archive of log files from a specific GitHub repository workflow run. The link expires after one minute. Use this tool when you need access to the logs for analysis or debugging, ensuring you have the necessary read access or appropriate access token if the repository is private." }, "return_annotation": "Returns a redirect URL for downloading workflow run logs.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_admin"], "description": "The account owner of the repository. This is case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_run_identifier"], "description": "The unique identifier of the workflow run to download logs for.", "endpoint_argument_name": "run_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "tags": ["actions"], "summary": "Download workflow run logs", "description": "Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n`Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\nthis endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\nthe `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-pending-deployments-for-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pending_deployments_for_run", "description": { "tagline": "Retrieve pending deployments for a GitHub workflow run.", "detailed": "Use this tool to obtain all deployment environments for a specific GitHub workflow run that are awaiting protection rules to pass. Accessible to users with read access to the repository; requires `repo` scope for private repos or `actions:read` permission for GitHub Apps." }, "return_annotation": "List of pending deployment environments for a workflow run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_holder"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_run_identifier"], "description": "The unique identifier of the workflow run to fetch pending deployments for.", "endpoint_argument_name": "run_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "tags": ["actions"], "summary": "Get pending deployments for a workflow run", "description": "Get all deployment environments for a workflow run that are waiting for protection rules to pass.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/review-pending-deployments-for-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "approve_or_reject_pending_deployments", "description": { "tagline": "Approve or reject pending deployments for a workflow run.", "detailed": "This tool approves or rejects pending deployments that are awaiting a required reviewer's decision. It requires access to repository contents and deployments, and authentication using a token with `repo` scope." }, "return_annotation": "Approval or rejection status for deployments.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. This value is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_identifier"], "description": "The unique identifier of the workflow run to be approved or rejected.", "endpoint_argument_name": "run_id" }, { "name": "deployment_review_comment", "alternative_names": ["review_comment", "approval_comment"], "description": "A comment to accompany the approval or rejection of the deployment review.", "endpoint_argument_name": "comment" }, { "name": "environment_ids", "alternative_names": ["env_ids", "deployment_environment_ids"], "description": "List of environment IDs to approve or reject. Each ID must be an integer.", "endpoint_argument_name": "environment_ids" }, { "name": "deployment_review_state", "alternative_names": ["deployment_approval_state", "deployment_decision_state"], "description": "Specify 'approved' to approve or 'rejected' to reject deployments to the environments.", "endpoint_argument_name": "state" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "tags": ["actions"], "summary": "Review pending deployments for a workflow run", "description": "Approve or reject pending deployments that are waiting on approval by a required reviewer.\n\nRequired reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "comment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comment to accompany the deployment review" }, "description": "A comment to accompany the deployment review", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A comment to accompany the deployment review", "example": "Ship it!" }, "schema_required": true }, { "name": "environment_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "The list of environment ids to approve or reject" }, "description": "The list of environment ids to approve or reject", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The list of environment ids to approve or reject", "items": { "type": "integer", "example": 161171787 } }, "schema_required": true }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["approved", "rejected"], "properties": null, "inner_properties": null, "description": "Whether to approve or reject deployment to the specified environments." }, "description": "Whether to approve or reject deployment to the specified environments.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Whether to approve or reject deployment to the specified environments.", "enum": ["approved", "rejected"], "example": "approved" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"comment\": \"Ship it!\",\n \"environment_ids\": [\n 161171787\n ],\n \"state\": \"approved\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"comment\": {\n \"description\": \"A comment to accompany the deployment review\",\n \"example\": \"Ship it!\",\n \"type\": \"string\"\n },\n \"environment_ids\": {\n \"description\": \"The list of environment ids to approve or reject\",\n \"example\": [\n 161171787,\n 161171795\n ],\n \"items\": {\n \"example\": 161171787,\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n },\n \"state\": {\n \"description\": \"Whether to approve or reject deployment to the specified environments.\",\n \"enum\": [\n \"approved\",\n \"rejected\"\n ],\n \"example\": \"approved\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"environment_ids\",\n \"state\",\n \"comment\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/re-run-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "rerun_github_workflow", "description": { "tagline": "Initiates the rerun of a specific GitHub workflow.", "detailed": "Use this tool to re-run a GitHub workflow run by providing its ID. Requires authentication with a token having 'repo' scope, or 'actions:write' permission for GitHub Apps." }, "return_annotation": "Confirmation of the workflow rerun initiation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["workflow_id", "run_identifier"], "description": "The unique identifier of the workflow run to be re-run.", "endpoint_argument_name": "run_id" }, { "name": "enable_debug_logging", "alternative_names": ["activate_debug_logging", "use_debug_logging"], "description": "Enable debug logging for the workflow re-run by setting to true.", "endpoint_argument_name": "enable_debug_logging" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "tags": ["actions"], "summary": "Re-run a workflow", "description": "Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "enable_debug_logging", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to enable debug logging for the re-run." }, "description": "Whether to enable debug logging for the re-run.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether to enable debug logging for the re-run." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": null\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"enable_debug_logging\": {\n \"default\": false,\n \"description\": \"Whether to enable debug logging for the re-run.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/re-run-workflow-failed-jobs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "rerun_failed_github_workflow_jobs", "description": { "tagline": "Re-run failed jobs in a GitHub workflow run.", "detailed": "This tool re-runs all failed jobs and their dependents in a specified GitHub workflow run. Use this when a workflow has failed jobs you want to attempt again. Authentication with a token having `repo` scope is required." }, "return_annotation": "Confirmation of re-running failed workflow jobs.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "workflow_run_id", "alternative_names": ["run_identifier", "workflow_id"], "description": "The unique identifier of the GitHub workflow run to re-run failed jobs for.", "endpoint_argument_name": "run_id" }, { "name": "enable_debug_logging", "alternative_names": ["debug_logging_enabled", "use_debug_logging"], "description": "Enable debug logging for the re-run of failed workflow jobs.", "endpoint_argument_name": "enable_debug_logging" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "tags": ["actions"], "summary": "Re-run failed jobs from a workflow run", "description": "Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the workflow run." }, "description": "The unique identifier of the workflow run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "enable_debug_logging", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to enable debug logging for the re-run." }, "description": "Whether to enable debug logging for the re-run.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether to enable debug logging for the re-run." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": null\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"enable_debug_logging\": {\n \"default\": false,\n \"description\": \"Whether to enable debug logging for the re-run.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-repo-secrets", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_secrets", "description": { "tagline": "Retrieve all repository secrets without values.", "detailed": "This tool retrieves all the secrets available in a specified GitHub repository without revealing their encrypted values. Authentication is required using an access token with `repo` scope. GitHub Apps need `secrets` repository permission to access this endpoint." }, "return_annotation": "List of secrets in a repository without values.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "secrets_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "retrieve_page_number"], "description": "Specifies the page number of the secrets list to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/secrets", "tags": ["actions"], "summary": "List repository secrets", "description": "Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-repo-public-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_public_key", "description": { "tagline": "Retrieve the public key for encrypting repository secrets.", "detailed": "Use this tool to get the public key necessary for encrypting secrets in a GitHub repository. This is a prerequisite step before creating or updating secrets. Ensure you have the necessary access rights: read access for public repositories, or an access token with the `repo` scope for private ones. GitHub Apps require `secrets` permission." }, "return_annotation": "The repository's public key for encrypting secrets.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Enter a case-insensitive string specifying the owner's account name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository. This value is not case sensitive. Provide the repository name for which you want to retrieve the public key.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/secrets/public-key", "tags": ["actions"], "summary": "Get a repository public key", "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-repo-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_repo_secret", "description": { "tagline": "Deletes a secret from a GitHub repository.", "detailed": "Use this tool to remove a specific secret from a GitHub repository by providing the secret's name. Authentication with a `repo`-scoped access token is required. GitHub Apps need the `secrets` permission." }, "return_annotation": "Confirmation of secret deletion in the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_key"], "description": "The specific name of the secret to delete from the repository.", "endpoint_argument_name": "secret_name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/secrets/{secret_name}", "tags": ["actions"], "summary": "Delete a repository secret", "description": "Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-repo-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repository_secret_info", "description": { "tagline": "Retrieve metadata for a specific GitHub repository secret.", "detailed": "This tool retrieves the metadata of a specified secret from a GitHub repository without exposing its encrypted value. It requires authentication with an access token that has the `repo` scope, or GitHub Apps with `secrets` repository permissions." }, "return_annotation": "Repository secret metadata without revealing the encrypted value.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_key_name"], "description": "The name of the secret to retrieve metadata for.", "endpoint_argument_name": "secret_name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/secrets/{secret_name}", "tags": ["actions"], "summary": "Get a repository secret", "description": "Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-or-update-repo-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_or_update_github_repo_secret", "description": { "tagline": "Create or update a GitHub repository secret with an encrypted value.", "detailed": "Use this tool to create or update a secret in a GitHub repository by providing an encrypted value. Requires authentication with a token having the `repo` scope or GitHub App permissions. Useful for managing sensitive information in repositories." }, "return_annotation": "Confirmation of the secret creation or update in the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "secret_name", "alternative_names": ["name_of_secret", "repository_secret_name"], "description": "The name of the secret to create or update in the repository.", "endpoint_argument_name": "secret_name" }, { "name": "encrypted_secret_value", "alternative_names": ["secure_secret_value", "encrypted_secret_content"], "description": "The secret's value encrypted with LibSodium using a repository's public key.", "endpoint_argument_name": "encrypted_value" }, { "name": "encryption_key_id", "alternative_names": ["key_identifier", "encryption_key_identifier"], "description": "Provide the ID of the key used to encrypt the secret.", "endpoint_argument_name": "key_id" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/secrets/{secret_name}", "tags": ["actions"], "summary": "Create or update a repository secret", "description": "Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library.\n\n```\nconst sodium = require('libsodium-wrappers')\nconst secret = 'plain-text-secret' // replace with the secret you want to encrypt\nconst key = 'base64-encoded-public-key' // replace with the Base64 encoded public key\n\n//Check if libsodium is ready and then proceed.\nsodium.ready.then(() => {\n // Convert Secret & Base64 key to Uint8Array.\n let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL)\n let binsec = sodium.from_string(secret)\n\n //Encrypt the secret using LibSodium\n let encBytes = sodium.crypto_box_seal(binsec, binkey)\n\n // Convert encrypted Uint8Array to Base64\n let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL)\n\n console.log(output)\n});\n```\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "encrypted_value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-a-repository-public-key) endpoint." }, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-a-repository-public-key) endpoint.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-a-repository-public-key) endpoint.", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" }, "schema_required": false }, { "name": "key_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ID of the key you used to encrypt the secret." }, "description": "ID of the key you used to encrypt the secret.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "ID of the key you used to encrypt the secret." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"encrypted_value\": \"c2VjcmV0\",\n \"key_id\": \"012345678912345678\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"encrypted_value\": {\n \"description\": \"Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-a-repository-public-key) endpoint.\",\n \"pattern\": \"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\",\n \"type\": \"string\"\n },\n \"key_id\": {\n \"description\": \"ID of the key you used to encrypt the secret.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-repo-variables", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_variables", "description": { "tagline": "Retrieve all variables for a specified GitHub repository.", "detailed": "Use this tool to list all variables associated with a specific GitHub repository. Requires authentication with an access token having the 'repo' scope or a GitHub App with 'actions_variables:read' permission." }, "return_annotation": "List of all repository variables for a given GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository, case insensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "variables_per_page"], "description": "Specify the number of results to return per page, with a maximum of 30.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Page number to fetch in the list of repository variables. Use for paginating results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/variables", "tags": ["actions"], "summary": "List repository variables", "description": "Lists all repository variables. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 30)." }, "description": "The number of results per page (max 30).", "required": false, "deprecated": false, "default": 10, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-repo-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_repo_variable", "description": { "tagline": "Create a variable for a GitHub repository to use in Actions workflows.", "detailed": "Use this tool to create a repository variable that can be referenced in a GitHub Actions workflow. Ensure that you authenticate with a token having the 'repo' scope, or ensure GitHub Apps have 'actions_variables:write' permission." }, "return_annotation": "Confirmation of repository variable creation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "variable_name", "alternative_names": ["variable_identifier", "repo_variable_name"], "description": "The name of the repository variable to create.", "endpoint_argument_name": "name" }, { "name": "variable_value", "alternative_names": ["repo_variable_value", "github_variable_content"], "description": "The content or data for the repository variable.", "endpoint_argument_name": "value" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/actions/variables", "tags": ["actions"], "summary": "Create a repository variable", "description": "Creates a repository variable that you can reference in a GitHub Actions workflow.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `actions_variables:write` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the variable." }, "schema_required": true }, { "name": "value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The value of the variable." }, "description": "The value of the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The value of the variable." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"USERNAME\",\n \"value\": \"octocat\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the variable.\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The value of the variable.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/delete-repo-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_repo_variable", "description": { "tagline": "Delete a repository variable on GitHub using its name.", "detailed": "This tool deletes a specified variable from a GitHub repository. It requires authentication with an access token that has the 'repo' scope. Suitable for use in managing repository configurations or cleanup tasks." }, "return_annotation": "Confirmation of repository variable deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository to delete the variable from. It is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "variable_name", "alternative_names": ["var_name", "repository_variable_name"], "description": "The name of the variable to delete from the repository. It should match exactly as stored.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/actions/variables/{name}", "tags": ["actions"], "summary": "Delete a repository variable", "description": "Deletes a repository variable using the variable name.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `actions_variables:write` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-repo-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repo_variable", "description": { "tagline": "Retrieve a specific variable from a GitHub repository.", "detailed": "This tool retrieves information about a specific variable within a GitHub repository. It's useful when you need to access configuration or environment variables stored in a repository. Authentication with an access token having the `repo` scope is required, or GitHub Apps must have the `actions_variables:read` permission." }, "return_annotation": "Details of a specific variable in a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["owner_account", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "variable_name", "alternative_names": ["repo_variable_name", "config_variable_name"], "description": "The name of the variable to retrieve from the repository. This is case-sensitive and must match the variable's exact name.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/variables/{name}", "tags": ["actions"], "summary": "Get a repository variable", "description": "Gets a specific variable in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/update-repo-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_repo_variable", "description": { "tagline": "Update a variable in a GitHub repository for actions workflows.", "detailed": "Use this tool to update a specific variable in a GitHub repository that is used in GitHub Actions workflows. Authentication is required with an access token having `repo` scope or for GitHub Apps with `actions_variables:write` permission." }, "return_annotation": "Confirmation of the update to the GitHub repository variable.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "variable_name", "alternative_names": ["var_name", "variable_identifier"], "description": "The name of the variable in the repository.", "endpoint_argument_name": "name" }, { "name": "env_variable_name", "alternative_names": ["env_variable_name", "github_variable_name"], "description": "The name of the variable to update in the GitHub repository.", "endpoint_argument_name": "name" }, { "name": "repository_variable_value", "alternative_names": ["repo_var_value", "variable_value_for_repo"], "description": "The new value for the specified repository variable.", "endpoint_argument_name": "value" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/actions/variables/{name}", "tags": ["actions"], "summary": "Update a repository variable", "description": "Updates a repository variable that you can reference in a GitHub Actions workflow.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `actions_variables:write` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the variable." }, "schema_required": false }, { "name": "value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The value of the variable." }, "description": "The value of the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The value of the variable." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"USERNAME\",\n \"value\": \"octocat\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the variable.\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The value of the variable.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-repo-workflows", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_workflows", "description": { "tagline": "Retrieve GitHub workflows in a repository.", "detailed": "This tool retrieves the list of workflows for a specified GitHub repository. It requires read access to the repository. For private repositories, an access token with the `repo` scope is needed, and GitHub Apps must have `actions:read` permission." }, "return_annotation": "A list of workflows in the specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "number_of_results"], "description": "The number of workflow results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "page_index"], "description": "The page number for pagination, used to fetch specific sets of results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/actions/workflows", "tags": ["actions"], "summary": "List repository workflows", "description": "Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Complex objects in non-body parameters: path parameter 'workflow_id'", "wrapper_tool": null, "method": "GET", "path": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "tags": ["actions"], "summary": "Get a workflow", "description": "Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "workflow_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the workflow. You can also pass the workflow file name as a string." }, "description": "The ID of the workflow. You can also pass the workflow file name as a string.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "integer" }, { "type": "string" } ] }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/disable-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Complex objects in non-body parameters: path parameter 'workflow_id'", "wrapper_tool": null, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "tags": ["actions"], "summary": "Disable a workflow", "description": "Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "workflow_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the workflow. You can also pass the workflow file name as a string." }, "description": "The ID of the workflow. You can also pass the workflow file name as a string.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "integer" }, { "type": "string" } ] }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-workflow-dispatch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Complex objects in non-body parameters: path parameter 'workflow_id'", "wrapper_tool": null, "method": "POST", "path": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "tags": ["actions"], "summary": "Create a workflow dispatch event", "description": "You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://docs.github.com/enterprise-server@3.8/articles/creating-a-personal-access-token-for-the-command-line).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "workflow_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the workflow. You can also pass the workflow file name as a string." }, "description": "The ID of the workflow. You can also pass the workflow file name as a string.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "integer" }, { "type": "string" } ] }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "inputs": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted." }, "ref": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The git reference for the workflow. The reference can be a branch or tag name." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "inputs": { "type": "object", "description": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.", "properties": {}, "additionalProperties": { "type": "string" } }, "ref": { "type": "string", "description": "The git reference for the workflow. The reference can be a branch or tag name." } }, "required": ["ref"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/enable-workflow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Complex objects in non-body parameters: path parameter 'workflow_id'", "wrapper_tool": null, "method": "PUT", "path": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "tags": ["actions"], "summary": "Enable a workflow", "description": "Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "workflow_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the workflow. You can also pass the workflow file name as a string." }, "description": "The ID of the workflow. You can also pass the workflow file name as a string.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "integer" }, { "type": "string" } ] }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-workflow-runs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Complex objects in non-body parameters: path parameter 'workflow_id'", "wrapper_tool": null, "method": "GET", "path": "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "tags": ["actions"], "summary": "List workflow runs for a workflow", "description": "List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "actor", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run." }, "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`." }, "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "event", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://docs.github.com/enterprise-server@3.8/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"" }, "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://docs.github.com/enterprise-server@3.8/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "status", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": [ "completed", "action_required", "cancelled", "failure", "neutral", "skipped", "stale", "success", "timed_out", "in_progress", "queued", "requested", "waiting", "pending" ], "properties": null, "inner_properties": null, "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`." }, "description": "Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": [ "completed", "action_required", "cancelled", "failure", "neutral", "skipped", "stale", "success", "timed_out", "in_progress", "queued", "requested", "waiting", "pending" ] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "created", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs created within the given date-time range. For more information on the syntax, see \"[Understanding the search syntax](https://docs.github.com/enterprise-server@3.8/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates).\"" }, "description": "Returns workflow runs created within the given date-time range. For more information on the syntax, see \"[Understanding the search syntax](https://docs.github.com/enterprise-server@3.8/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates).\"", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "exclude_pull_requests", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true` pull requests are omitted from the response (empty array)." }, "description": "If `true` pull requests are omitted from the response (empty array).", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "check_suite_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns workflow runs with the `check_suite_id` that you specify." }, "description": "Returns workflow runs with the `check_suite_id` that you specify.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "head_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only returns workflow runs that are associated with the specified `head_sha`." }, "description": "Only returns workflow runs that are associated with the specified `head_sha`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "workflow_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the workflow. You can also pass the workflow file name as a string." }, "description": "The ID of the workflow. You can also pass the workflow file name as a string.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "integer" }, { "type": "string" } ] }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-assignees", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_issue_assignees", "description": { "tagline": "Retrieve available assignees for GitHub issues.", "detailed": "This tool is used to list the available assignees for issues in a specified GitHub repository. Call this tool when you need to know who can be assigned to issues in a repository." }, "return_annotation": "List of available assignees for repository issues.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The owner of the repository. Input is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, case insensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["per_page_count", "items_per_page"], "description": "The number of results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Page number of the results to fetch. Use to paginate through results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/assignees", "tags": ["issues"], "summary": "List assignees", "description": "Lists the [available assignees](https://docs.github.com/enterprise-server@3.8/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/check-user-can-be-assigned", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_user_assignment_permission", "description": { "tagline": "Check if a user can be assigned to a GitHub issue.", "detailed": "This tool checks if a specified user has permission to be assigned to an issue within a given GitHub repository. It should be called when you need to verify a user's eligibility to be an assignee for issues in a repository." }, "return_annotation": "Indication of user's assignability to an issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. Input is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "user_assignee", "alternative_names": ["issue_assignee", "potential_assignee"], "description": "The username of the GitHub user to check for issue assignment permissions.", "endpoint_argument_name": "assignee" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/assignees/{assignee}", "tags": ["issues"], "summary": "Check if a user can be assigned", "description": "Checks if a user has permission to be assigned to an issue in this repository.\n\nIf the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned.\n\nOtherwise a `404` status code is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "assignee", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-autolinks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_autolinks", "description": { "tagline": "Retrieve autolinks for a specific GitHub repository.", "detailed": "Use this tool to obtain information about all autolinks configured in a specified GitHub repository. It is only accessible to repository administrators." }, "return_annotation": "List of autolinks configured for the specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "owner_name"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_identifier", "repository_id"], "description": "The name of the repository. It is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "results_page_number", "alternative_names": ["autolinks_page_number", "repository_page_number"], "description": "Specify the page number to retrieve results from when fetching autolinks for a repository.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/autolinks", "tags": ["repos"], "summary": "List all autolinks of a repository", "description": "This returns a list of autolinks configured for the given repository.\n\nInformation about autolinks are only available to repository administrators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-autolink", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_repository_autolink", "description": { "tagline": "Create an autolink reference in a GitHub repository.", "detailed": "Use this tool to create an autolink reference in a GitHub repository, provided you have admin access. It's helpful for linking external resources or references directly from issues and pull requests." }, "return_annotation": "Confirmation of autolink creation for the repository.", "arguments": [ { "name": "repository_owner_account", "alternative_names": ["repo_account_owner", "repository_admin_account"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "autolink_key_prefix", "alternative_names": ["prefix_for_autolink", "link_trigger_prefix"], "description": "The prefix that triggers link creation when found in issues, pull requests, or commits.", "endpoint_argument_name": "key_prefix" }, { "name": "url_template_for_autolink", "alternative_names": ["autolink_url_template", "template_url_for_reference"], "description": "URL containing `` for reference. It should match the characters based on `is_alphanumeric` value.", "endpoint_argument_name": "url_template" }, { "name": "match_alphanumeric_characters", "alternative_names": ["allow_alphanumeric_characters", "use_alphanumeric_matching"], "description": "Determines if the autolink reference matches alphanumeric characters. True includes A-Z, 0-9, '-', false matches only numeric characters.", "endpoint_argument_name": "is_alphanumeric" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/autolinks", "tags": ["repos"], "summary": "Create an autolink reference for a repository", "description": "Users with admin access to the repository can create an autolink.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "is_alphanumeric", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." }, "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters.", "required": false, "deprecated": false, "default": "true", "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." }, "schema_required": false }, { "name": "key_prefix", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit." }, "description": "This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit." }, "schema_required": true }, { "name": "url_template", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`." }, "description": "The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"is_alphanumeric\": true,\n \"key_prefix\": \"TICKET-\",\n \"url_template\": \"https://example.com/TICKET?query=\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"is_alphanumeric\": {\n \"default\": \"true\",\n \"description\": \"Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters.\",\n \"type\": \"boolean\"\n },\n \"key_prefix\": {\n \"description\": \"This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit.\",\n \"type\": \"string\"\n },\n \"url_template\": {\n \"description\": \"The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"key_prefix\",\n \"url_template\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/delete-autolink", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_repo_autolink", "description": { "tagline": "Delete an autolink reference from a GitHub repository.", "detailed": "Use this tool to delete a specific autolink reference from a GitHub repository by providing the repository owner, repository name, and autolink ID. This action is restricted to repository administrators." }, "return_annotation": "Confirmation of autolink deletion from repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_id"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "autolink_identifier", "alternative_names": ["autolink_id_value", "autolink_reference_id"], "description": "The unique integer identifier of the autolink to be deleted from the repository.", "endpoint_argument_name": "autolink_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/autolinks/{autolink_id}", "tags": ["repos"], "summary": "Delete an autolink reference from a repository", "description": "This deletes a single autolink reference by ID that was configured for the given repository.\n\nInformation about autolinks are only available to repository administrators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "autolink_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the autolink." }, "description": "The unique identifier of the autolink.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-autolink", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repository_autolink", "description": { "tagline": "Retrieve a specific GitHub repository autolink by ID.", "detailed": "Use this tool to obtain details of a specific autolink reference configured in a GitHub repository. This is accessible only to repository administrators." }, "return_annotation": "Details of a specific autolink configured for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "autolink_id", "alternative_names": ["autolink_identifier", "autolink_reference_id"], "description": "The unique identifier of the autolink configured in the GitHub repository.", "endpoint_argument_name": "autolink_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/autolinks/{autolink_id}", "tags": ["repos"], "summary": "Get an autolink reference of a repository", "description": "This returns a single autolink reference by ID that was configured for the given repository.\n\nInformation about autolinks are only available to repository administrators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "autolink_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the autolink." }, "description": "The unique identifier of the autolink.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-branches", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_branches", "description": { "tagline": "Retrieve branches from a specific GitHub repository.", "detailed": "Use this tool to get a list of all branches in a specified GitHub repository. It requires specifying the repository owner and name." }, "return_annotation": "List of branches in the specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. This is not case-sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "Specify the number of branch results per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_to_fetch", "branch_results_page"], "description": "Page number of the results to fetch from the list of branches.", "endpoint_argument_name": "page" }, { "name": "return_only_protected_branches", "alternative_names": ["show_only_protected_branches", "filter_to_protected_branches"], "description": "Set to `true` to return only protected branches, `false` for only unprotected, or omit to return all branches.", "endpoint_argument_name": "protected" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches", "tags": ["repos"], "summary": "List branches", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "protected", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches." }, "description": "Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-branch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repo_branch", "description": { "tagline": "Retrieve details of a specific branch from a GitHub repository.", "detailed": "Use this tool to obtain information about a particular branch within a specified GitHub repository. Provide the owner, repository name, and branch name to get the branch details." }, "return_annotation": "Details about a specific branch in a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository (case-insensitive).", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch_name", "git_branch_name"], "description": "The name of the GitHub branch. Avoid using wildcard characters. For wildcard support, refer to the GitHub GraphQL API.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}", "tags": ["repos"], "summary": "Get a branch", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-branch-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_branch_protection", "description": { "tagline": "Remove protection from a specified GitHub branch.", "detailed": "Use this tool to remove protection from a specific branch in a GitHub repository. Applicable for public repositories under GitHub Free and in both public and private repositories under GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. Ideal for scenarios where branch updates are needed." }, "return_annotation": "Confirmation of branch protection removal.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "target_branch"], "description": "The name of the branch to remove protection from. Cannot contain wildcard characters.", "endpoint_argument_name": "branch" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection", "tags": ["repos"], "summary": "Delete branch protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-branch-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_branch_protection", "description": { "tagline": "Retrieve protection settings for a GitHub branch.", "detailed": "Use this tool to obtain protection settings for a specific branch in a GitHub repository. This is useful for understanding the rules and restrictions applied to the branch, including who can push changes or enforce specific merge rules." }, "return_annotation": "Details about branch protection settings on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "target_branch"], "description": "The specific name of the GitHub branch to retrieve protection settings for. Must not contain wildcard characters.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection", "tags": ["repos"], "summary": "Get branch protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-branch-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_branch_protection", "description": { "tagline": "Update GitHub repository branch protection settings.", "detailed": "Use this tool to update the protection settings of a branch in a GitHub repository. It requires admin or owner permissions. Note that specifying new arrays for users and teams will replace their previous values, and there is a limit of 100 items for users, apps, and teams combined." }, "return_annotation": "Details of the updated branch protection settings.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository on GitHub. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository, which is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "target_branch"], "description": "The name of the branch to update protection settings for. It cannot contain wildcard characters. For wildcard support, use the GraphQL API.", "endpoint_argument_name": "branch" }, { "name": "branch_protection_settings", "alternative_names": ["branch_protection_config", "protection_settings"], "description": "JSON object specifying the branch protection options, such as allowing deletions and force pushes, requiring code reviews, and more.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/branches/{branch}/protection", "tags": ["repos"], "summary": "Update branch protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nProtecting a branch requires admin or owner permissions to the repository.\n\n**Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n\n**Note**: The list of users, apps, and teams in total is limited to 100 items.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "allow_deletions": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation." }, "allow_force_pushes": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\"" }, "allow_fork_syncing": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`." }, "block_creations": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`." }, "enforce_admins": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable." }, "lock_branch": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`." }, "required_conversation_resolution": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`." }, "required_linear_history": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \"[Requiring a linear commit history](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/requiring-a-linear-commit-history)\" in the GitHub Help documentation." }, "required_pull_request_reviews": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "bypass_pull_request_allowances": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "apps": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of app `slug`s allowed to bypass pull request requirements." }, "teams": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of team `slug`s allowed to bypass pull request requirements." }, "users": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of user `login`s allowed to bypass pull request requirements." } }, "inner_properties": null, "description": "Allow specific users, teams, or apps to bypass pull request requirements." }, "dismiss_stale_reviews": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit." }, "dismissal_restrictions": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "apps": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of app `slug`s with dismissal access" }, "teams": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of team `slug`s with dismissal access" }, "users": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of user `login`s with dismissal access" } }, "inner_properties": null, "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." }, "require_code_owner_reviews": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Blocks merging pull requests until [code owners](https://docs.github.com/enterprise-server@3.8/articles/about-code-owners/) review them." }, "require_last_push_approval": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`." }, "required_approving_review_count": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers." } }, "inner_properties": null, "description": "Require at least one approving review on a pull request, before merging. Set to `null` to disable." }, "required_status_checks": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "checks": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "app_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status." }, "context": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the required check" } }, "description": "The list of status checks to require in order to merge into this branch." }, "contexts": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control.\n" }, "strict": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Require branches to be up to date before merging." } }, "inner_properties": null, "description": "Require status checks to pass before merging. Set to `null` to disable." }, "restrictions": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "apps": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of app `slug`s with push access" }, "teams": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of team `slug`s with push access" }, "users": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of user `login`s with push access" } }, "inner_properties": null, "description": "Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "allow_deletions": { "type": "boolean", "description": "Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation." }, "allow_force_pushes": { "type": "boolean", "description": "Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\"" }, "allow_fork_syncing": { "type": "boolean", "description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`." }, "block_creations": { "type": "boolean", "description": "If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`." }, "enforce_admins": { "type": "boolean", "description": "Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable." }, "lock_branch": { "type": "boolean", "description": "Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`." }, "required_conversation_resolution": { "type": "boolean", "description": "Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`." }, "required_linear_history": { "type": "boolean", "description": "Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \"[Requiring a linear commit history](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/requiring-a-linear-commit-history)\" in the GitHub Help documentation." }, "required_pull_request_reviews": { "type": "object", "description": "Require at least one approving review on a pull request, before merging. Set to `null` to disable.", "properties": { "bypass_pull_request_allowances": { "type": "object", "description": "Allow specific users, teams, or apps to bypass pull request requirements.", "properties": { "apps": { "type": "array", "description": "The list of app `slug`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" } }, "users": { "type": "array", "description": "The list of user `login`s allowed to bypass pull request requirements.", "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." }, "dismissal_restrictions": { "type": "object", "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.", "properties": { "apps": { "type": "array", "description": "The list of app `slug`s with dismissal access", "items": { "type": "string" } }, "teams": { "type": "array", "description": "The list of team `slug`s with dismissal access", "items": { "type": "string" } }, "users": { "type": "array", "description": "The list of user `login`s with dismissal access", "items": { "type": "string" } } } }, "require_code_owner_reviews": { "type": "boolean", "description": "Blocks merging pull requests until [code owners](https://docs.github.com/enterprise-server@3.8/articles/about-code-owners/) review them." }, "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`." }, "required_approving_review_count": { "type": "integer", "description": "Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers." } } }, "required_status_checks": { "type": "object", "description": "Require status checks to pass before merging. Set to `null` to disable.", "properties": { "checks": { "type": "array", "description": "The list of status checks to require in order to merge into this branch.", "items": { "type": "object", "properties": { "app_id": { "type": "integer", "description": "The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status." }, "context": { "type": "string", "description": "The name of the required check" } }, "required": ["context"] } }, "contexts": { "type": "array", "description": "**Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control.\n", "items": { "type": "string" } }, "strict": { "type": "boolean", "description": "Require branches to be up to date before merging." } }, "required": ["strict", "contexts"] }, "restrictions": { "type": "object", "description": "Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable.", "properties": { "apps": { "type": "array", "description": "The list of app `slug`s with push access", "items": { "type": "string" } }, "teams": { "type": "array", "description": "The list of team `slug`s with push access", "items": { "type": "string" } }, "users": { "type": "array", "description": "The list of user `login`s with push access", "items": { "type": "string" } } }, "required": ["users", "teams"] } }, "required": [ "required_status_checks", "enforce_admins", "required_pull_request_reviews", "restrictions" ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"allow_deletions\": true,\n \"allow_force_pushes\": true,\n \"allow_fork_syncing\": true,\n \"block_creations\": true,\n \"enforce_admins\": true,\n \"lock_branch\": true,\n \"required_conversation_resolution\": true,\n \"required_linear_history\": true,\n \"required_pull_request_reviews\": {\n \"bypass_pull_request_allowances\": {\n \"teams\": [\n \"justice-league\"\n ],\n \"users\": [\n \"octocat\"\n ]\n },\n \"dismiss_stale_reviews\": true,\n \"dismissal_restrictions\": {\n \"teams\": [\n \"justice-league\"\n ],\n \"users\": [\n \"octocat\"\n ]\n },\n \"require_code_owner_reviews\": true,\n \"require_last_push_approval\": true,\n \"required_approving_review_count\": 2\n },\n \"required_status_checks\": {\n \"contexts\": [\n \"continuous-integration/travis-ci\"\n ],\n \"strict\": true\n },\n \"restrictions\": {\n \"apps\": [\n \"super-ci\"\n ],\n \"teams\": [\n \"justice-league\"\n ],\n \"users\": [\n \"octocat\"\n ]\n }\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_deletions\": {\n \"description\": \"Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \\\"[Enabling force pushes to a protected branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\\\" in the GitHub Help documentation.\",\n \"type\": \"boolean\"\n },\n \"allow_force_pushes\": {\n \"description\": \"Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \\\"[Enabling force pushes to a protected branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\\\" in the GitHub Help documentation.\\\"\",\n \"nullable\": true,\n \"type\": \"boolean\"\n },\n \"allow_fork_syncing\": {\n \"default\": false,\n \"description\": \"Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`.\",\n \"type\": \"boolean\"\n },\n \"block_creations\": {\n \"description\": \"If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`.\",\n \"type\": \"boolean\"\n },\n \"enforce_admins\": {\n \"description\": \"Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable.\",\n \"nullable\": true,\n \"type\": \"boolean\"\n },\n \"lock_branch\": {\n \"default\": false,\n \"description\": \"Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`.\",\n \"type\": \"boolean\"\n },\n \"required_conversation_resolution\": {\n \"description\": \"Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`.\",\n \"type\": \"boolean\"\n },\n \"required_linear_history\": {\n \"description\": \"Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \\\"[Requiring a linear commit history](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/requiring-a-linear-commit-history)\\\" in the GitHub Help documentation.\",\n \"type\": \"boolean\"\n },\n \"required_pull_request_reviews\": {\n \"description\": \"Require at least one approving review on a pull request, before merging. Set to `null` to disable.\",\n \"nullable\": true,\n \"properties\": {\n \"bypass_pull_request_allowances\": {\n \"description\": \"Allow specific users, teams, or apps to bypass pull request requirements.\",\n \"properties\": {\n \"apps\": {\n \"description\": \"The list of app `slug`s allowed to bypass pull request requirements.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"teams\": {\n \"description\": \"The list of team `slug`s allowed to bypass pull request requirements.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"users\": {\n \"description\": \"The list of user `login`s allowed to bypass pull request requirements.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"dismiss_stale_reviews\": {\n \"description\": \"Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.\",\n \"type\": \"boolean\"\n },\n \"dismissal_restrictions\": {\n \"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.\",\n \"properties\": {\n \"apps\": {\n \"description\": \"The list of app `slug`s with dismissal access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"teams\": {\n \"description\": \"The list of team `slug`s with dismissal access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"users\": {\n \"description\": \"The list of user `login`s with dismissal access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"require_code_owner_reviews\": {\n \"description\": \"Blocks merging pull requests until [code owners](https://docs.github.com/enterprise-server@3.8/articles/about-code-owners/) review them.\",\n \"type\": \"boolean\"\n },\n \"require_last_push_approval\": {\n \"default\": false,\n \"description\": \"Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`.\",\n \"type\": \"boolean\"\n },\n \"required_approving_review_count\": {\n \"description\": \"Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers.\",\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n },\n \"required_status_checks\": {\n \"description\": \"Require status checks to pass before merging. Set to `null` to disable.\",\n \"nullable\": true,\n \"properties\": {\n \"checks\": {\n \"description\": \"The list of status checks to require in order to merge into this branch.\",\n \"items\": {\n \"properties\": {\n \"app_id\": {\n \"description\": \"The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status.\",\n \"type\": \"integer\"\n },\n \"context\": {\n \"description\": \"The name of the required check\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"context\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"contexts\": {\n \"deprecated\": true,\n \"description\": \"**Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control.\\n\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"strict\": {\n \"description\": \"Require branches to be up to date before merging.\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"strict\",\n \"contexts\"\n ],\n \"type\": \"object\"\n },\n \"restrictions\": {\n \"description\": \"Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable.\",\n \"nullable\": true,\n \"properties\": {\n \"apps\": {\n \"description\": \"The list of app `slug`s with push access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"teams\": {\n \"description\": \"The list of team `slug`s with push access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"users\": {\n \"description\": \"The list of user `login`s with push access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"users\",\n \"teams\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"required_status_checks\",\n \"enforce_admins\",\n \"required_pull_request_reviews\",\n \"restrictions\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/delete-admin-branch-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_admin_branch_protection", "description": { "tagline": "Remove admin enforcement on a protected branch.", "detailed": "This tool removes admin enforcement from a protected branch on GitHub. It requires admin or owner permissions for the repository and that branch protection is enabled. Use when you need to disable admin restrictions on a branch." }, "return_annotation": "Confirmation of removal of admin branch protection.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The GitHub account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive and should not include any special characters.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "branch_identifier"], "description": "The exact name of the branch for which admin enforcement will be removed. Wildcards are not allowed.", "endpoint_argument_name": "branch" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "tags": ["repos"], "summary": "Delete admin branch protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoving admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-admin-branch-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_admin_branch_protection_status", "description": { "tagline": "Get admin branch protection status on GitHub.", "detailed": "Use this tool to fetch the admin branch protection status for a specific branch within a GitHub repository. This is applicable to both public and private repositories across various GitHub plans." }, "return_annotation": "Details on admin branch protection status.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "branch_identifier"], "description": "The exact name of the branch. Wildcards are not allowed; use GraphQL API for wildcards.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "tags": ["repos"], "summary": "Get admin branch protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/set-admin-branch-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_admin_branch_protection", "description": { "tagline": "Set admin branch protection in a GitHub repository.", "detailed": "Use this tool to enforce admin branch protection on a specified branch in a GitHub repository. Requires admin or owner permissions, and branch protection must be enabled." }, "return_annotation": "Confirms admin branch protection setting for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The case-insensitive name of the repository to set admin branch protection for.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_label"], "description": "The exact name of the branch to set admin protection. Wildcards not supported.", "endpoint_argument_name": "branch" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "tags": ["repos"], "summary": "Set admin branch protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nAdding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-pull-request-review-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_pull_request_review_protection", "description": { "tagline": "Remove pull request review protection from a branch.", "detailed": "Use this tool to remove the requirement for pull request reviews on a protected branch in a GitHub repository. This is useful for adjusting branch protection rules in repositories. Applies to various GitHub plans as outlined in GitHub documentation." }, "return_annotation": "Confirmation of removal of pull request review protection.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It's not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The case-insensitive name of the repository from which to remove pull request review protection.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_reference"], "description": "The specific name of the branch to remove pull request review protection from. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "tags": ["repos"], "summary": "Delete pull request review protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-pull-request-review-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pull_request_review_protection", "description": { "tagline": "Get pull request review protection details for a branch.", "detailed": "Fetches details about the required pull request review protection for a specific branch in a GitHub repository. Useful for understanding branch protection rules in repositories." }, "return_annotation": "Details of required pull request reviews protection for a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive and identifies who owns the repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to retrieve pull request review protection details for. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_label"], "description": "The name of the branch. Cannot contain wildcard characters. For wildcard usage, refer to the GraphQL API.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "tags": ["repos"], "summary": "Get pull request review protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-pull-request-review-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_pull_request_review_protection", "description": { "tagline": "Update pull request review protection settings for a branch.", "detailed": "This tool allows updating the pull request review enforcement settings on a protected branch, requiring admin or owner permissions. It applies to branches in both public and private repositories with enabled branch protection settings." }, "return_annotation": "Confirmation of the updated pull request review protection settings.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "branch_identifier"], "description": "The name of the branch to update. It must not contain wildcard characters. For wildcard support, use the GraphQL API.", "endpoint_argument_name": "branch" }, { "name": "pr_review_protection_settings", "alternative_names": ["pr_review_settings", "review_protection_config"], "description": "JSON object defining bypass allowances, dismissal restrictions, and review requirements for pull request review protection.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "tags": ["repos"], "summary": "Update pull request review protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nUpdating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n\n**Note**: Passing new arrays of `users` and `teams` replaces their previous values.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "bypass_pull_request_allowances": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "apps": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of app `slug`s allowed to bypass pull request requirements." }, "teams": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of team `slug`s allowed to bypass pull request requirements." }, "users": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of user `login`s allowed to bypass pull request requirements." } }, "inner_properties": null, "description": "Allow specific users, teams, or apps to bypass pull request requirements." }, "dismiss_stale_reviews": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit." }, "dismissal_restrictions": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "apps": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of app `slug`s with dismissal access" }, "teams": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of team `slug`s with dismissal access" }, "users": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The list of user `login`s with dismissal access" } }, "inner_properties": null, "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." }, "require_code_owner_reviews": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Blocks merging pull requests until [code owners](https://docs.github.com/enterprise-server@3.8/articles/about-code-owners/) have reviewed." }, "require_last_push_approval": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`" }, "required_approving_review_count": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "bypass_pull_request_allowances": { "type": "object", "description": "Allow specific users, teams, or apps to bypass pull request requirements.", "properties": { "apps": { "type": "array", "description": "The list of app `slug`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" } }, "users": { "type": "array", "description": "The list of user `login`s allowed to bypass pull request requirements.", "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." }, "dismissal_restrictions": { "type": "object", "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.", "properties": { "apps": { "type": "array", "description": "The list of app `slug`s with dismissal access", "items": { "type": "string" } }, "teams": { "type": "array", "description": "The list of team `slug`s with dismissal access", "items": { "type": "string" } }, "users": { "type": "array", "description": "The list of user `login`s with dismissal access", "items": { "type": "string" } } } }, "require_code_owner_reviews": { "type": "boolean", "description": "Blocks merging pull requests until [code owners](https://docs.github.com/enterprise-server@3.8/articles/about-code-owners/) have reviewed." }, "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`" }, "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." } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"bypass_pull_request_allowances\": {\n \"apps\": [\n \"octoapp\"\n ],\n \"teams\": [\n \"justice-league\"\n ],\n \"users\": [\n \"octocat\"\n ]\n },\n \"dismiss_stale_reviews\": true,\n \"dismissal_restrictions\": {\n \"apps\": [\n \"octoapp\"\n ],\n \"teams\": [\n \"justice-league\"\n ],\n \"users\": [\n \"octocat\"\n ]\n },\n \"require_code_owner_reviews\": true,\n \"require_last_push_approval\": true,\n \"required_approving_review_count\": 2\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"bypass_pull_request_allowances\": {\n \"description\": \"Allow specific users, teams, or apps to bypass pull request requirements.\",\n \"properties\": {\n \"apps\": {\n \"description\": \"The list of app `slug`s allowed to bypass pull request requirements.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"teams\": {\n \"description\": \"The list of team `slug`s allowed to bypass pull request requirements.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"users\": {\n \"description\": \"The list of user `login`s allowed to bypass pull request requirements.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"dismiss_stale_reviews\": {\n \"description\": \"Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.\",\n \"type\": \"boolean\"\n },\n \"dismissal_restrictions\": {\n \"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.\",\n \"properties\": {\n \"apps\": {\n \"description\": \"The list of app `slug`s with dismissal access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"teams\": {\n \"description\": \"The list of team `slug`s with dismissal access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"users\": {\n \"description\": \"The list of user `login`s with dismissal access\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n \"require_code_owner_reviews\": {\n \"description\": \"Blocks merging pull requests until [code owners](https://docs.github.com/enterprise-server@3.8/articles/about-code-owners/) have reviewed.\",\n \"type\": \"boolean\"\n },\n \"require_last_push_approval\": {\n \"default\": false,\n \"description\": \"Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`\",\n \"type\": \"boolean\"\n },\n \"required_approving_review_count\": {\n \"description\": \"Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers.\",\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/delete-commit-signature-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "disable_commit_signature_protection", "description": { "tagline": "Disable required signed commits on a branch.", "detailed": "This tool disables required signed commits on a specified branch in a GitHub repository. It requires admin or owner permissions and is applicable when branch protection is enabled." }, "return_annotation": "Confirmation of commit signature protection removal.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository, case insensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["target_branch", "branch_identifier"], "description": "The name of the branch where you want to disable commit signature protection. Wildcards are not allowed.", "endpoint_argument_name": "branch" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "tags": ["repos"], "summary": "Delete commit signature protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-commit-signature-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_branch_commit_signature_status", "description": { "tagline": "Check if a branch requires signed commits for protection.", "detailed": "Use this tool to determine if a branch in a GitHub repository requires signed commits. This is relevant for repositories with branch protection enabled. Appropriate permissions are needed to access this information." }, "return_annotation": "Indicates if a branch requires signed commits.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The username of the repository owner. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "git_branch_name"], "description": "The name of the branch to check. It cannot contain wildcard characters.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "tags": ["repos"], "summary": "Get commit signature protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/enterprise-server@3.8/articles/signing-commits-with-gpg) in GitHub Help.\n\n**Note**: You must enable branch protection to require signed commits.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-commit-signature-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "require_signed_commits_on_branch", "description": { "tagline": "Enable signed commit requirement on a GitHub branch.", "detailed": "This tool requires signed commits on a specified branch of a GitHub repository. It is used when you have admin or owner permissions and have enabled branch protection on the target branch." }, "return_annotation": "Details about the commit signature protection activation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_admin", "repo_owner"], "description": "The account owner of the GitHub repository. Name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_identifier", "repository_id"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_title"], "description": "The name of the branch for which to require signed commits. It cannot contain wildcard characters. For using wildcards, refer to the GitHub GraphQL API.", "endpoint_argument_name": "branch" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "tags": ["repos"], "summary": "Create commit signature protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/remove-status-check-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_status_check_protection", "description": { "tagline": "Remove status check protection from a GitHub branch.", "detailed": "This tool removes the required status check protection from a specified branch in a GitHub repository. It should be called when you want to lift status check requirements from a protected branch." }, "return_annotation": "Confirmation of status check protection removal.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name that owns the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch_name", "git_branch_name"], "description": "The name of the branch from which you want to remove status check protection. Wildcard characters are not allowed. Use the GraphQL API for wildcard support.", "endpoint_argument_name": "branch" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "tags": ["repos"], "summary": "Remove status check protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-status-checks-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_branch_protection_status_checks", "description": { "tagline": "Retrieve status check protections for a GitHub branch.", "detailed": "Use this tool to get information on the status check protections for a specific branch in a GitHub repository. It is useful for ensuring that a branch has the required checks before merging." }, "return_annotation": "Details about the status check protection of a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to check. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["target_branch", "repository_branch"], "description": "The name of the branch. It must not contain wildcard characters.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "tags": ["repos"], "summary": "Get status checks protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-status-check-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_branch_status_check_protection", "description": { "tagline": "Update status check protection for a GitHub branch.", "detailed": "Use this tool to update the required status checks for a protected branch in a GitHub repository. Requires admin or owner permissions." }, "return_annotation": "Confirmation of status check protection update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "target_branch"], "description": "The name of the branch for which to update status check protection. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" }, { "name": "status_check_configuration", "alternative_names": ["branch_protection_config", "protection_checks_config"], "description": "JSON object detailing the status check settings. Includes 'checks' for required status checks, 'contexts' if applicable, and 'strict' for branch update requirements.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "tags": ["repos"], "summary": "Update status check protection", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nUpdating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "checks": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "app_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status." }, "context": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the required check" } }, "description": "The list of status checks to require in order to merge into this branch." }, "contexts": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control.\n" }, "strict": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Require branches to be up to date before merging." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "checks": { "type": "array", "description": "The list of status checks to require in order to merge into this branch.", "items": { "type": "object", "properties": { "app_id": { "type": "integer", "description": "The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status." }, "context": { "type": "string", "description": "The name of the required check" } }, "required": ["context"] } }, "contexts": { "type": "array", "description": "**Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control.\n", "items": { "type": "string" } }, "strict": { "type": "boolean", "description": "Require branches to be up to date before merging." } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"contexts\": [\n \"continuous-integration/travis-ci\"\n ],\n \"strict\": true\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"checks\": {\n \"description\": \"The list of status checks to require in order to merge into this branch.\",\n \"items\": {\n \"properties\": {\n \"app_id\": {\n \"description\": \"The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status.\",\n \"type\": \"integer\"\n },\n \"context\": {\n \"description\": \"The name of the required check\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"context\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"contexts\": {\n \"deprecated\": true,\n \"description\": \"**Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control.\\n\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"strict\": {\n \"description\": \"Require branches to be up to date before merging.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/remove-status-check-contexts", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_branch_status_check_contexts", "description": { "tagline": "Remove status check contexts from a protected branch.", "detailed": "Use this tool to delete status check contexts from a protected branch in a GitHub repository. This applies to various GitHub plans, allowing for flexible management of branch protections." }, "return_annotation": "Confirmation of status check contexts removal from a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Enter a GitHub username, which is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_id", "repository_title"], "description": "The name of the repository, case insensitive, to target for status check context removal.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["target_branch", "branch_identifier"], "description": "The name of the branch from which to remove status check contexts. Cannot contain wildcard characters.", "endpoint_argument_name": "branch" }, { "name": "status_check_contexts_to_remove", "alternative_names": ["contexts_to_delete", "protection_contexts_list"], "description": "An array of status check context names to remove from the protected branch. Each context name should be a string.", "endpoint_argument_name": "requestBody" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "tags": ["repos"], "summary": "Remove status check contexts", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The name of the status checks", "items": { "type": "string" }, "oneOf": [ { "type": "object", "properties": { "contexts": { "type": "array", "description": "The name of the status checks", "items": { "type": "string" } } }, "required": ["contexts"] }, { "type": "array", "description": "The name of the status checks", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example removing status checks from a branch protection rule\",\n \"value\": [\n \"continuous-integration/jenkins\"\n ]\n }\n },\n \"schema\": {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"oneOf\": [\n {\n \"example\": {\n \"contexts\": [\n \"contexts\"\n ]\n },\n \"properties\": {\n \"contexts\": {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"contexts\"\n ],\n \"type\": \"object\"\n },\n {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ],\n \"type\": \"array\"\n }\n }\n }\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/get-all-status-check-contexts", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_status_check_contexts", "description": { "tagline": "Retrieve status check contexts for a protected GitHub branch.", "detailed": "This tool fetches all status check contexts for a specific protected branch in a GitHub repository. Useful for understanding the checks required for branch protections. Suitable for repositories with branch protection enabled." }, "return_annotation": "List of status check contexts for a GitHub branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repo_branch_name", "repository_branch"], "description": "The name of the branch. Cannot include wildcard characters.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "tags": ["repos"], "summary": "Get all status check contexts", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/add-status-check-contexts", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_status_check_contexts_to_branch", "description": { "tagline": "Add status check contexts to a protected branch.", "detailed": "This tool allows users to add status check contexts to a specified protected branch in a GitHub repository. It should be called when managing branch protection rules and ensuring specific contexts are required for status checks." }, "return_annotation": "Confirmation of status check contexts added to branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to add status check contexts to. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch_name", "protected_branch_name"], "description": "The name of the branch to add status check contexts to. Cannot contain wildcard characters. Use GraphQL API for wildcards.", "endpoint_argument_name": "branch" }, { "name": "status_check_contexts", "alternative_names": ["context_list", "check_contexts"], "description": "A list of status check contexts to add to the branch, such as continuous integration checks.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "tags": ["repos"], "summary": "Add status check contexts", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The name of the status checks", "items": { "type": "string" }, "oneOf": [ { "type": "object", "properties": { "contexts": { "type": "array", "description": "The name of the status checks", "items": { "type": "string" } } }, "required": ["contexts"] }, { "type": "array", "description": "The name of the status checks", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example adding status checks to a branch protection rule\",\n \"value\": [\n \"continuous-integration/travis-ci\",\n \"continuous-integration/jenkins\"\n ]\n }\n },\n \"schema\": {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"oneOf\": [\n {\n \"example\": {\n \"contexts\": [\n \"contexts\"\n ]\n },\n \"properties\": {\n \"contexts\": {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"contexts\"\n ],\n \"type\": \"object\"\n },\n {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ],\n \"type\": \"array\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/set-status-check-contexts", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_branch_status_check_contexts", "description": { "tagline": "Set status check contexts for a protected branch.", "detailed": "Utilize this tool to configure the required status check contexts for a protected branch in a GitHub repository. This tool is relevant for managing branch protections in public repositories with GitHub Free, and both public and private repositories with GitHub Pro, Team, Enterprise Cloud, and Server." }, "return_annotation": "Confirmation of updated status check contexts for a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_label"], "description": "The name of the branch. It cannot contain wildcard characters. Use the GraphQL API for wildcard support.", "endpoint_argument_name": "branch" }, { "name": "status_check_contexts", "alternative_names": ["required_status_checks", "branch_protection_status_checks"], "description": "An array of status check contexts required for the protected branch. Each context is a string specifying a status check.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "tags": ["repos"], "summary": "Set status check contexts", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The name of the status checks", "items": { "type": "string" }, "oneOf": [ { "type": "object", "properties": { "contexts": { "type": "array", "description": "The name of the status checks", "items": { "type": "string" } } }, "required": ["contexts"] }, { "type": "array", "description": "The name of the status checks", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example updating status checks for a branch protection rule\",\n \"value\": [\n \"continuous-integration/travis-ci\"\n ]\n }\n },\n \"schema\": {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"oneOf\": [\n {\n \"example\": {\n \"contexts\": [\n \"contexts\"\n ]\n },\n \"properties\": {\n \"contexts\": {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"contexts\"\n ],\n \"type\": \"object\"\n },\n {\n \"description\": \"The name of the status checks\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ],\n \"type\": \"array\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/delete-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_branch_access_restriction", "description": { "tagline": "Remove access restrictions from a GitHub branch.", "detailed": "This tool is used to remove restrictions on who can push to a protected branch in a GitHub repository. It's applicable for both public and private repositories under various GitHub plans. Call this tool when you need to allow all collaborators to push to a specific branch." }, "return_annotation": "Confirmation of successful removal of branch access restrictions.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. The value is not case-sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "target_branch"], "description": "The name of the branch to remove access restrictions from. Cannot contain wildcard characters.", "endpoint_argument_name": "branch" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "tags": ["repos"], "summary": "Delete access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nDisables the ability to restrict who can push to this branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_branch_access_restrictions", "description": { "tagline": "Retrieve access information for a protected branch.", "detailed": "Use this tool to list users, apps, and teams with access to a specified protected branch within an organization-owned repository on GitHub. It provides details about who has permissions to interact with the branch." }, "return_annotation": "Access information for a protected branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "branch_identifier"], "description": "The exact name of the branch to retrieve access information for. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "tags": ["repos"], "summary": "Get access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists who has access to this protected branch.\n\n**Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/remove-app-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_github_app_branch_access", "description": { "tagline": "Remove an app's access to a protected GitHub branch.", "detailed": "Use this tool to remove the ability of a GitHub app to push to a protected branch. Applicable for branches in public and private repositories under various GitHub plans. Only apps with 'write' access to 'contents' permission can be removed." }, "return_annotation": "Confirmation of app access removal from branch.", "arguments": [ { "name": "repository_owner_account", "alternative_names": ["repo_owner", "repository_owner"], "description": "The account owner of the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "repo_branch"], "description": "The name of the branch to remove app access from. Wildcards are not allowed.", "endpoint_argument_name": "branch" }, { "name": "app_identifiers", "alternative_names": ["apps_list", "authorized_apps"], "description": "A JSON array of app identifiers to be removed from branch access. Each identifier corresponds to a GitHub App with 'write' access.", "endpoint_argument_name": "requestBody" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "tags": ["repos"], "summary": "Remove app access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "apps": { "type": "array", "description": "The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.", "items": { "type": "string" } } }, "required": ["apps"] }, { "type": "array", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"apps\": [\n \"my-app\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"apps\": [\n \"my-app\"\n ]\n },\n \"properties\": {\n \"apps\": {\n \"description\": \"The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"apps\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ]\n }\n }\n }\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/get-apps-with-access-to-protected-branch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_apps_with_branch_access", "description": { "tagline": "Retrieve GitHub Apps with access to a protected branch.", "detailed": "This tool lists the GitHub Apps that have push access to a specific protected branch. It should be called when you need to identify which installed GitHub Apps are authorized to interact with a branch under protection." }, "return_annotation": "A list of GitHub Apps with push access to a protected branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["protected_branch_name", "target_branch_name"], "description": "The name of the branch. Wildcard characters are not allowed; use exact names only.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "tags": ["repos"], "summary": "Get apps with access to the protected branch", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/add-app-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_app_access_restrictions", "description": { "tagline": "Grant specified apps push access to a protected branch.", "detailed": "Use this tool to grant specific GitHub Apps push access to protected branches in repositories. Apps must have 'write' access to 'contents' to be authorized." }, "return_annotation": "Confirmation of apps granted push access.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The repository account owner. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_title"], "description": "The name of the branch to grant push access. Cannot contain wildcard characters.", "endpoint_argument_name": "branch" }, { "name": "apps_to_grant_push_access", "alternative_names": ["apps_list", "authorized_apps"], "description": "A JSON array of GitHub App slugs to grant push access on the specified branch. Only apps with 'write' access to 'contents' are eligible.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "tags": ["repos"], "summary": "Add app access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "apps": { "type": "array", "description": "The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.", "items": { "type": "string" } } }, "required": ["apps"] }, { "type": "array", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"apps\": [\n \"octoapp\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"apps\": [\n \"my-app\"\n ]\n },\n \"properties\": {\n \"apps\": {\n \"description\": \"The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"apps\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/set-app-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_branch_app_access_restrictions", "description": { "tagline": "Replace apps with push access on a protected branch.", "detailed": "Use this tool to specify which GitHub Apps have push access to a protected branch, replacing any previous app list. It is applicable to public repositories with various GitHub plans and private repositories with higher-tier plans. Only GitHub Apps with write access to the contents permission can be authorized." }, "return_annotation": "Details of the updated app access restrictions on a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "target_branch"], "description": "The exact name of the branch to update app access restrictions for. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" }, { "name": "apps_with_push_access", "alternative_names": ["authorized_apps", "apps_list"], "description": "A JSON array of GitHub Apps to grant push access to the branch. Each app must have `write` access to the `contents` permission.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "tags": ["repos"], "summary": "Set app access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "apps": { "type": "array", "description": "The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.", "items": { "type": "string" } } }, "required": ["apps"] }, { "type": "array", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"apps\": [\n \"octoapp\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"apps\": [\n \"my-app\"\n ]\n },\n \"properties\": {\n \"apps\": {\n \"description\": \"The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"apps\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/remove-team-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_team_access_from_branch", "description": { "tagline": "Remove a team's push access to a protected GitHub branch.", "detailed": "This tool removes the ability of a specified team to push to a protected branch in a GitHub repository. It should be called when you need to revoke push access for a team, including child teams, on a specific branch." }, "return_annotation": "Confirmation of team access removal from the branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "repository_branch"], "description": "The exact name of the branch from which to remove team access. Wildcard characters are not allowed. For wildcard usage, employ the GraphQL API.", "endpoint_argument_name": "branch" }, { "name": "team_slug_list", "alternative_names": ["team_identifiers", "team_slugs"], "description": "An array of team slugs whose access will be removed from the branch. Each slug is a string representing a team.", "endpoint_argument_name": "requestBody" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "tags": ["repos"], "summary": "Remove team access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of a team to push to this branch. You can also remove push access for child teams.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The slug values for teams", "items": { "type": "string" }, "oneOf": [ { "type": "object", "properties": { "teams": { "type": "array", "description": "The slug values for teams", "items": { "type": "string" } } }, "required": ["teams"] }, { "type": "array", "description": "The slug values for teams", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example removing a team in a branch protection rule\",\n \"value\": [\n \"octocats\"\n ]\n }\n },\n \"schema\": {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"oneOf\": [\n {\n \"example\": {\n \"teams\": [\n \"my-team\"\n ]\n },\n \"properties\": {\n \"teams\": {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"teams\"\n ],\n \"type\": \"object\"\n },\n {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ],\n \"type\": \"array\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/get-teams-with-access-to-protected-branch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_teams_with_push_access_to_branch", "description": { "tagline": "Retrieve teams with push access to a protected branch.", "detailed": "Call this tool to get a list of teams that have push access to a specified protected branch in a GitHub repository. Useful for managing and reviewing team permissions." }, "return_annotation": "List of teams with push access to a protected branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repository_account_owner"], "description": "The GitHub username or organization name that owns the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["protected_branch", "branch_identifier"], "description": "The name of the branch to retrieve teams with push access. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "tags": ["repos"], "summary": "Get teams with access to the protected branch", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the teams who have push access to this branch. The list includes child teams.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/add-team-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_team_access_to_branch", "description": { "tagline": "Grant push access to teams for a specific branch.", "detailed": "Use this tool to grant specified teams push access to a protected branch within a repository. Applicable to repositories on GitHub Free, Pro, Team, and Enterprise plans." }, "return_annotation": "Confirmation of team access granted to the branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "target_branch"], "description": "Specify the branch name to grant team access. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" }, { "name": "team_names_for_access", "alternative_names": ["teams_granted_access", "target_teams"], "description": "An array of team names to be granted push access to the branch.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "tags": ["repos"], "summary": "Add team access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified teams push access for this branch. You can also give push access to child teams.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The slug values for teams", "items": { "type": "string" }, "oneOf": [ { "type": "object", "properties": { "teams": { "type": "array", "description": "The slug values for teams", "items": { "type": "string" } } }, "required": ["teams"] }, { "type": "array", "description": "The slug values for teams", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example adding a team in a branch protection rule\",\n \"value\": [\n \"justice-league\"\n ]\n }\n },\n \"schema\": {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"oneOf\": [\n {\n \"example\": {\n \"teams\": [\n \"my-team\"\n ]\n },\n \"properties\": {\n \"teams\": {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"teams\"\n ],\n \"type\": \"object\"\n },\n {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ],\n \"type\": \"array\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/set-team-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_branch_team_access", "description": { "tagline": "Update the team access restrictions on a GitHub branch.", "detailed": "This tool replaces the current list of teams with push access to a specified branch in a GitHub repository. It removes all previous teams and sets the new list, including any child teams, for team access control." }, "return_annotation": "Details of teams granted push access to the branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["repository_branch", "branch_identifier"], "description": "The name of the branch. It cannot contain wildcard characters.", "endpoint_argument_name": "branch" }, { "name": "team_names_with_access", "alternative_names": ["teams_with_access", "access_granted_teams"], "description": "List of team names to grant push access. This replaces existing access restrictions.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "tags": ["repos"], "summary": "Set team access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "The slug values for teams", "items": { "type": "string" }, "oneOf": [ { "type": "object", "properties": { "teams": { "type": "array", "description": "The slug values for teams", "items": { "type": "string" } } }, "required": ["teams"] }, { "type": "array", "description": "The slug values for teams", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example replacing a team in a branch protection rule\",\n \"value\": [\n \"justice-league\"\n ]\n }\n },\n \"schema\": {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"oneOf\": [\n {\n \"example\": {\n \"teams\": [\n \"justice-league\"\n ]\n },\n \"properties\": {\n \"teams\": {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"teams\"\n ],\n \"type\": \"object\"\n },\n {\n \"description\": \"The slug values for teams\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ],\n \"type\": \"array\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/remove-user-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_user_access_from_branch", "description": { "tagline": "Remove users' push access from a GitHub branch.", "detailed": "This tool is used to remove the ability of specified users to push to a protected branch in a GitHub repository. It supports repositories with GitHub Free, Pro, Team, Enterprise Cloud, and Server plans. Use this tool to manage access restrictions on your protected branches." }, "return_annotation": "Confirmation of removal of users' push access to a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_identifier", "repository_id"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "target_branch_name"], "description": "The name of the branch to remove user access from. It must not contain wildcard characters. For using wildcards, refer to the GitHub GraphQL API.", "endpoint_argument_name": "branch" }, { "name": "users_to_remove_push_access", "alternative_names": ["usernames_to_revoke_access", "user_list_revoke_access"], "description": "A JSON array of usernames to remove push access from. List up to 100 usernames.", "endpoint_argument_name": "requestBody" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "tags": ["repos"], "summary": "Remove user access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of a user to push to this branch.\n\n| Type | Description |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The username for users", "items": { "type": "string" } } }, "required": ["users"] }, { "type": "array", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example removing a user in a branch protection rule\",\n \"value\": {\n \"users\": [\n \"octocat\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"users\": [\n \"mona\"\n ]\n },\n \"properties\": {\n \"users\": {\n \"description\": \"The username for users\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"users\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ]\n }\n }\n }\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/get-users-with-access-to-protected-branch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_users_with_branch_access", "description": { "tagline": "Retrieve users with push access to a protected branch on GitHub.", "detailed": "This tool should be called to obtain a list of users who have push access to a specific protected branch in a GitHub repository. It is applicable to both public and private repositories under various GitHub plans, including Free, Pro, Team, and Enterprise. Use this when you need to manage or review user permissions for branch access." }, "return_annotation": "List of users with push access to a protected branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_title"], "description": "The exact name of the branch to check for push access. Wildcard characters are not allowed.", "endpoint_argument_name": "branch" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "tags": ["repos"], "summary": "Get users with access to the protected branch", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the people who have push access to this branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/add-user-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "grant_push_access_github_branch", "description": { "tagline": "Grant push access to specified users for a GitHub branch.", "detailed": "This tool is used to grant push access to specific users for a protected branch in a GitHub repository. It is applicable in scenarios involving public repositories with GitHub Free and GitHub Free for organizations, as well as public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server." }, "return_annotation": "Confirmation of push access granted to specified users.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["git_branch_name", "repository_branch_name"], "description": "The name of the branch to grant push access. Cannot contain wildcard characters.", "endpoint_argument_name": "branch" }, { "name": "usernames_with_push_access", "alternative_names": ["push_access_usernames", "usernames_for_branch_access"], "description": "A JSON array of usernames to grant push access to the specified branch. Limited to 100 items.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "tags": ["repos"], "summary": "Add user access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified people push access for this branch.\n\n| Type | Description |\n| ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The username for users", "items": { "type": "string" } } }, "required": ["users"] }, { "type": "array", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example adding a user in a branch protection rule\",\n \"value\": {\n \"users\": [\n \"octocat\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"users\": [\n \"mona\"\n ]\n },\n \"properties\": {\n \"users\": {\n \"description\": \"The username for users\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"users\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/set-user-access-restrictions", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_branch_user_access_restrictions", "description": { "tagline": "Set user access restrictions for a GitHub branch.", "detailed": "This tool replaces the list of users with push access to a specified GitHub branch, removing previous users and granting access to the new list. Useful for managing who can perform actions on protected branches." }, "return_annotation": "Updates the list of users with push access to a branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Note that it is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name", "alternative_names": ["branch_identifier", "branch_id"], "description": "The name of the branch for which to set user access restrictions. Cannot contain wildcard characters.", "endpoint_argument_name": "branch" }, { "name": "usernames_with_push_access", "alternative_names": ["push_access_users", "branch_push_permissions"], "description": "A list of usernames who should have push access to the branch. Limit of 100 items.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "tags": ["repos"], "summary": "Set user access restrictions", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.\n\n| Type | Description |\n| ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "users": { "type": "array", "description": "The username for users", "items": { "type": "string" } } }, "required": ["users"] }, { "type": "array", "items": { "type": "string" } } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example replacing a user in a branch protection rule\",\n \"value\": {\n \"users\": [\n \"octocat\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"users\": [\n \"mona\"\n ]\n },\n \"properties\": {\n \"users\": {\n \"description\": \"The username for users\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"users\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/rename-branch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "rename_github_branch", "description": { "tagline": "Rename a branch in a GitHub repository.", "detailed": "Use this tool to rename a branch in a specific GitHub repository. Requires appropriate permissions based on whether the branch is default or not. Note that pushing to the old branch name is prohibited during the rename process." }, "return_annotation": "Confirmation of branch rename initiation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_id", "repository_identifier"], "description": "The name of the GitHub repository. It is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "current_branch_name", "alternative_names": ["existing_branch_name", "source_branch_name"], "description": "The current name of the branch to be renamed. Cannot include wildcard characters.", "endpoint_argument_name": "branch" }, { "name": "new_branch_name", "alternative_names": ["new_branch_title", "updated_branch_name"], "description": "The new name for the branch. Ensure it doesn\u2019t contain wildcard characters.", "endpoint_argument_name": "new_name" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/branches/{branch}/rename", "tags": ["repos"], "summary": "Rename a branch", "description": "Renames a branch in a repository.\n\n**Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see \"[Renaming a branch](https://docs.github.com/enterprise-server@3.8/github/administering-a-repository/renaming-a-branch)\".\n\nThe permissions required to use this endpoint depends on whether you are renaming the default branch.\n\nTo rename a non-default branch:\n\n* Users must have push access.\n* GitHub Apps must have the `contents:write` repository permission.\n\nTo rename the default branch:\n\n* Users must have admin or owner permissions.\n* GitHub Apps must have the `administration:write` repository permission.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "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/enterprise-server@3.8/graphql)." }, "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/enterprise-server@3.8/graphql).", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "new_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new name of the branch." }, "description": "The new name of the branch.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new name of the branch." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"new_name\": \"my_renamed_branch\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"new_name\": {\n \"description\": \"The new name of the branch.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"new_name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "checks/create", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_check_run", "description": { "tagline": "Create a new check run for a GitHub repository commit.", "detailed": "This tool creates a new check run associated with a specific commit in a GitHub repository. It requires the 'checks:write' permission in the GitHub App. Note that this tool is sensitive to the branch it's applied to, as it only processes pushes in the repository where it's created, not in forked repositories." }, "return_annotation": "Details of the created GitHub check run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "check_run_request_body", "alternative_names": ["check_run_details", "check_run_payload"], "description": "JSON payload for creating a GitHub check run, including fields like 'name', 'status', 'started_at', and more provided in ISO 8601 format where applicable.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/check-runs", "tags": ["checks"], "summary": "Create a check run", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nCreates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs.\n\nIn a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "actions": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short explanation of what this action would do. The maximum size is 40 characters." }, "identifier": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." }, "label": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." } }, "description": "Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs-and-requested-actions).\"" }, "completed_at": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "conclusion": { "val_type": "string", "inner_val_type": null, "enum": [ "action_required", "cancelled", "failure", "neutral", "success", "skipped", "stale", "timed_out" ], "properties": null, "inner_properties": null, "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this." }, "details_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used." }, "external_id": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A reference for the run on the integrator's system." }, "head_sha": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the check. For example, \"code-coverage\"." }, "output": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "annotations": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "annotation_level": { "val_type": "string", "inner_val_type": null, "enum": ["notice", "warning", "failure"], "properties": null, "inner_properties": null, "description": "The level of the annotation." }, "end_column": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." }, "end_line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The end line of the annotation." }, "message": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." }, "raw_details": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Details about this annotation. The maximum size is 64 KB." }, "start_column": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1." }, "start_line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The start line of the annotation. Line numbers start at 1." }, "title": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title that represents the annotation. The maximum size is 255 characters." } }, "description": "Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see \"[About status checks](https://docs.github.com/enterprise-server@3.8/articles/about-status-checks#checks)\"." }, "images": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "alt": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The alternative text for the image." }, "caption": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short image description." }, "image_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full URL of the image." } }, "description": "Adds images to the output displayed in the GitHub pull request UI." }, "summary": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters." }, "text": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters." }, "title": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the check run." } }, "inner_properties": null, "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run." }, "started_at": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "status": { "val_type": "string", "inner_val_type": null, "enum": ["queued", "in_progress", "completed"], "properties": null, "inner_properties": null, "description": "The current status." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "actions": { "type": "array", "description": "Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs-and-requested-actions).\"", "items": { "type": "object", "properties": { "description": { "type": "string", "description": "A short explanation of what this action would do. The maximum size is 40 characters." }, "identifier": { "type": "string", "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." }, "label": { "type": "string", "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." } }, "required": ["label", "description", "identifier"] } }, "completed_at": { "type": "string", "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "conclusion": { "type": "string", "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this.", "enum": [ "action_required", "cancelled", "failure", "neutral", "success", "skipped", "stale", "timed_out" ] }, "details_url": { "type": "string", "description": "The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used." }, "external_id": { "type": "string", "description": "A reference for the run on the integrator's system." }, "head_sha": { "type": "string", "description": "The SHA of the commit." }, "name": { "type": "string", "description": "The name of the check. For example, \"code-coverage\"." }, "output": { "type": "object", "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run.", "properties": { "annotations": { "type": "array", "description": "Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see \"[About status checks](https://docs.github.com/enterprise-server@3.8/articles/about-status-checks#checks)\".", "items": { "type": "object", "properties": { "annotation_level": { "type": "string", "description": "The level of the annotation.", "enum": ["notice", "warning", "failure"] }, "end_column": { "type": "integer", "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." }, "end_line": { "type": "integer", "description": "The end line of the annotation." }, "message": { "type": "string", "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." }, "path": { "type": "string", "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." }, "raw_details": { "type": "string", "description": "Details about this annotation. The maximum size is 64 KB." }, "start_column": { "type": "integer", "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1." }, "start_line": { "type": "integer", "description": "The start line of the annotation. Line numbers start at 1." }, "title": { "type": "string", "description": "The title that represents the annotation. The maximum size is 255 characters." } }, "required": [ "path", "start_line", "end_line", "annotation_level", "message" ] } }, "images": { "type": "array", "description": "Adds images to the output displayed in the GitHub pull request UI.", "items": { "type": "object", "properties": { "alt": { "type": "string", "description": "The alternative text for the image." }, "caption": { "type": "string", "description": "A short image description." }, "image_url": { "type": "string", "description": "The full URL of the image." } }, "required": ["alt", "image_url"] } }, "summary": { "type": "string", "description": "The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters." }, "text": { "type": "string", "description": "The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters." }, "title": { "type": "string", "description": "The title of the check run." } }, "required": ["title", "summary"] }, "started_at": { "type": "string", "description": "The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "status": { "type": "string", "description": "The current status.", "enum": ["queued", "in_progress", "completed"] } }, "required": ["name", "head_sha"], "oneOf": [ { "type": "object", "properties": { "status": { "type": "object", "properties": {} } }, "required": ["status", "conclusion"], "additionalProperties": true }, { "type": "object", "properties": { "status": { "type": "object", "properties": {} } }, "additionalProperties": true } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"example-of-completed-conclusion\": {\n \"summary\": \"Example of a completed conclusion\",\n \"value\": {\n \"actions\": [\n {\n \"description\": \"Allow us to fix these errors for you\",\n \"identifier\": \"fix_errors\",\n \"label\": \"Fix\"\n }\n ],\n \"completed_at\": \"2017-11-30T19:49:10+00:00\",\n \"conclusion\": \"success\",\n \"head_sha\": \"ce587453ced02b1526dfb4cb910479d431683101\",\n \"name\": \"mighty_readme\",\n \"output\": {\n \"annotations\": [\n {\n \"annotation_level\": \"warning\",\n \"end_line\": 2,\n \"message\": \"Check your spelling for 'banaas'.\",\n \"path\": \"README.md\",\n \"raw_details\": \"Do you mean 'bananas' or 'banana'?\",\n \"start_line\": 2,\n \"title\": \"Spell Checker\"\n },\n {\n \"annotation_level\": \"warning\",\n \"end_line\": 4,\n \"message\": \"Check your spelling for 'aples'\",\n \"path\": \"README.md\",\n \"raw_details\": \"Do you mean 'apples' or 'Naples'\",\n \"start_line\": 4,\n \"title\": \"Spell Checker\"\n }\n ],\n \"images\": [\n {\n \"alt\": \"Super bananas\",\n \"image_url\": \"http://example.com/images/42\"\n }\n ],\n \"summary\": \"There are 0 failures, 2 warnings, and 1 notices.\",\n \"text\": \"You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.\",\n \"title\": \"Mighty Readme report\"\n },\n \"started_at\": \"2017-11-30T19:39:10+00:00\",\n \"status\": \"completed\"\n }\n },\n \"example-of-in-progress-conclusion\": {\n \"summary\": \"Example of an in_progress conclusion\",\n \"value\": {\n \"external_id\": \"42\",\n \"head_sha\": \"ce587453ced02b1526dfb4cb910479d431683101\",\n \"name\": \"mighty_readme\",\n \"output\": {\n \"summary\": \"\",\n \"text\": \"\",\n \"title\": \"Mighty Readme report\"\n },\n \"started_at\": \"2018-05-04T01:14:52+00:00\",\n \"status\": \"in_progress\"\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"additionalProperties\": true,\n \"properties\": {\n \"status\": {\n \"enum\": [\n \"completed\"\n ]\n }\n },\n \"required\": [\n \"status\",\n \"conclusion\"\n ]\n },\n {\n \"additionalProperties\": true,\n \"properties\": {\n \"status\": {\n \"enum\": [\n \"queued\",\n \"in_progress\"\n ]\n }\n }\n }\n ],\n \"properties\": {\n \"actions\": {\n \"description\": \"Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see \\\"[Check runs and requested actions](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs-and-requested-actions).\\\"\",\n \"items\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A short explanation of what this action would do. The maximum size is 40 characters.\",\n \"maxLength\": 40,\n \"type\": \"string\"\n },\n \"identifier\": {\n \"description\": \"A reference for the action on the integrator's system. The maximum size is 20 characters.\",\n \"maxLength\": 20,\n \"type\": \"string\"\n },\n \"label\": {\n \"description\": \"The text to be displayed on a button in the web UI. The maximum size is 20 characters.\",\n \"maxLength\": 20,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"label\",\n \"description\",\n \"identifier\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 3,\n \"type\": \"array\"\n },\n \"completed_at\": {\n \"description\": \"The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"conclusion\": {\n \"description\": \"**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \\n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this.\",\n \"enum\": [\n \"action_required\",\n \"cancelled\",\n \"failure\",\n \"neutral\",\n \"success\",\n \"skipped\",\n \"stale\",\n \"timed_out\"\n ],\n \"type\": \"string\"\n },\n \"details_url\": {\n \"description\": \"The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used.\",\n \"type\": \"string\"\n },\n \"external_id\": {\n \"description\": \"A reference for the run on the integrator's system.\",\n \"type\": \"string\"\n },\n \"head_sha\": {\n \"description\": \"The SHA of the commit.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the check. For example, \\\"code-coverage\\\".\",\n \"type\": \"string\"\n },\n \"output\": {\n \"description\": \"Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run.\",\n \"properties\": {\n \"annotations\": {\n \"description\": \"Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see \\\"[About status checks](https://docs.github.com/enterprise-server@3.8/articles/about-status-checks#checks)\\\".\",\n \"items\": {\n \"properties\": {\n \"annotation_level\": {\n \"description\": \"The level of the annotation.\",\n \"enum\": [\n \"notice\",\n \"warning\",\n \"failure\"\n ],\n \"type\": \"string\"\n },\n \"end_column\": {\n \"description\": \"The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values.\",\n \"type\": \"integer\"\n },\n \"end_line\": {\n \"description\": \"The end line of the annotation.\",\n \"type\": \"integer\"\n },\n \"message\": {\n \"description\": \"A short description of the feedback for these lines of code. The maximum size is 64 KB.\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The path of the file to add an annotation to. For example, `assets/css/main.css`.\",\n \"type\": \"string\"\n },\n \"raw_details\": {\n \"description\": \"Details about this annotation. The maximum size is 64 KB.\",\n \"type\": \"string\"\n },\n \"start_column\": {\n \"description\": \"The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1.\",\n \"type\": \"integer\"\n },\n \"start_line\": {\n \"description\": \"The start line of the annotation. Line numbers start at 1.\",\n \"type\": \"integer\"\n },\n \"title\": {\n \"description\": \"The title that represents the annotation. The maximum size is 255 characters.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"path\",\n \"start_line\",\n \"end_line\",\n \"annotation_level\",\n \"message\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 50,\n \"type\": \"array\"\n },\n \"images\": {\n \"description\": \"Adds images to the output displayed in the GitHub pull request UI.\",\n \"items\": {\n \"properties\": {\n \"alt\": {\n \"description\": \"The alternative text for the image.\",\n \"type\": \"string\"\n },\n \"caption\": {\n \"description\": \"A short image description.\",\n \"type\": \"string\"\n },\n \"image_url\": {\n \"description\": \"The full URL of the image.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"alt\",\n \"image_url\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"summary\": {\n \"description\": \"The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters.\",\n \"maxLength\": 65535,\n \"type\": \"string\"\n },\n \"text\": {\n \"description\": \"The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters.\",\n \"maxLength\": 65535,\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"The title of the check run.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"title\",\n \"summary\"\n ],\n \"type\": \"object\"\n },\n \"started_at\": {\n \"description\": \"The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"status\": {\n \"default\": \"queued\",\n \"description\": \"The current status.\",\n \"enum\": [\n \"queued\",\n \"in_progress\",\n \"completed\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"head_sha\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "checks/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_check_run", "description": { "tagline": "Retrieve a specific GitHub check run by its ID.", "detailed": "Use this tool to get details of a single check run from a GitHub repository using its ID. This is applicable for both private and public repositories, with necessary permissions." }, "return_annotation": "Details of a specific GitHub check run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "check_run_identifier", "alternative_names": ["check_run_id_number", "run_id_identifier"], "description": "The unique identifier of the GitHub check run to retrieve.", "endpoint_argument_name": "check_run_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/check-runs/{check_run_id}", "tags": ["checks"], "summary": "Get a check run", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nGets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check run." }, "description": "The unique identifier of the check run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_check_run_status", "description": { "tagline": "Update a check run for a specific commit in a repository.", "detailed": "This tool updates a check run for a specific commit within a repository. It is useful when you need to modify the status or details of check runs created by a GitHub App. Ensure the app has the 'checks:write' permission to perform this action." }, "return_annotation": "Details of the updated check run for the specified commit.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to update the check run. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "check_run_identifier", "alternative_names": ["check_run_id_number", "unique_check_run_id"], "description": "The unique identifier of the check run to update. This should be an integer value.", "endpoint_argument_name": "check_run_id" }, { "name": "check_run_request_body", "alternative_names": ["check_run_payload", "check_run_data"], "description": "The JSON body to update the check run. It includes actions, completion details, status, conclusions, and more. Use ISO 8601 format for timestamps and adhere to size limits for strings.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/check-runs/{check_run_id}", "tags": ["checks"], "summary": "Update a check run", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nUpdates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check run." }, "description": "The unique identifier of the check run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "actions": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short explanation of what this action would do. The maximum size is 40 characters." }, "identifier": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." }, "label": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." } }, "description": "Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs-and-requested-actions).\"" }, "completed_at": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "conclusion": { "val_type": "string", "inner_val_type": null, "enum": [ "action_required", "cancelled", "failure", "neutral", "success", "skipped", "stale", "timed_out" ], "properties": null, "inner_properties": null, "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this." }, "details_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL of the integrator's site that has the full details of the check." }, "external_id": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A reference for the run on the integrator's system." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the check. For example, \"code-coverage\"." }, "output": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "annotations": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "annotation_level": { "val_type": "string", "inner_val_type": null, "enum": ["notice", "warning", "failure"], "properties": null, "inner_properties": null, "description": "The level of the annotation." }, "end_column": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." }, "end_line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The end line of the annotation." }, "message": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." }, "raw_details": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Details about this annotation. The maximum size is 64 KB." }, "start_column": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1." }, "start_line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The start line of the annotation. Line numbers start at 1." }, "title": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title that represents the annotation. The maximum size is 255 characters." } }, "description": "Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see \"[About status checks](https://docs.github.com/enterprise-server@3.8/articles/about-status-checks#checks)\"." }, "images": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "alt": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The alternative text for the image." }, "caption": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short image description." }, "image_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full URL of the image." } }, "description": "Adds images to the output displayed in the GitHub pull request UI." }, "summary": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Can contain Markdown." }, "text": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Can contain Markdown." }, "title": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Required**." } }, "inner_properties": null, "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run." }, "started_at": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "status": { "val_type": "string", "inner_val_type": null, "enum": ["queued", "in_progress", "completed"], "properties": null, "inner_properties": null, "description": "The current status." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "actions": { "type": "array", "description": "Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs-and-requested-actions).\"", "items": { "type": "object", "properties": { "description": { "type": "string", "description": "A short explanation of what this action would do. The maximum size is 40 characters." }, "identifier": { "type": "string", "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." }, "label": { "type": "string", "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." } }, "required": ["label", "description", "identifier"] } }, "completed_at": { "type": "string", "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "conclusion": { "type": "string", "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this.", "enum": [ "action_required", "cancelled", "failure", "neutral", "success", "skipped", "stale", "timed_out" ] }, "details_url": { "type": "string", "description": "The URL of the integrator's site that has the full details of the check." }, "external_id": { "type": "string", "description": "A reference for the run on the integrator's system." }, "name": { "type": "string", "description": "The name of the check. For example, \"code-coverage\"." }, "output": { "type": "object", "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run.", "properties": { "annotations": { "type": "array", "description": "Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see \"[About status checks](https://docs.github.com/enterprise-server@3.8/articles/about-status-checks#checks)\".", "items": { "type": "object", "properties": { "annotation_level": { "type": "string", "description": "The level of the annotation.", "enum": ["notice", "warning", "failure"] }, "end_column": { "type": "integer", "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." }, "end_line": { "type": "integer", "description": "The end line of the annotation." }, "message": { "type": "string", "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." }, "path": { "type": "string", "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." }, "raw_details": { "type": "string", "description": "Details about this annotation. The maximum size is 64 KB." }, "start_column": { "type": "integer", "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1." }, "start_line": { "type": "integer", "description": "The start line of the annotation. Line numbers start at 1." }, "title": { "type": "string", "description": "The title that represents the annotation. The maximum size is 255 characters." } }, "required": [ "path", "start_line", "end_line", "annotation_level", "message" ] } }, "images": { "type": "array", "description": "Adds images to the output displayed in the GitHub pull request UI.", "items": { "type": "object", "properties": { "alt": { "type": "string", "description": "The alternative text for the image." }, "caption": { "type": "string", "description": "A short image description." }, "image_url": { "type": "string", "description": "The full URL of the image." } }, "required": ["alt", "image_url"] } }, "summary": { "type": "string", "description": "Can contain Markdown." }, "text": { "type": "string", "description": "Can contain Markdown." }, "title": { "type": "string", "description": "**Required**." } }, "required": ["summary"] }, "started_at": { "type": "string", "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "status": { "type": "string", "description": "The current status.", "enum": ["queued", "in_progress", "completed"] } }, "anyOf": [ { "type": "object", "properties": { "status": { "type": "object", "properties": {} } }, "required": ["conclusion"], "additionalProperties": true }, { "type": "object", "properties": { "status": { "type": "object", "properties": {} } }, "additionalProperties": true } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"completed_at\": \"2018-05-04T01:14:52+00:00\",\n \"conclusion\": \"success\",\n \"name\": \"mighty_readme\",\n \"output\": {\n \"annotations\": [\n {\n \"annotation_level\": \"warning\",\n \"end_line\": 2,\n \"message\": \"Check your spelling for 'banaas'.\",\n \"path\": \"README.md\",\n \"raw_details\": \"Do you mean 'bananas' or 'banana'?\",\n \"start_line\": 2,\n \"title\": \"Spell Checker\"\n },\n {\n \"annotation_level\": \"warning\",\n \"end_line\": 4,\n \"message\": \"Check your spelling for 'aples'\",\n \"path\": \"README.md\",\n \"raw_details\": \"Do you mean 'apples' or 'Naples'\",\n \"start_line\": 4,\n \"title\": \"Spell Checker\"\n }\n ],\n \"images\": [\n {\n \"alt\": \"Super bananas\",\n \"image_url\": \"http://example.com/images/42\"\n }\n ],\n \"summary\": \"There are 0 failures, 2 warnings, and 1 notices.\",\n \"text\": \"You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.\",\n \"title\": \"Mighty Readme report\"\n },\n \"started_at\": \"2018-05-04T01:14:52+00:00\",\n \"status\": \"completed\"\n }\n }\n },\n \"schema\": {\n \"anyOf\": [\n {\n \"additionalProperties\": true,\n \"properties\": {\n \"status\": {\n \"enum\": [\n \"completed\"\n ]\n }\n },\n \"required\": [\n \"conclusion\"\n ]\n },\n {\n \"additionalProperties\": true,\n \"properties\": {\n \"status\": {\n \"enum\": [\n \"queued\",\n \"in_progress\"\n ]\n }\n }\n }\n ],\n \"properties\": {\n \"actions\": {\n \"description\": \"Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \\\"[Check runs and requested actions](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs-and-requested-actions).\\\"\",\n \"items\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A short explanation of what this action would do. The maximum size is 40 characters.\",\n \"maxLength\": 40,\n \"type\": \"string\"\n },\n \"identifier\": {\n \"description\": \"A reference for the action on the integrator's system. The maximum size is 20 characters.\",\n \"maxLength\": 20,\n \"type\": \"string\"\n },\n \"label\": {\n \"description\": \"The text to be displayed on a button in the web UI. The maximum size is 20 characters.\",\n \"maxLength\": 20,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"label\",\n \"description\",\n \"identifier\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 3,\n \"type\": \"array\"\n },\n \"completed_at\": {\n \"description\": \"The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"conclusion\": {\n \"description\": \"**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \\n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this.\",\n \"enum\": [\n \"action_required\",\n \"cancelled\",\n \"failure\",\n \"neutral\",\n \"success\",\n \"skipped\",\n \"stale\",\n \"timed_out\"\n ],\n \"type\": \"string\"\n },\n \"details_url\": {\n \"description\": \"The URL of the integrator's site that has the full details of the check.\",\n \"type\": \"string\"\n },\n \"external_id\": {\n \"description\": \"A reference for the run on the integrator's system.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the check. For example, \\\"code-coverage\\\".\",\n \"type\": \"string\"\n },\n \"output\": {\n \"description\": \"Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run.\",\n \"properties\": {\n \"annotations\": {\n \"description\": \"Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see \\\"[About status checks](https://docs.github.com/enterprise-server@3.8/articles/about-status-checks#checks)\\\".\",\n \"items\": {\n \"properties\": {\n \"annotation_level\": {\n \"description\": \"The level of the annotation.\",\n \"enum\": [\n \"notice\",\n \"warning\",\n \"failure\"\n ],\n \"type\": \"string\"\n },\n \"end_column\": {\n \"description\": \"The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values.\",\n \"type\": \"integer\"\n },\n \"end_line\": {\n \"description\": \"The end line of the annotation.\",\n \"type\": \"integer\"\n },\n \"message\": {\n \"description\": \"A short description of the feedback for these lines of code. The maximum size is 64 KB.\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The path of the file to add an annotation to. For example, `assets/css/main.css`.\",\n \"type\": \"string\"\n },\n \"raw_details\": {\n \"description\": \"Details about this annotation. The maximum size is 64 KB.\",\n \"type\": \"string\"\n },\n \"start_column\": {\n \"description\": \"The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1.\",\n \"type\": \"integer\"\n },\n \"start_line\": {\n \"description\": \"The start line of the annotation. Line numbers start at 1.\",\n \"type\": \"integer\"\n },\n \"title\": {\n \"description\": \"The title that represents the annotation. The maximum size is 255 characters.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"path\",\n \"start_line\",\n \"end_line\",\n \"annotation_level\",\n \"message\"\n ],\n \"type\": \"object\"\n },\n \"maxItems\": 50,\n \"type\": \"array\"\n },\n \"images\": {\n \"description\": \"Adds images to the output displayed in the GitHub pull request UI.\",\n \"items\": {\n \"properties\": {\n \"alt\": {\n \"description\": \"The alternative text for the image.\",\n \"type\": \"string\"\n },\n \"caption\": {\n \"description\": \"A short image description.\",\n \"type\": \"string\"\n },\n \"image_url\": {\n \"description\": \"The full URL of the image.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"alt\",\n \"image_url\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"summary\": {\n \"description\": \"Can contain Markdown.\",\n \"maxLength\": 65535,\n \"type\": \"string\"\n },\n \"text\": {\n \"description\": \"Can contain Markdown.\",\n \"maxLength\": 65535,\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"**Required**.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"summary\"\n ],\n \"type\": \"object\"\n },\n \"started_at\": {\n \"description\": \"This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"status\": {\n \"description\": \"The current status.\",\n \"enum\": [\n \"queued\",\n \"in_progress\",\n \"completed\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "checks/list-annotations", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_check_run_annotations", "description": { "tagline": "Retrieve annotations for a GitHub check run.", "detailed": "Use this tool to fetch a list of annotations associated with a specific check run in a GitHub repository. Requires appropriate permissions on private repositories." }, "return_annotation": "Annotations for a specific check run.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "check_run_identifier", "alternative_names": ["check_id", "run_id"], "description": "The ID of the check run to retrieve annotations for.", "endpoint_argument_name": "check_run_id" }, { "name": "results_per_page", "alternative_names": ["page_size", "results_limit_per_page"], "description": "The number of results per page to return, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["annotations_page_number", "page_of_results"], "description": "Specify the page number to fetch annotations from. Used for paginating results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "tags": ["checks"], "summary": "List check run annotations", "description": "Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check run." }, "description": "The unique identifier of the check run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/rerequest-run", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "trigger_github_check_rerequest", "description": { "tagline": "Triggers a rerequest for an existing GitHub check run.", "detailed": "This tool triggers GitHub to rerequest an existing check run without needing to push new code. Ideal for resetting the status of check runs to 'queued' and clearing the conclusion. It requires the `checks:read` permission for private repositories or pull access for public ones." }, "return_annotation": "Confirmation of the request to rerequest a GitHub check run.", "arguments": [ { "name": "repository_owner_account", "alternative_names": ["repo_owner_account", "owner_account"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "check_run_identifier", "alternative_names": ["check_run_id_number", "check_run_unique_id"], "description": "The unique identifier for the GitHub check run to be rerequested.", "endpoint_argument_name": "check_run_id" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "tags": ["checks"], "summary": "Rerequest a check run", "description": "Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.\n\nTo rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_run_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check run." }, "description": "The unique identifier of the check run.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/create-suite", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_check_suite", "description": { "tagline": "Manually create a check suite on GitHub.", "detailed": "Use this tool to manually create a check suite in a GitHub repository when automatic creation is disabled. Ensure your GitHub App has the `checks:write` permission before using this endpoint." }, "return_annotation": "Confirmation of the created check suite.", "arguments": [ { "name": "repository_owner_account", "alternative_names": ["repository_owner_name", "repository_account_owner"], "description": "Specify the account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository where the check suite will be created. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "head_commit_sha", "alternative_names": ["commit_sha", "sha_of_head_commit"], "description": "The SHA of the head commit for the check suite. Ensure it's a valid commit SHA.", "endpoint_argument_name": "head_sha" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/check-suites", "tags": ["checks"], "summary": "Create a check suite", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nBy default, check suites are automatically created when you create a [check run](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using \"[Update repository preferences for check suites](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#update-repository-preferences-for-check-suites)\". Your GitHub App must have the `checks:write` permission to create check suites.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "head_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The sha of the head commit." }, "description": "The sha of the head commit.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The sha of the head commit." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"head_sha\": \"d6fde92930d4715a2b49857d24b940956b26d2d3\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"head_sha\": {\n \"description\": \"The sha of the head commit.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"head_sha\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "checks/set-suites-preferences", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_check_suite_preferences", "description": { "tagline": "Set preferences for check suite creation in a repository.", "detailed": "Changes the default automatic flow for creating check suites in a GitHub repository. Use this tool to enable or disable the automatic creation of check suites when code is pushed. Requires admin permissions in the repository." }, "return_annotation": "Confirmation of updated check suite preferences.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "auto_trigger_checks", "alternative_names": ["enable_auto_checks", "auto_check_suite_setup"], "description": "A JSON array to enable or disable automatic creation of CheckSuites. Each element contains an 'app_id' for the GitHub App and a 'setting' to specify whether to enable (true) or disable (false) automatic creation.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/check-suites/preferences", "tags": ["checks"], "summary": "Update repository preferences for check suites", "description": "Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/enterprise-server@3.8/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "auto_trigger_checks": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "app_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The `id` of the GitHub App." }, "setting": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them." } }, "description": "Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "auto_trigger_checks": { "type": "array", "description": "Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default.", "items": { "type": "object", "properties": { "app_id": { "type": "integer", "description": "The `id` of the GitHub App." }, "setting": { "type": "boolean", "description": "Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them." } }, "required": ["app_id", "setting"] } } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"auto_trigger_checks\": [\n {\n \"app_id\": 4,\n \"setting\": false\n }\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"auto_trigger_checks\": {\n \"description\": \"Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default.\",\n \"items\": {\n \"properties\": {\n \"app_id\": {\n \"description\": \"The `id` of the GitHub App.\",\n \"type\": \"integer\"\n },\n \"setting\": {\n \"default\": true,\n \"description\": \"Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them.\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"app_id\",\n \"setting\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "checks/get-suite", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_check_suite", "description": { "tagline": "Retrieve a GitHub check suite by ID.", "detailed": "Use this tool to get information about a specific check suite in a GitHub repository using its ID. Suitable for users with appropriate permissions on private or public repositories." }, "return_annotation": "Details of a specific GitHub check suite.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "check_suite_id", "alternative_names": ["check_suite_identifier", "suite_id"], "description": "The unique identifier for the GitHub check suite to retrieve.", "endpoint_argument_name": "check_suite_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/check-suites/{check_suite_id}", "tags": ["checks"], "summary": "Get a check suite", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nGets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_suite_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check suite." }, "description": "The unique identifier of the check suite.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/list-for-suite", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_check_runs_for_suite", "description": { "tagline": "List check runs for a GitHub check suite using its ID.", "detailed": "This tool retrieves a list of check runs for a specified check suite in a GitHub repository. It requires appropriate permissions or scopes depending on the repository type." }, "return_annotation": "A list of check runs for a given check suite.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner's username of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository to query. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "check_suite_identifier", "alternative_names": ["suite_id", "check_suite_id_input"], "description": "The unique identifier of the check suite to list its check runs.", "endpoint_argument_name": "check_suite_id" }, { "name": "check_run_name", "alternative_names": ["check_run_identifier", "specific_check_name"], "description": "Returns check runs with the specified name.", "endpoint_argument_name": "check_name" }, { "name": "check_run_status", "alternative_names": ["run_status", "status_filter"], "description": "Specify the status of the check runs to be returned. Options: 'queued', 'in_progress', 'completed'.", "endpoint_argument_name": "status" }, { "name": "filter_by_completion_time", "alternative_names": ["completion_time_filter", "check_run_time_filter"], "description": "Filters check runs by their `completed_at` timestamp. Use 'latest' for the most recent runs or 'all' for all runs.", "endpoint_argument_name": "filter" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_limit"], "description": "Sets the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Specifies which page of the results to fetch, for paginated data.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "tags": ["checks"], "summary": "List check runs in a check suite", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nLists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "check_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns check runs with the specified `name`." }, "description": "Returns check runs with the specified `name`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "status", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["queued", "in_progress", "completed"], "properties": null, "inner_properties": null, "description": "Returns check runs with the specified `status`." }, "description": "Returns check runs with the specified `status`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["queued", "in_progress", "completed"] }, "schema_required": false }, { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["latest", "all"], "properties": null, "inner_properties": null, "description": "Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs." }, "description": "Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs.", "required": false, "deprecated": false, "default": "latest", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["latest", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_suite_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check suite." }, "description": "The unique identifier of the check suite.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/rerequest-suite", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "rerequest_github_check_suite", "description": { "tagline": "Rerequest a check suite on GitHub without code changes.", "detailed": "Use this tool to trigger GitHub to rerequest an existing check suite, resetting its status to 'queued' and clearing its conclusion. This is useful for re-running checks without pushing new code. Ensure your GitHub App has the necessary permissions to perform this action." }, "return_annotation": "Confirmation of check suite rerequest initiation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository (case insensitive).", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive. Specify the repository whose check suite you want to rerequest.", "endpoint_argument_name": "repo" }, { "name": "check_suite_identifier", "alternative_names": ["check_suite_id_number", "suite_id"], "description": "The unique identifier of the GitHub check suite to be rerequested.", "endpoint_argument_name": "check_suite_id" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "tags": ["checks"], "summary": "Rerequest a check suite", "description": "Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.\n\nTo rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "check_suite_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the check suite." }, "description": "The unique identifier of the check suite.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/list-alerts-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_code_scanning_alerts", "description": { "tagline": "Retrieve code scanning alerts for a repository.", "detailed": "Retrieve a list of code scanning alerts for a specific GitHub repository, using an access token with the necessary permissions. Useful for monitoring code security issues in a repository." }, "return_annotation": "Details of code scanning alerts for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository for which to list code scanning alerts. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "code_scanning_tool_name", "alternative_names": ["scan_tool_name", "scanning_tool_id"], "description": "Specify the name of the code scanning tool to filter alerts by this tool only. Use either `tool_name` or `tool_guid`, but not both.", "endpoint_argument_name": "tool_name" }, { "name": "code_scanning_tool_guid", "alternative_names": ["scanning_tool_identifier", "alert_tool_guid"], "description": "The GUID of a code scanning tool to filter alerts by this tool only. This can't be used with 'tool_name'.", "endpoint_argument_name": "tool_guid" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Page number to fetch results from. Use this to navigate through paginated results.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of results per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "git_reference_for_scan_results", "alternative_names": ["branch_or_pull_request_ref", "repository_ref_identifier"], "description": "The Git reference for listing results. Use `refs/heads/` or `` for branches, `refs/pull//merge` for pull requests.", "endpoint_argument_name": "ref" }, { "name": "sort_direction", "alternative_names": ["order_direction", "result_order"], "description": "The direction to sort the results. Choose 'asc' for ascending or 'desc' for descending order.", "endpoint_argument_name": "direction" }, { "name": "sort_by_property", "alternative_names": ["results_sort_property", "alerts_sort_property"], "description": "Property to sort the results by, either 'created' or 'updated'.", "endpoint_argument_name": "sort" }, { "name": "alert_state_filter", "alternative_names": ["alert_status", "alert_condition"], "description": "Filter code scanning alerts by state. Valid options are 'open', 'closed', 'dismissed', and 'fixed'.", "endpoint_argument_name": "state" }, { "name": "filter_by_severity", "alternative_names": ["severity_level", "alert_severity"], "description": "Specify the severity of code scanning alerts to filter, using values like 'critical', 'high', 'medium', 'low', 'warning', 'note', or 'error'.", "endpoint_argument_name": "severity" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/code-scanning/alerts", "tags": ["code-scanning"], "summary": "List code scanning alerts for a repository", "description": "Lists code scanning alerts.\n\nTo use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope.\n\nGitHub Apps must have the `security_events` read\npermission to use this endpoint.\n\nThe response includes a `most_recent_instance` object.\nThis provides details of the most recent instance of this alert\nfor the default branch (or for the specified Git reference if you used `ref` in the request).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "tool_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both." }, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The name of the tool used to generate the code scanning analysis." }, "schema_required": false }, { "name": "tool_guid", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both." }, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`." }, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results." }, "description": "The property by which to sort the results.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "dismissed", "fixed"], "properties": null, "inner_properties": null, "description": "If specified, only code scanning alerts with this state will be returned." }, "description": "If specified, only code scanning alerts with this state will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "State of a code scanning alert.", "enum": ["open", "closed", "dismissed", "fixed"] }, "schema_required": false }, { "name": "severity", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["critical", "high", "medium", "low", "warning", "note", "error"], "properties": null, "inner_properties": null, "description": "If specified, only code scanning alerts with this severity will be returned." }, "description": "If specified, only code scanning alerts with this severity will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "Severity of a code scanning alert.", "enum": ["critical", "high", "medium", "low", "warning", "note", "error"] }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/get-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_code_scanning_alert", "description": { "tagline": "Retrieve a single code scanning alert from a GitHub repo.", "detailed": "Use this tool to get detailed information about a specific code scanning alert in a GitHub repository. An access token with appropriate scopes is required for private repositories, and GitHub Apps need read permission for security events." }, "return_annotation": "Details of a specific code scanning alert from GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This parameter is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_number", "alternative_names": ["alert_id", "alert_identifier"], "description": "The unique number identifying a specific code scanning alert on GitHub. Found at the end of the URL for an alert or in the `number` field from the `GET /repos/{owner}/{repo}/code-scanning/alerts` response.", "endpoint_argument_name": "alert_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "tags": ["code-scanning"], "summary": "Get a code scanning alert", "description": "Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation." }, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/update-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_code_scanning_alert", "description": { "tagline": "Update the status of a GitHub code scanning alert.", "detailed": "This tool updates the status of a code scanning alert on a GitHub repository. It's useful when you need to manage alert statuses for security reasons. Requires appropriate access token scopes." }, "return_annotation": "Confirmation of the updated status of the code scanning alert.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_identifier_number", "alternative_names": ["alert_num_identifier", "scan_alert_number"], "description": "The unique number identifying a GitHub code scanning alert, found at the end of the alert URL or in the response of the alerts list.", "endpoint_argument_name": "alert_number" }, { "name": "alert_state", "alternative_names": ["code_alert_status", "scanning_alert_state"], "description": "Specifies the new state of the code scanning alert. Use 'open' or 'dismissed'. Provide `dismissed_reason` if 'dismissed'.", "endpoint_argument_name": "state" }, { "name": "dismissal_comment", "alternative_names": ["dismissed_comment_text", "alert_dismiss_comment"], "description": "The comment explaining the reason for dismissing the code scanning alert.", "endpoint_argument_name": "dismissed_comment" }, { "name": "dismissed_reason_for_alert", "alternative_names": ["alert_dismissal_reason", "reason_for_alert_dismissal"], "description": "Required if the alert state is dismissed. Specify the reason using one of: 'None', 'false positive', 'won't fix', 'used in tests'.", "endpoint_argument_name": "dismissed_reason" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "tags": ["code-scanning"], "summary": "Update a code scanning alert", "description": "Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation." }, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "dismissed_comment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The dismissal comment associated with the dismissal of the alert." }, "description": "The dismissal comment associated with the dismissal of the alert.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The dismissal comment associated with the dismissal of the alert." }, "schema_required": false }, { "name": "dismissed_reason", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["None", "false positive", "won't fix", "used in tests"], "properties": null, "inner_properties": null, "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert." }, "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert.", "enum": [null, "false positive", "won't fix", "used in tests"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "dismissed"], "properties": null, "inner_properties": null, "description": "Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`." }, "description": "Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`.", "enum": ["open", "dismissed"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"dismissed_comment\": \"This alert is not actually correct, because there's a sanitizer included in the library.\",\n \"dismissed_reason\": \"false positive\",\n \"state\": \"dismissed\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"dismissed_comment\": {\n \"description\": \"The dismissal comment associated with the dismissal of the alert.\",\n \"maxLength\": 280,\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"dismissed_reason\": {\n \"description\": \"**Required when the state is dismissed.** The reason for dismissing or closing the alert.\",\n \"enum\": [\n null,\n \"false positive\",\n \"won't fix\",\n \"used in tests\"\n ],\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"state\": {\n \"description\": \"Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`.\",\n \"enum\": [\n \"open\",\n \"dismissed\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"state\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "code-scanning/list-alert-instances", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_code_scanning_alert_instances", "description": { "tagline": "Retrieve instances of a specific code scanning alert.", "detailed": "Use this tool to list all instances of a given code scanning alert in a GitHub repository. This is useful for monitoring or analyzing alert occurrences. Requires appropriate access tokens with `security_events` or `public_repo` scope." }, "return_annotation": "A list of instances for a specific code scanning alert.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_identifier", "alternative_names": ["alert_id", "scan_alert_number"], "description": "The unique number identifying the code scanning alert. Find this number at the end of the alert URL in GitHub or in the `GET /repos/{owner}/{repo}/code-scanning/alerts` response.", "endpoint_argument_name": "alert_number" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Page number of the results to fetch. Use for navigating large sets of alert instances.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results to return per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "git_reference", "alternative_names": ["branch_or_pull_request_ref", "code_scan_ref"], "description": "The Git reference for the results you want to list. Format as `refs/heads/` or `` for branches, and `refs/pull//merge` for pull requests.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "tags": ["code-scanning"], "summary": "List instances of a code scanning alert", "description": "Lists all instances of the specified code scanning alert.\nYou must use an access token with the `security_events` scope to use this endpoint with private repos,\nthe `public_repo` scope also grants permission to read security events on public repos only.\nGitHub Apps must have the `security_events` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`." }, "description": "The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation." }, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/list-recent-analyses", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_recent_code_scanning_analyses", "description": { "tagline": "Retrieve recent code scanning analyses for a repository.", "detailed": "Use this tool to list the details of recent code scanning analyses for a GitHub repository. It retrieves a paginated list starting with the most recent analyses. Useful for understanding security events and code quality checks. Requires proper access tokens or GitHub App permissions for private repositories." }, "return_annotation": "Details of recent code scanning analyses for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive, and it should match the GitHub account owning the target repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "code_scanning_tool_name", "alternative_names": ["scan_tool_name", "analysis_tool_name"], "description": "Specify the name of a code scanning tool to list results by this tool only. Cannot be used with `tool_guid`.", "endpoint_argument_name": "tool_name" }, { "name": "code_scanning_tool_guid", "alternative_names": ["tool_scanning_guid", "analysis_tool_id"], "description": "The GUID of the code scanning tool to filter results. Specify either this or 'tool_name', not both.", "endpoint_argument_name": "tool_guid" }, { "name": "page_number", "alternative_names": ["results_page", "page_index"], "description": "The page number of the results to fetch. Used for paginating through the list of analyses.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "Number of results per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "git_reference_for_analyses", "alternative_names": ["reference_for_analysis_list", "git_ref"], "description": "The Git reference for analyses; format as `refs/heads/` for branches or `refs/pull//merge` for pull requests.", "endpoint_argument_name": "ref" }, { "name": "filter_by_sarif_id", "alternative_names": ["sarif_upload_id_filter", "sarif_id_filter"], "description": "Filter analyses that belong to a specific SARIF upload by providing the SARIF ID.", "endpoint_argument_name": "sarif_id" }, { "name": "sort_direction", "alternative_names": ["order_direction", "result_direction"], "description": "The order to sort results, either ascending ('asc') or descending ('desc').", "endpoint_argument_name": "direction" }, { "name": "sort_by_property", "alternative_names": ["order_by_property", "sort_results_by"], "description": "Specify the property for sorting the results. Available option: 'created'.", "endpoint_argument_name": "sort" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/code-scanning/analyses", "tags": ["code-scanning"], "summary": "List code scanning analyses for a repository", "description": "Lists the details of all code scanning analyses for a repository,\nstarting with the most recent.\nThe response is paginated and you can use the `page` and `per_page` parameters\nto list the analyses you're interested in.\nBy default 30 analyses are listed per page.\n\nThe `rules_count` field in the response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand `0` is returned in this field.\n\nYou must use an access token with the `security_events` scope to use this endpoint with private repos,\nthe `public_repo` scope also grants permission to read security events on public repos only.\nGitHub Apps must have the `security_events` read permission to use this endpoint.\n\n**Deprecation notice**:\nThe `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "tool_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both." }, "description": "The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The name of the tool used to generate the code scanning analysis." }, "schema_required": false }, { "name": "tool_guid", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both." }, "description": "The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data." }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`." }, "description": "The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "schema_required": false }, { "name": "sarif_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Filter analyses belonging to the same SARIF upload." }, "description": "Filter analyses belonging to the same SARIF upload.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "description": "An identifier for the upload.", "example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results." }, "description": "The property by which to sort the results.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created"] }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/delete-analysis", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_code_scanning_analysis", "description": { "tagline": "Delete a specific code scanning analysis from a GitHub repository.", "detailed": "Use this tool to delete a specific code scanning analysis from a repository on GitHub. Ensure you have the correct access token with the required scope. This tool should be called when you want to remove analyses, particularly in cases where the analysis is marked as deletable. It provides URLs for further deletions, allowing you to manage and maintain analyses effectively." }, "return_annotation": "Provides alternative URLs for deleting subsequent analyses.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "analysis_id", "alternative_names": ["analysis_identifier", "scan_id"], "description": "The ID of the analysis to delete, obtained from the `GET /repos/{owner}/{repo}/code-scanning/analyses` endpoint.", "endpoint_argument_name": "analysis_id" }, { "name": "allow_final_analysis_deletion", "alternative_names": ["confirm_final_deletion", "delete_last_analysis_allowed"], "description": "Set to 'true' to allow deletion if the analysis is the last in a set, preventing a 400 error.", "endpoint_argument_name": "confirm_delete" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "tags": ["code-scanning"], "summary": "Delete a code scanning analysis from a repository", "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `category`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "confirm_delete", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.`" }, "description": "Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "analysis_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation." }, "description": "The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/get-analysis", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_code_scanning_analysis", "description": { "tagline": "Retrieve detailed code scanning analysis for a GitHub repository.", "detailed": "Use this tool to access a specific code scanning analysis for a GitHub repository, including information such as the Git reference, commit SHA, analysis datetime, code scanning tool name, and the number of alerts. It requires appropriate permissions for both private and public repositories." }, "return_annotation": "Details of the specified code scanning analysis.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "Specify the account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "analysis_id", "alternative_names": ["scan_id", "analysis_identifier"], "description": "The ID number of the code scanning analysis to retrieve for the repository. This ID is obtained from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.", "endpoint_argument_name": "analysis_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "tags": ["code-scanning"], "summary": "Get a code scanning analysis for a repository", "description": "Gets a specified code scanning analysis for a repository.\nYou must use an access token with the `security_events` scope to use this endpoint with private repos,\nthe `public_repo` scope also grants permission to read security events on public repos only.\nGitHub Apps must have the `security_events` read permission to use this endpoint.\n\nThe default JSON response contains fields that describe the analysis.\nThis includes the Git reference and commit SHA to which the analysis relates,\nthe datetime of the analysis, the name of the code scanning tool,\nand the number of alerts.\n\nThe `rules_count` field in the default response give the number of rules\nthat were run in the analysis.\nFor very old analyses this data is not available,\nand `0` is returned in this field.\n\nIf you use the Accept header `application/sarif+json`,\nthe response contains the analysis data that was uploaded.\nThis is formatted as\n[SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "analysis_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation." }, "description": "The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "code-scanning/upload-sarif", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "upload_sarif_code_scanning_results", "description": { "tagline": "Upload SARIF data to GitHub for code scanning results.", "detailed": "This tool uploads SARIF data from a code scanning analysis to a GitHub repository. Use appropriate access tokens for private or public repositories. Uploaded results appear in pull requests or the repository's security tab, depending on the reference used. SARIF data must be compressed and encoded before uploading." }, "return_annotation": "An ID for tracking the status of the upload.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository on GitHub, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive and identifies where the SARIF data will be uploaded.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["commit_identifier", "commit_hash"], "description": "The SHA of the commit associated with the uploaded analysis. This links the SARIF data to a specific point in the repository's history.", "endpoint_argument_name": "commit_sha" }, { "name": "git_reference", "alternative_names": ["branch_or_pull_request_reference", "full_git_ref"], "description": "The full Git reference. Format: `refs/heads/`, `refs/pull//merge`, or `refs/pull//head`.", "endpoint_argument_name": "ref" }, { "name": "base64_compressed_sarif_data", "alternative_names": ["sarif_base64_string", "compressed_sarif_encoded"], "description": "A Base64-encoded string of the SARIF file compressed using gzip. Ensure proper encoding before upload.", "endpoint_argument_name": "sarif" }, { "name": "base_directory_for_analysis", "alternative_names": ["analysis_base_path", "repository_base_directory"], "description": "The base directory used in the analysis as it appears in the SARIF file to map file paths correctly.", "endpoint_argument_name": "checkout_uri" }, { "name": "analysis_start_time", "alternative_names": ["analysis_started_at", "start_time_of_analysis"], "description": "The timestamp when the analysis run began, in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "started_at" }, { "name": "tool_name", "alternative_names": ["scanner_tool_name", "analysis_tool_name"], "description": "Specifies the tool name used for generating the code scanning analysis. Defaults to 'API' if not provided. Supports filtering by tool GUID in alerts operations.", "endpoint_argument_name": "tool_name" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/code-scanning/sarifs", "tags": ["code-scanning"], "summary": "Upload an analysis as SARIF data", "description": "Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.\n\nThere are two places where you can upload code scanning results.\n- If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see \"[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests).\"\n- If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see \"[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository).\"\n\nYou must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example:\n\n```\ngzip -c analysis-data.sarif | base64 -w0\n```\n
\nSARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable.\nTo get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries.\n\n\n| **SARIF data** | **Maximum values** | **Additional limits** |\n|----------------------------------|:------------------:|----------------------------------------------------------------------------------|\n| Runs per file | 15 | |\n| Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. |\n| Rules per run | 25,000 | |\n| Tool extensions per run | 100 | |\n| Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. |\n| Location per result\t | 1,000 | Only 100 locations will be included. |\n| Tags per rule\t | 20 | Only 10 tags will be included. |\n\nThe `202 Accepted` response includes an `id` value.\nYou can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint.\nFor more information, see \"[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "checkout_uri", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository." }, "description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", "format": "uri", "example": "file:///github/workspace/" }, "schema_required": false }, { "name": "commit_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit to which the analysis you are uploading relates." }, "description": "The SHA of the commit to which the analysis you are uploading relates.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The SHA of the commit to which the analysis you are uploading relates.", "pattern": "^[0-9a-fA-F]+$" }, "schema_required": true }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The full Git reference, formatted as `refs/heads/`,\n`refs/pull//merge`, or `refs/pull//head`." }, "schema_required": true }, { "name": "sarif", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/enterprise-server@3.8/code-security/secure-coding/sarif-support-for-code-scanning).\"" }, "description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/enterprise-server@3.8/code-security/secure-coding/sarif-support-for-code-scanning).\"", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/enterprise-server@3.8/code-security/secure-coding/sarif-support-for-code-scanning).\"" }, "schema_required": true }, { "name": "started_at", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "schema_required": false }, { "name": "tool_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`." }, "description": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"commit_sha\": \"4b6472266afd7b471e86085a6659e8c7f2b119da\",\n \"ref\": \"refs/heads/master\",\n \"sarif\": \"H4sICMLGdF4AA2V4YW1wbGUuc2FyaWYAvVjdbts2FL7PUxDCijaA/CM7iRNfLkPXYgHSNstumlzQ0pHFVCI1korjFgH2ONtr7Ul2KFmy/mOn6QIkjsjDw0/nfN85NL8dEGL9pNwAImqRObECrWM1H40kXQ2XTAfJIlEgXcE1cD10RTQSVDE10K4aKSqZP1AxuKOIKg1ydJU60jSfSh8Hk6EzHA/vlOCWbfa7B6kYPpj90rlsWCZcmbHP5Bs+4oAWIjQD2SMOeJLh2vIQDnIaQerqXHjw8YIgxohybxAyDsS4cAPKsp03K4RcUs6+Up2D+JXpd8mibKIQN9fM/aMCdbyBujGSSQgVxJtx5qX2d2qUcIweQhEuDQf3GBO6CKHkogx/N3MVCKl/AeVKFuf4y5ubsMGDTj1ep+5I7sgmLIpxtU38hLtmMRGSuCFVyip5eKzs5ydh+LztVL6f2m6oih1BkYiuyQIIJWodxVpERPj4sEiWBNNH8EWT0DMG8EAjzKVHXCrB4FkPu/F64NMk1OeC+2yZSNoBOoR7CC0EzYWGbm+xFDFIzbI011+cLjfZtyJkmMZfumAh02uL3NpV2y+MZ6RAjxibyKrNxxJcVjANSb4eBGwZ1M0KsuyR2poLr5rMl8vaDSeVn6eTWEO2j2xIEcmhwlTKNOi4GMOI8gfuZYkvJ7b4v5Tiumyz7RnHeodFzpS8ASIZCH/AYdWi2z3sG8JtFxJ6fF9yR9CdifBr9Pd6d5V2+zbJKjjCFGGmsHuYFy2ytJq9tUxcLSRSQecppOGKrpUxYfxefMEFK+wOGa4hudQByBVT0L+EKtyACxnRsABhEx1QjVDs1KNI9MbpnhqfE45B6FJvu3hRu5VRU9MhZLmK7fqkKyQSTHNoyMqUFMqXCV3CwAeqEwmVokraK8IuBaGvHjQ0gMYrKjnjyw7uk9uD8tgmsBbFMPnU1bV2ZhkJNkuolUiWys3UPWzs5aaIUz9TBe8zMb+6+nT+6fLy91dlE3xzeDDT4zYszb0bW6NjJd0Rvn2EnLvWLFSdKPpBzInzfRgu8ETyMcH8nIfMnJCeC2PyfTA+UKngcnGH7Hw2hGkVQs5YlIRCtdWZYQ4/73es2JlxkfViOEIhoWJq5Oo6UBBfiKIqFBWhiE3jJGbFwVoxBHTRSuIS67sMeplei24X20shLjG+8gqbKC/bESiNMC+wd5q5id0yeS7CJEqXzmrTWNq3k05l84P6f4/bEmXFJjI0fIt1BGQssUnUDkBYeVhE5TqPnMH3jqogDcP0zKcTgLPTMSzOjhbjuVOmW23l1fYNStulfo6sXlFsGLhbDy5RECPRYGCTgOj2bd4nUQEivEd0H7KKYxqnEhFohuur3a3UPskbH/+Yg0+M5P2MHRJu3ziHh3Z2NCrWt3XF1rWTw8Ne/pfbWYXnDSE0SNZQQt1i18q7te2vOhu7ehWuvVyeu0wbLZi24mhoo6aOOTltzG/lgdVvVoXQq5V+pewkFIzL8fjEcadT55jOjpzFzHuOTtDNrMkJPMVQDd7F09RID72O/UPZ0tmctqZ7kWX6EmSZnDpP8GU67SXM8XE3YSrxbKsx6UReZ4y6n/FVZfJjs9Z7stma75W5yQtkzjk5eSJxk1lv4o7+j8TlhaJ2lsKWZO6lruDPBLib3x5ZN/KGWzZ+pn///evv7OOf4iIBv3oY9L/l1wiJ9p0Tc+F1zZnOE9NxXWEus6IQhr5pMfoqxi8WPsuu0azsns4UC6WzNzHIzbeEx4P/AJ3SefgcFAAA\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"checkout_uri\": {\n \"description\": \"The base directory used in the analysis, as it appears in the SARIF file.\\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.\",\n \"example\": \"file:///github/workspace/\",\n \"format\": \"uri\",\n \"type\": \"string\"\n },\n \"commit_sha\": {\n \"description\": \"The SHA of the commit to which the analysis you are uploading relates.\",\n \"maxLength\": 40,\n \"minLength\": 40,\n \"pattern\": \"^[0-9a-fA-F]+$\",\n \"type\": \"string\"\n },\n \"ref\": {\n \"description\": \"The full Git reference, formatted as `refs/heads/`,\\n`refs/pull//merge`, or `refs/pull//head`.\",\n \"type\": \"string\"\n },\n \"sarif\": {\n \"description\": \"A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \\\"[SARIF support for code scanning](https://docs.github.com/enterprise-server@3.8/code-security/secure-coding/sarif-support-for-code-scanning).\\\"\",\n \"type\": \"string\"\n },\n \"started_at\": {\n \"description\": \"The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"tool_name\": {\n \"description\": \"The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \\\"API\\\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"commit_sha\",\n \"ref\",\n \"sarif\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "code-scanning/get-sarif", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_sarif_analysis_info", "description": { "tagline": "Retrieve SARIF upload status and analysis URL.", "detailed": "Use this tool to get information about a SARIF upload, including its status and the URL for detailed analysis. Useful for tracking code scanning results in GitHub repositories. Requires appropriate access tokens or permissions." }, "return_annotation": "SARIF upload status and analysis URL.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository. This input is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This input is case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "sarif_id", "alternative_names": ["analysis_id", "upload_id"], "description": "The SARIF ID obtained after uploading. It is used to retrieve analysis details.", "endpoint_argument_name": "sarif_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "tags": ["code-scanning"], "summary": "Get information about a SARIF upload", "description": "Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see \"[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository).\" You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sarif_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SARIF ID obtained after uploading." }, "description": "The SARIF ID obtained after uploading.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/codeowners-errors", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_codeowners_errors", "description": { "tagline": "Identify syntax errors in a repository's CODEOWNERS file.", "detailed": "This tool checks a repository's CODEOWNERS file for any syntax errors. It's useful for ensuring that the file is correctly formatted and functioning as intended. Use this tool to diagnose issues with the CODEOWNERS file when configuring repository access controls." }, "return_annotation": "Lists syntax errors in the CODEOWNERS file.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "version_reference", "alternative_names": ["branch_or_tag_name", "commit_reference"], "description": "Specify the branch, tag, or commit name to select the CODEOWNERS file version. Defaults to the repository's default branch if not provided.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/codeowners/errors", "tags": ["repos"], "summary": "List CODEOWNERS errors", "description": "List any syntax errors that are detected in the CODEOWNERS\nfile.\n\nFor more information about the correct CODEOWNERS syntax,\nsee \"[About code owners](https://docs.github.com/enterprise-server@3.8/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`)" }, "description": "A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-collaborators", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_collaborators", "description": { "tagline": "Retrieve collaborators of a GitHub repository.", "detailed": "Use this tool to get the list of collaborators for a GitHub repository, including organization members and outside collaborators. Useful for understanding who has access and their roles. Requires specific authentication permissions." }, "return_annotation": "List of repository collaborators and their access details.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "filter_by_affiliation", "alternative_names": ["collaborator_affiliation_filter", "affiliation_filter"], "description": "Filter collaborators by affiliation: 'outside', 'direct', or 'all'.", "endpoint_argument_name": "affiliation" }, { "name": "filter_by_permission", "alternative_names": ["permission_filter", "access_level_filter"], "description": "Specify the permission level ('pull', 'triage', 'push', 'maintain', 'admin') to filter the repository collaborators. Returns all collaborators if not specified.", "endpoint_argument_name": "permission" }, { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "results_count_per_page"], "description": "The number of results per page to return, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "collaborators_page_number"], "description": "The page number of results to retrieve when querying the list of collaborators.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/collaborators", "tags": ["repos"], "summary": "List repository collaborators", "description": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\nOrganization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint.\n\nTeam members will include the members of child teams.\n\nYou must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this\nendpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "affiliation", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["outside", "direct", "all"], "properties": null, "inner_properties": null, "description": "Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see." }, "description": "Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["outside", "direct", "all"] }, "schema_required": false }, { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["pull", "triage", "push", "maintain", "admin"], "properties": null, "inner_properties": null, "description": "Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned." }, "description": "Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["pull", "triage", "push", "maintain", "admin"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/remove-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_collaborator", "description": { "tagline": "Remove a collaborator from a GitHub repository.", "detailed": "Use this tool to remove a specified user as a collaborator from a GitHub repository. Call this when you need to revoke someone's access to a repository." }, "return_annotation": "Confirmation of collaborator removal from a repository.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repository_owner_account", "repo_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository, case insensitive.", "endpoint_argument_name": "repo" }, { "name": "collaborator_username", "alternative_names": ["github_user_handle", "repo_user"], "description": "The GitHub user handle for the collaborator to be removed.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/collaborators/{username}", "tags": ["repos"], "summary": "Remove a repository collaborator", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/check-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_github_repo_collaborator", "description": { "tagline": "Check if a user is a collaborator on a GitHub repository.", "detailed": "This tool checks if a specific user is a collaborator on a GitHub repository, including outside collaborators, organization members with direct or team access, and organization owners. It requires authentication with appropriate permissions." }, "return_annotation": "Indicates if the specified user is a collaborator on the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the GitHub repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository, case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "github_user_handle", "alternative_names": ["user_github_username", "github_account_handle"], "description": "The GitHub username to check collaboration status for.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/collaborators/{username}", "tags": ["repos"], "summary": "Check if a user is a repository collaborator", "description": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n\nTeam members will include the members of child teams.\n\nYou must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this\nendpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this\nendpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/add-collaborator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_or_update_github_collaborator", "description": { "tagline": "Add or update a collaborator on a GitHub repository.", "detailed": "Use this tool to add a new collaborator or update the permission level of an existing collaborator on a GitHub repository. The invitee will receive a notification, and changes are instantly applied. Be aware of rate limits and permissions restrictions." }, "return_annotation": "Confirmation of collaborator addition or permission update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. This input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "github_user_handle", "alternative_names": ["github_username", "collaborator_handle"], "description": "The GitHub user handle for the collaborator to be added or updated.", "endpoint_argument_name": "username" }, { "name": "permission_level_for_github_collaborator", "alternative_names": ["collaborator_role", "github_repo_access_level"], "description": "Specify the permission to grant or update for a collaborator on an organization-owned GitHub repository. Only valid for such repositories.", "endpoint_argument_name": "permission" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/collaborators/{username}", "tags": ["repos"], "summary": "Add a repository collaborator", "description": "This endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.\n\nAdding an outside collaborator may be restricted by enterprise administrators. For more information, see \"[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-server@3.8/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories).\"\n\nFor more information on permission levels, see \"[Repository permission levels for an organization](https://docs.github.com/enterprise-server@3.8/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with:\n\n```\nCannot assign {member} permission of {role name}\n```\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\nThe invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#invitations).\n\n**Updating an existing collaborator's permission level**\n\nThe endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed.\n\n**Rate limits**\n\nYou are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "permission", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.**" }, "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.**", "required": false, "deprecated": false, "default": "push", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.**" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"new-invitation-is-created\": {\n \"summary\": \"Add a collaborator with triage permissions\",\n \"value\": {\n \"permission\": \"triage\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"permission\": {\n \"default\": \"push\",\n \"description\": \"The permission to grant the collaborator. **Only valid on organization-owned repositories.**\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/get-collaborator-permission-level", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_repo_collaborator_permission", "description": { "tagline": "Check a collaborator's permission level in a GitHub repo.", "detailed": "Use this tool to find out if a collaborator has `admin`, `write`, `read`, or `none` permissions in a specific GitHub repository." }, "return_annotation": "Repository permission level for a collaborator.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the repository (not case sensitive).", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "collaborator_username", "alternative_names": ["github_user_handle", "user_account_handle"], "description": "The GitHub user account handle to check permissions for.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/collaborators/{username}/permission", "tags": ["repos"], "summary": "Get repository permissions for a user", "description": "Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-commit-comments-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_commit_comments", "description": { "tagline": "Retrieve commit comments for a GitHub repository.", "detailed": "This tool retrieves commit comments for a specified GitHub repository. It's useful when you want to analyze or display comments made on commits in a project. Call this tool when you need to access the comments sorted by ascending ID." }, "return_annotation": "A list of commit comments for a specific repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_identifier", "repository_id"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Number of commit comments to retrieve per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["result_page", "comment_page_number"], "description": "Specify the page number of commit comments to fetch from the repository.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/comments", "tags": ["repos"], "summary": "List commit comments for a repository", "description": "Commit Comments use [these custom media types](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/).\n\nComments are ordered by ascending ID.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_commit_comment", "description": { "tagline": "Deletes a specific commit comment on GitHub.", "detailed": "Use this tool to remove a comment from a commit on a GitHub repository by specifying the owner, repository, and comment ID." }, "return_annotation": "Confirmation that the commit comment was deleted.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_id", "alternative_names": ["commit_comment_id", "unique_comment_identifier"], "description": "The unique identifier of the commit comment to be deleted.", "endpoint_argument_name": "comment_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/comments/{comment_id}", "tags": ["repos"], "summary": "Delete a commit comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_commit_comment", "description": { "tagline": "Retrieve details of a specific commit comment on GitHub.", "detailed": "Use this tool to get detailed information about a specific commit comment in a GitHub repository, identified by the owner, repository name, and comment ID." }, "return_annotation": "Commit comment details from a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_identifier", "alternative_names": ["commit_comment_id", "comment_key"], "description": "The unique identifier for the GitHub commit comment to be retrieved.", "endpoint_argument_name": "comment_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/comments/{comment_id}", "tags": ["repos"], "summary": "Get a commit comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_commit_comment", "description": { "tagline": "Update a comment on a GitHub commit.", "detailed": "Use this tool to modify the text of an existing comment on a commit in a GitHub repository. Ideal for refining or correcting comments after they have been posted." }, "return_annotation": "Information about the updated commit comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The GitHub account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_title", "repo_identifier"], "description": "The name of the repository. This is not case sensitive. Provide the repository's exact name as it appears on GitHub.", "endpoint_argument_name": "repo" }, { "name": "comment_unique_id", "alternative_names": ["comment_identifier", "comment_id_number"], "description": "The unique identifier for the commit comment being updated. It is an integer value that specifies the comment to be edited within the repository.", "endpoint_argument_name": "comment_id" }, { "name": "comment_contents", "alternative_names": ["comment_text", "new_comment_body"], "description": "The updated text of the commit comment. Enter the new content you wish to save.", "endpoint_argument_name": "body" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/comments/{comment_id}", "tags": ["repos"], "summary": "Update a commit comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the comment" }, "description": "The contents of the comment", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the comment" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Nice change\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The contents of the comment\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/list-for-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_commit_comment_reactions", "description": { "tagline": "Retrieve reactions for a GitHub commit comment.", "detailed": "This tool fetches the list of reactions associated with a specific commit comment on GitHub. It should be called when you need to view reactions to a particular commit comment within a repository." }, "return_annotation": "List of reactions to a specific commit comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive and identifies the repository within the specified owner's account.", "endpoint_argument_name": "repo" }, { "name": "comment_id", "alternative_names": ["comment_identifier", "commit_comment_id"], "description": "The unique identifier for the commit comment you want to retrieve reactions for.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_type", "alternative_names": ["single_reaction_type", "specific_reaction"], "description": "Filter results to show only a specific reaction type. Omit to list all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["num_results_per_page", "page_results_count"], "description": "Specifies the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "result_page_index"], "description": "Page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/comments/{comment_id}/reactions", "tags": ["reactions"], "summary": "List reactions for a commit comment", "description": "List the reactions to a [commit comment](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#comments).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_reaction_to_commit_comment", "description": { "tagline": "Add a reaction to a GitHub commit comment.", "detailed": "Use this tool to add a reaction (like, love, etc.) to a comment on a GitHub commit. It confirms if the reaction was already added with an HTTP `200` status." }, "return_annotation": "Indication of successful reaction addition to a commit comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the repository owner. This value is case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_id", "alternative_names": ["commit_comment_id", "comment_identifier"], "description": "The unique identifier of the GitHub commit comment to which the reaction will be added.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_type", "alternative_names": ["reaction_content", "emoji_reaction"], "description": "The type of reaction to add to the commit comment, e.g., '+1', 'heart', 'laugh'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/comments/{comment_id}/reactions", "tags": ["reactions"], "summary": "Create reaction for a commit comment", "description": "Create a reaction to a [commit comment](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the commit comment." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the commit comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the commit comment.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the commit comment.\",\n \"enum\": [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_commit_comment_reaction", "description": { "tagline": "Delete a reaction from a commit comment on GitHub.", "detailed": "Use this tool to delete a specific reaction from a commit comment in a GitHub repository. This is useful when you need to manage or clean up reactions on comments." }, "return_annotation": "Confirmation of reaction deletion for a commit comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The case-insensitive name of the repository.", "endpoint_argument_name": "repo" }, { "name": "comment_unique_identifier", "alternative_names": ["comment_id_number", "unique_comment_id"], "description": "The unique identifier for the specific commit comment you want to target.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_unique_identifier", "alternative_names": ["reaction_id_number", "reaction_identifier"], "description": "The unique identifier for the reaction to be deleted from a commit comment.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete a commit comment reaction", "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`.\n\nDelete a reaction to a [commit comment](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#comments).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-commits", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_commit_signature_verification", "description": { "tagline": "Fetches verification status of a commit's signature on GitHub.", "detailed": "Use this tool to check whether a commit's signature in a GitHub repository is verified. It provides details about the verification status, including whether it's verified, the reason for the status, and details about the signature and payload. Call this tool when you need to verify the authenticity of a commit." }, "return_annotation": "Verification status and details of a commit's signature.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to verify the commit signature. Not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "start_commit_sha_or_branch", "alternative_names": ["starting_sha_or_branch", "begin_sha_or_branch"], "description": "SHA or branch to start listing commits from. Defaults to the repository's default branch, usually 'main'.", "endpoint_argument_name": "sha" }, { "name": "commit_file_path_filter", "alternative_names": ["file_path_filter", "commit_file_path"], "description": "Specify a file path to filter commits that only include changes to this path.", "endpoint_argument_name": "path" }, { "name": "commit_author_filter", "alternative_names": ["commit_author_identifier", "author_filter"], "description": "GitHub login or email address to filter commits by author.", "endpoint_argument_name": "author" }, { "name": "updated_after_timestamp", "alternative_names": ["since_timestamp", "notifications_updated_after"], "description": "Timestamp in ISO 8601 format to filter notifications updated after this time.", "endpoint_argument_name": "since" }, { "name": "only_commits_before_date", "alternative_names": ["commits_before_date", "filter_commits_by_date"], "description": "Filter commits to only include those before this date, formatted as `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "until" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "Specifies the number of commits to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits", "tags": ["repos"], "summary": "List commits", "description": "**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "SHA or branch to start listing commits from. Default: the repository\u2019s default branch (usually `main`)." }, "description": "SHA or branch to start listing commits from. Default: the repository\u2019s default branch (usually `main`).", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only commits containing this file path will be returned." }, "description": "Only commits containing this file path will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "author", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "GitHub login or email address by which to filter by commit author." }, "description": "GitHub login or email address by which to filter by commit author.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "until", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-branches-for-head-commit", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_branches_for_commit", "description": { "tagline": "Retrieve branches for a specific commit in a GitHub repository.", "detailed": "Call this tool to find all branches where the given commit SHA is the HEAD or the latest commit for the branch in a GitHub repository. Useful for tracking branch status in different GitHub plans." }, "return_annotation": "Branches where the specified commit is the HEAD.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["commit_hash", "commit_identifier"], "description": "The SHA hash of the commit used to identify specific branches where this commit is the HEAD in a GitHub repository.", "endpoint_argument_name": "commit_sha" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "tags": ["repos"], "summary": "List branches for HEAD commit", "description": "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](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReturns all branches where the given commit SHA is the HEAD, or latest commit for the branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "commit_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit." }, "description": "The SHA of the commit.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-comments-for-commit", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_commit_comments", "description": { "tagline": "Retrieve comments for a specific commit in a GitHub repo.", "detailed": "This tool fetches all comments associated with a specific commit in a given GitHub repository. It should be called when you need to view discussions or feedback on a specific code change identified by its commit SHA." }, "return_annotation": "List of comments for a specific commit in a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive and identifies the GitHub user or organization that owns the repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The case-insensitive name of the GitHub repository.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["commit_identifier", "commit_hash"], "description": "The SHA string representing the specific commit to retrieve comments for.", "endpoint_argument_name": "commit_sha" }, { "name": "results_per_page", "alternative_names": ["comments_per_page", "items_per_page"], "description": "The number of comments to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["comments_page_number", "current_page"], "description": "The page number of results to fetch for commit comments. Useful for paginating through large sets of comments.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{commit_sha}/comments", "tags": ["repos"], "summary": "List commit comments", "description": "Use the `:commit_sha` to specify the commit that will have its comments listed.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "commit_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit." }, "description": "The SHA of the commit.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-commit-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_commit_comment", "description": { "tagline": "Create a comment on a specific GitHub commit.", "detailed": "Use this tool to add a comment to a specific commit on a GitHub repository using the commit's SHA identifier. Useful for discussing changes directly within the commit history. Be mindful of rate limiting when using this endpoint." }, "return_annotation": "Details of the created commit comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. Name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository where the commit resides. It's not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["commit_identifier", "sha_code"], "description": "The SHA identifier of the commit to comment on. It uniquely identifies the commit within the repository.", "endpoint_argument_name": "commit_sha" }, { "name": "comment_content", "alternative_names": ["comment_body", "comment_text"], "description": "The text of the comment to be added to the commit. It should be a clear and concise message.", "endpoint_argument_name": "body" }, { "name": "deprecated_line_number", "alternative_names": ["line_number_deprecated", "legacy_line"], "description": "Line number in the file to comment on. **Deprecated**. Use the `position_in_diff` instead.", "endpoint_argument_name": "line" }, { "name": "relative_file_path", "alternative_names": ["file_path_relative", "comment_file_path"], "description": "Relative path of the file to comment on within the repository.", "endpoint_argument_name": "path" }, { "name": "line_index_in_diff", "alternative_names": ["diff_line_index", "diff_position_index"], "description": "Line index in the diff to comment on.", "endpoint_argument_name": "position" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/commits/{commit_sha}/comments", "tags": ["repos"], "summary": "Create a commit comment", "description": "Create a comment for a commit using its `:commit_sha`.\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "commit_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit." }, "description": "The SHA of the commit.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the comment." }, "description": "The contents of the comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the comment." }, "schema_required": true }, { "name": "line", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. Use **position** parameter instead. Line number in the file to comment on." }, "description": "**Deprecated**. Use **position** parameter instead. Line number in the file to comment on.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "**Deprecated**. Use **position** parameter instead. Line number in the file to comment on." }, "schema_required": false }, { "name": "path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Relative path of the file to comment on." }, "description": "Relative path of the file to comment on.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Relative path of the file to comment on." }, "schema_required": false }, { "name": "position", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Line index in the diff to comment on." }, "description": "Line index in the diff to comment on.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "Line index in the diff to comment on." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Great stuff\",\n \"line\": 1,\n \"path\": \"file1.txt\",\n \"position\": 4\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The contents of the comment.\",\n \"type\": \"string\"\n },\n \"line\": {\n \"description\": \"**Deprecated**. Use **position** parameter instead. Line number in the file to comment on.\",\n \"type\": \"integer\"\n },\n \"path\": {\n \"description\": \"Relative path of the file to comment on.\",\n \"type\": \"string\"\n },\n \"position\": {\n \"description\": \"Line index in the diff to comment on.\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/list-pull-requests-associated-with-commit", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pull_requests_for_commit", "description": { "tagline": "Retrieve pull requests linked to a specific commit.", "detailed": "Fetches pull requests associated with a specific commit in a GitHub repository. Returns merged pull requests if the commit is in the default branch; otherwise, only open pull requests are returned." }, "return_annotation": "Details of pull requests associated with a commit.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository (not case sensitive).", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["commit_id", "sha_identifier"], "description": "The SHA identifier of the commit to fetch associated pull requests.", "endpoint_argument_name": "commit_sha" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["pagination_page", "fetch_page"], "description": "Page number of the results to fetch from the list of pull requests associated with the commit.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "tags": ["repos"], "summary": "List pull requests associated with a commit", "description": "Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "commit_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit." }, "description": "The SHA of the commit.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-commit", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_commit_details", "description": { "tagline": "Retrieve details of a single commit reference.", "detailed": "Fetches full details of a specific commit from a repository, including verification status, file diffs, and commit metadata. Useful for checking commit history, signature verification, and differences. Accessing this information requires 'read' access to the repository." }, "return_annotation": "Detailed commit information including verification status.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_identifier"], "description": "The name of the repository. This is not case sensitive and required to identify the repository from which to fetch commit details.", "endpoint_argument_name": "repo" }, { "name": "commit_reference", "alternative_names": ["commit_ref", "commit_sha"], "description": "The reference string (branch name, tag, or commit SHA) for the commit to fetch details about.", "endpoint_argument_name": "ref" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "The page number of the commit results to fetch from the API. Use for pagination.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "Specify the number of results to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{ref}", "tags": ["repos"], "summary": "Get a commit", "description": "Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint.\n\n**Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.\n\nYou can pass the appropriate [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property.\n\nTo return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/list-for-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_check_runs_for_commit_ref", "description": { "tagline": "Lists check runs for a given commit reference.", "detailed": "Fetches check runs associated with a specific commit reference (SHA, branch, or tag) in a repository. Requires appropriate permissions: 'checks:read' for private repositories and 'repo' scope for OAuth Apps on private repositories." }, "return_annotation": "A list of check runs for the specified commit reference.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This is not case sensitive and refers to the GitHub username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. Input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_reference", "alternative_names": ["commit_ref", "reference"], "description": "The commit reference, which can be a SHA, branch name, or tag name, to list check runs for.", "endpoint_argument_name": "ref" }, { "name": "check_run_name", "alternative_names": ["check_run_identifier", "run_name"], "description": "Specify a name to filter check runs by their name.", "endpoint_argument_name": "check_name" }, { "name": "check_run_status", "alternative_names": ["check_status_filter", "status_of_check_runs"], "description": "Filter check runs by specifying the status ('queued', 'in_progress', 'completed').", "endpoint_argument_name": "status" }, { "name": "filter_by_completion_timestamp", "alternative_names": ["completion_timestamp_filter", "check_run_completion_filter"], "description": "Specify 'latest' to return the most recent check runs or 'all' to include all completed check runs.", "endpoint_argument_name": "filter" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "results_page"], "description": "The specific page number of results to retrieve, used for pagination.", "endpoint_argument_name": "page" }, { "name": "application_id", "alternative_names": ["app_id_number", "application_identifier"], "description": "Optional integer identifier for a GitHub App to filter check runs created by that app.", "endpoint_argument_name": "app_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{ref}/check-runs", "tags": ["checks"], "summary": "List check runs for a Git reference", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nLists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "check_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns check runs with the specified `name`." }, "description": "Returns check runs with the specified `name`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "status", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["queued", "in_progress", "completed"], "properties": null, "inner_properties": null, "description": "Returns check runs with the specified `status`." }, "description": "Returns check runs with the specified `status`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["queued", "in_progress", "completed"] }, "schema_required": false }, { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["latest", "all"], "properties": null, "inner_properties": null, "description": "Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs." }, "description": "Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs.", "required": false, "deprecated": false, "default": "latest", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["latest", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "app_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "checks/list-suites-for-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_check_suites_for_ref", "description": { "tagline": "List check suites for a specific commit reference.", "detailed": "Retrieve a list of check suites for a given commit reference (SHA, branch, or tag name). Ensure the appropriate permissions are in place for accessing private or public repositories. This tool is useful for checking the status of checks related to a specific commit." }, "return_annotation": "List of check suites for a specific commit reference.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The account owner of the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to query. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_reference", "alternative_names": ["commit_ref", "reference"], "description": "The commit ref, which can be a SHA, branch name, or tag name. Used to list check suites.", "endpoint_argument_name": "ref" }, { "name": "github_app_id_filter", "alternative_names": ["filter_by_github_app_id", "application_id_filter"], "description": "Filter check suites by the GitHub App ID to narrow results to relevant checks associated with a specific application.", "endpoint_argument_name": "app_id" }, { "name": "specific_check_name", "alternative_names": ["check_run_name", "name_of_check_run"], "description": "Specify the name of the check run to filter the results.", "endpoint_argument_name": "check_name" }, { "name": "results_per_page", "alternative_names": ["results_page_limit", "page_results_count"], "description": "Specify the number of results to return per page. The maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page"], "description": "Specifies which page of results to fetch. Useful for paginating through a list of check suites.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{ref}/check-suites", "tags": ["checks"], "summary": "List check suites for a Git reference", "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nLists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "app_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Filters check suites by GitHub App `id`." }, "description": "Filters check suites by GitHub App `id`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "check_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Returns check runs with the specified `name`." }, "description": "Returns check runs with the specified `name`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-combined-status-for-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_combined_commit_status", "description": { "tagline": "Retrieve the combined status of a commit for a given reference.", "detailed": "This tool provides a combined view of commit statuses for a specified reference (SHA, branch, or tag) in a GitHub repository. It is useful for users with pull access who need to verify the overall status of a commit, including whether it is in a 'failure', 'pending', or 'success' state." }, "return_annotation": "Combined status of commit for a given reference.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is a case-insensitive string.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "reference_specifier", "alternative_names": ["commit_identifier", "branch_or_tag_name"], "description": "The ref parameter specifying the SHA, branch name, or tag name for the commit status.", "endpoint_argument_name": "ref" }, { "name": "results_per_page", "alternative_names": ["max_results_per_page", "items_per_page"], "description": "The number of results to include per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "results_page"], "description": "The page number of commit status results to fetch. Useful for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{ref}/status", "tags": ["repos"], "summary": "Get the combined status for a specific reference", "description": "Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.\n\n\nAdditionally, a combined `state` is returned. The `state` is one of:\n\n* **failure** if any of the contexts report as `error` or `failure`\n* **pending** if there are no statuses or a context is `pending`\n* **success** if the latest status for all contexts is `success`", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-commit-statuses-for-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_commit_statuses", "description": { "tagline": "Retrieve commit statuses for a specific ref in a repository.", "detailed": "Call this tool to get the statuses of commits for a specific ref (SHA, branch, or tag) in a GitHub repository. Useful for checking build or test statuses and integrations that provide feedback on commits." }, "return_annotation": "Latest commit statuses for a given ref in a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name that owns the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "repository_reference", "alternative_names": ["commit_ref", "branch_tag_sha"], "description": "The reference for the commit, which can be a SHA, branch name, or tag name. It specifies the ref to fetch statuses for in the repository.", "endpoint_argument_name": "ref" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "The page number to fetch the results from, useful for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/commits/{ref}/statuses", "tags": ["repos"], "summary": "List commit statuses for a reference", "description": "Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.\n\nThis resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/compare-commits", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "compare_github_commits", "description": { "tagline": "Compares two commits in a GitHub repository.", "detailed": "Use this tool to compare two commits in a GitHub repository, including those in different branches or forks. Returns details about file changes, commit order, and signature verification status. Useful for understanding code changes and repository history." }, "return_annotation": "Details about differences between two commits.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The username of the account that owns the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository to compare commits in. This input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "base_and_head_branch_comparison", "alternative_names": ["branch_compare_format", "repo_branch_comparison"], "description": "Specify branches/base and head in the format `BASE...HEAD` or `USERNAME:BASE...USERNAME:HEAD` to compare them.", "endpoint_argument_name": "basehead" }, { "name": "page_number", "alternative_names": ["results_page", "fetch_page"], "description": "Page number of the results to fetch. Used for pagination to navigate through commit comparisons.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "Specifies the number of commit results returned per page. Maximum allowed is 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/compare/{basehead}", "tags": ["repos"], "summary": "Compare two commits", "description": "Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see \"[Understanding connections between repositories](https://docs.github.com/enterprise-server@3.8/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories).\"\n\nThis endpoint is equivalent to running the `git log BASE...HEAD` command, but it returns commits in a different order. The `git log BASE...HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n\nThe API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file.\n\nWhen calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison.\n\n**Working with large comparisons**\n\nTo process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination:\n\n- The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison.\n- The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results.\n\nFor more information on working with pagination, see \"[Using pagination in the REST API](https://docs.github.com/enterprise-server@3.8/rest/guides/using-pagination-in-the-rest-api).\"\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "basehead", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`." }, "description": "The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-file", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_file", "description": { "tagline": "Delete a file from a GitHub repository.", "detailed": "This tool deletes a specified file from a GitHub repository. It should be called when you need to remove a file, ensuring that either committer or author details such as name and email are provided. This action cannot be done concurrently with file creation or updates." }, "return_annotation": "Confirmation of the file deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository in a case-insensitive format.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository from which the file will be deleted. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "file_path", "alternative_names": ["target_path", "file_location"], "description": "The file path in the repository to be deleted. This path is case-sensitive.", "endpoint_argument_name": "path" }, { "name": "commit_message", "alternative_names": ["git_commit_message", "file_deletion_message"], "description": "The commit message explaining why the file is being deleted. This information is mandatory.", "endpoint_argument_name": "message" }, { "name": "file_sha_to_delete", "alternative_names": ["target_file_sha", "file_blob_sha"], "description": "The SHA of the file to be deleted. This is required to identify the specific file version in the repository.", "endpoint_argument_name": "sha" }, { "name": "author_email", "alternative_names": ["committer_email", "contact_email"], "description": "Email of the author or committer for the commit. Required if using author or committer details.", "endpoint_argument_name": "author.email" }, { "name": "author_name", "alternative_names": ["committer_name", "user_name"], "description": "The name of the author or committer of the commit. Required if 'author' is used.", "endpoint_argument_name": "author.name" }, { "name": "branch_name", "alternative_names": ["repository_branch", "file_branch"], "description": "The name of the branch from which to delete the file. Defaults to the repository's default branch (usually 'master').", "endpoint_argument_name": "branch" }, { "name": "committer_email", "alternative_names": ["author_email", "email_of_committer"], "description": "The email of the committer for the commit. This is required for deleting a file.", "endpoint_argument_name": "committer.email" }, { "name": "committer_name", "alternative_names": ["commit_author_name", "file_deleter_name"], "description": "The name of the committer or author of the commit for deleting the file.", "endpoint_argument_name": "committer.name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/contents/{path}", "tags": ["repos"], "summary": "Delete a file", "description": "Deletes a file in a repository.\n\nYou can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author.\n\nThe `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.\n\nYou must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.\n\n**Note:** If you use this endpoint and the \"[Create or update file contents](https://docs.github.com/enterprise-server@3.8/rest/reference/repos/#create-or-update-file-contents)\" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "path parameter" }, "description": "path parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "author.email", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author (or committer) of the commit" }, "description": "The email of the author (or committer) of the commit", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The email of the author (or committer) of the commit" }, "schema_required": false }, { "name": "author.name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author (or committer) of the commit" }, "description": "The name of the author (or committer) of the commit", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the author (or committer) of the commit" }, "schema_required": false }, { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The branch name. Default: the repository\u2019s default branch (usually `master`)" }, "description": "The branch name. Default: the repository\u2019s default branch (usually `master`)", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The branch name. Default: the repository\u2019s default branch (usually `master`)" }, "schema_required": false }, { "name": "committer.email", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author (or committer) of the commit" }, "description": "The email of the author (or committer) of the commit", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The email of the author (or committer) of the commit" }, "schema_required": false }, { "name": "committer.name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author (or committer) of the commit" }, "description": "The name of the author (or committer) of the commit", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the author (or committer) of the commit" }, "schema_required": false }, { "name": "message", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The commit message." }, "description": "The commit message.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The commit message." }, "schema_required": true }, { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The blob SHA of the file being deleted." }, "description": "The blob SHA of the file being deleted.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The blob SHA of the file being deleted." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"committer\": {\n \"email\": \"octocat@github.com\",\n \"name\": \"Monalisa Octocat\"\n },\n \"message\": \"my commit message\",\n \"sha\": \"329688480d39049927147c162b9d2deaf885005f\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"author\": {\n \"description\": \"object containing information about the author.\",\n \"properties\": {\n \"email\": {\n \"description\": \"The email of the author (or committer) of the commit\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author (or committer) of the commit\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"branch\": {\n \"description\": \"The branch name. Default: the repository\\u2019s default branch (usually `master`)\",\n \"type\": \"string\"\n },\n \"committer\": {\n \"description\": \"object containing information about the committer.\",\n \"properties\": {\n \"email\": {\n \"description\": \"The email of the author (or committer) of the commit\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author (or committer) of the commit\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"message\": {\n \"description\": \"The commit message.\",\n \"type\": \"string\"\n },\n \"sha\": {\n \"description\": \"The blob SHA of the file being deleted.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"message\",\n \"sha\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/get-content", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repo_content", "description": { "tagline": "Retrieve file or directory contents from a GitHub repository.", "detailed": "Use this tool to get the contents of a specified file or directory in a GitHub repository. By specifying the file path or directory, you can fetch the required information. If no path is specified, the root directory contents are retrieved. It supports custom media types for raw or HTML content. Note that files larger than 100 MB are not supported." }, "return_annotation": "Content details of a file or directory in a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_title"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "file_or_directory_path", "alternative_names": ["content_path", "repository_path"], "description": "The file or directory path within the repository. If omitted, the root directory is accessed.", "endpoint_argument_name": "path" }, { "name": "commit_branch_or_tag", "alternative_names": ["branch_tag_ref", "commit_ref_identifier"], "description": "The name of the commit, branch, or tag to retrieve content from. Defaults to the repository's default branch, usually 'master'.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/contents/{path}", "tags": ["repos"], "summary": "Get repository content", "description": "Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit\n`:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. \n\nFiles and symlinks support [a custom media type](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#custom-media-types) for\nretrieving the raw content or rendered HTML (when supported). All content types support [a custom media\ntype](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent\nobject format.\n\n**Notes**:\n* To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/enterprise-server@3.8/rest/reference/git#trees).\n* This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees\nAPI](https://docs.github.com/enterprise-server@3.8/rest/reference/git#get-a-tree).\n * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download.\n#### Size limits\nIf the requested file's size is:\n* 1 MB or smaller: All features of this endpoint are supported.\n* Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/enterprise-server@3.8/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `\"none\"`. To get the contents of these larger files, use the `raw` media type.\n * Greater than 100 MB: This endpoint is not supported.\n\n#### If the content is a directory\nThe response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\n_should_ be \"submodule\". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW).\nIn the next major version of the API, the type will be returned as \"submodule\".\n\n#### If the content is a symlink \nIf the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object \ndescribing the symlink itself.\n\n#### If the content is a submodule\nThe `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.\n\nIf the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links[\"git\"]`) and the\ngithub.com URLs (`html_url` and `_links[\"html\"]`) will have null values.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the commit/branch/tag. Default: the repository\u2019s default branch (usually `master`)" }, "description": "The name of the commit/branch/tag. Default: the repository\u2019s default branch (usually `master`)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "path parameter" }, "description": "path parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-or-update-file-contents", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_or_create_github_file", "description": { "tagline": "Create or update a file in a GitHub repository.", "detailed": "This tool creates a new file or updates an existing one in a GitHub repository. It requires authentication with an access token having the `workflow` scope. Avoid using this tool concurrently with file deletion to prevent conflicts." }, "return_annotation": "Details of the file creation or update in the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner_name", "repository_account_owner"], "description": "The account owner of the GitHub repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "file_path_in_repository", "alternative_names": ["repository_file_path", "repo_path"], "description": "The file path within the repository where the file will be created or updated.", "endpoint_argument_name": "path" }, { "name": "file_update_details", "alternative_names": ["file_data", "commit_information"], "description": "JSON object containing author, committer, content, message, branch, and sha details for file creation or update. Base64 encode file content.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/contents/{path}", "tags": ["repos"], "summary": "Create or update file contents", "description": "Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint.\n\n**Note:** If you use this endpoint and the \"[Delete a file](https://docs.github.com/enterprise-server@3.8/rest/reference/repos/#delete-file)\" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "path parameter" }, "description": "path parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "author": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "date": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "email": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." } }, "inner_properties": null, "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`." }, "branch": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The branch name. Default: the repository\u2019s default branch (usually `master`)" }, "committer": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "date": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "email": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." } }, "inner_properties": null, "description": "The person that committed the file. Default: the authenticated user." }, "content": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new file content, using Base64 encoding." }, "message": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The commit message." }, "sha": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Required if you are updating a file**. The blob SHA of the file being replaced." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "author": { "type": "object", "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.", "properties": { "date": { "type": "string", "example": "\"2013-01-15T17:13:22+05:00\"" }, "email": { "type": "string", "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." }, "name": { "type": "string", "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." } }, "required": ["name", "email"] }, "branch": { "type": "string", "description": "The branch name. Default: the repository\u2019s default branch (usually `master`)" }, "committer": { "type": "object", "description": "The person that committed the file. Default: the authenticated user.", "properties": { "date": { "type": "string", "example": "\"2013-01-05T13:13:22+05:00\"" }, "email": { "type": "string", "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." }, "name": { "type": "string", "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." } }, "required": ["name", "email"] }, "content": { "type": "string", "description": "The new file content, using Base64 encoding." }, "message": { "type": "string", "description": "The commit message." }, "sha": { "type": "string", "description": "**Required if you are updating a file**. The blob SHA of the file being replaced." } }, "required": ["message", "content"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"example-for-creating-a-file\": {\n \"summary\": \"Example for creating a file\",\n \"value\": {\n \"committer\": {\n \"email\": \"octocat@github.com\",\n \"name\": \"Monalisa Octocat\"\n },\n \"content\": \"bXkgbmV3IGZpbGUgY29udGVudHM=\",\n \"message\": \"my commit message\"\n }\n },\n \"example-for-updating-a-file\": {\n \"summary\": \"Example for updating a file\",\n \"value\": {\n \"committer\": {\n \"email\": \"octocat@github.com\",\n \"name\": \"Monalisa Octocat\"\n },\n \"content\": \"bXkgdXBkYXRlZCBmaWxlIGNvbnRlbnRz\",\n \"message\": \"a new commit message\",\n \"sha\": \"95b966ae1c166bd92f8ae7d1c313e738c731dfc3\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"author\": {\n \"description\": \"The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.\",\n \"properties\": {\n \"date\": {\n \"example\": \"\\\"2013-01-15T17:13:22+05:00\\\"\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"email\"\n ],\n \"type\": \"object\"\n },\n \"branch\": {\n \"description\": \"The branch name. Default: the repository\\u2019s default branch (usually `master`)\",\n \"type\": \"string\"\n },\n \"committer\": {\n \"description\": \"The person that committed the file. Default: the authenticated user.\",\n \"properties\": {\n \"date\": {\n \"example\": \"\\\"2013-01-05T13:13:22+05:00\\\"\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"email\"\n ],\n \"type\": \"object\"\n },\n \"content\": {\n \"description\": \"The new file content, using Base64 encoding.\",\n \"type\": \"string\"\n },\n \"message\": {\n \"description\": \"The commit message.\",\n \"type\": \"string\"\n },\n \"sha\": {\n \"description\": \"**Required if you are updating a file**. The blob SHA of the file being replaced.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"message\",\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/list-contributors", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_contributors", "description": { "tagline": "Retrieve contributors for a specific GitHub repository.", "detailed": "This tool lists contributors to a specified GitHub repository, sorted by the number of commits in descending order. It captures contributions by GitHub user, including associated email addresses, but may include anonymous contributors without GitHub user details due to performance optimization limits." }, "return_annotation": "List of contributors for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "include_anonymous_contributors", "alternative_names": ["include_anon_contributors", "show_anonymous_contributors"], "description": "Set to `1` or `true` to include anonymous contributors in the results.", "endpoint_argument_name": "anon" }, { "name": "results_per_page", "alternative_names": ["per_page_count", "results_limit"], "description": "The number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["contributors_page_number", "page_number_of_results"], "description": "Specifies the page number of contributors to fetch. Use this to navigate through paginated results. Each page contains a subset of contributors, with 'per_page' controlling the number of contributors per page.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/contributors", "tags": ["repos"], "summary": "List repository contributors", "description": "Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance.\n\nGitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "anon", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Set to `1` or `true` to include anonymous contributors in results." }, "description": "Set to `1` or `true` to include anonymous contributors in results.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/list-alerts-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_dependabot_alerts_for_repo", "description": { "tagline": "Retrieve Dependabot alerts for a specific repository.", "detailed": "Use this tool to get a list of Dependabot alerts for a given GitHub repository. It requires an access token with `security_events` scope for private repositories or `public_repo` scope for public repositories. Ideal for monitoring security vulnerabilities in repositories." }, "return_annotation": "Details of Dependabot alerts for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_states_filter", "alternative_names": ["state_filter", "alert_states"], "description": "A comma-separated list of alert states to filter results by. Options: `dismissed`, `fixed`, `open`.", "endpoint_argument_name": "state" }, { "name": "severity_filter", "alternative_names": ["alert_severities", "severity_levels"], "description": "Provide a comma-separated list of severities: `low`, `medium`, `high`, `critical`. Filters alerts by these severities.", "endpoint_argument_name": "severity" }, { "name": "ecosystem_filter", "alternative_names": ["ecosystem_selection", "filter_by_ecosystem"], "description": "Comma-separated list of ecosystems to filter alerts by: composer, go, maven, npm, nuget, pip, pub, rubygems, rust.", "endpoint_argument_name": "ecosystem" }, { "name": "package_names", "alternative_names": ["alert_packages", "dependency_packages"], "description": "A comma-separated list of package names. Only alerts for these packages will be returned.", "endpoint_argument_name": "package" }, { "name": "manifest_paths", "alternative_names": ["manifest_file_paths", "manifest_locations"], "description": "Comma-separated list of full manifest paths to filter alerts by those manifests.", "endpoint_argument_name": "manifest" }, { "name": "vulnerable_dependency_scope", "alternative_names": ["dependency_scope", "alert_scope"], "description": "Specifies the scope of the vulnerable dependency to filter alerts. Options: 'development' or 'runtime'.", "endpoint_argument_name": "scope" }, { "name": "sort_by", "alternative_names": ["sort_results_by", "order_by_property"], "description": "Sort alerts by `created` or `updated` date. `Created` means when the alert was created, `updated` means when the alert's state last changed.", "endpoint_argument_name": "sort" }, { "name": "sort_results_direction", "alternative_names": ["sorting_order", "results_sort_direction"], "description": "Specify the order to sort the results: `asc` for ascending or `desc` for descending.", "endpoint_argument_name": "direction" }, { "name": "deprecated_page_number", "alternative_names": ["legacy_page_number", "old_page_number"], "description": "**Deprecated**. Use to specify the page number of results to fetch. Prefer using `before` or `after` cursors.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["page_size", "max_results_per_page"], "description": "Specifies the number of results to be returned per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "before_cursor", "alternative_names": ["previous_page_cursor", "prior_cursor"], "description": "Cursor indicating the position to fetch results before this point.", "endpoint_argument_name": "before" }, { "name": "cursor_after", "alternative_names": ["after_cursor", "next_page_cursor"], "description": "A cursor to fetch results after a specified point. Helps in pagination by retrieving alerts following the given cursor position.", "endpoint_argument_name": "after" }, { "name": "fetch_deprecated_first_page_results", "alternative_names": [ "retrieve_first_page_results_deprecated", "get_first_page_deprecated" ], "description": "**Deprecated**. Number of results per page (max 100), starting from the first result. Avoid using with `last`. Use `per_page` and `after` instead.", "endpoint_argument_name": "first" }, { "name": "fetch_last_page_results", "alternative_names": ["retrieve_last_page_data", "get_last_page_information"], "description": "**Deprecated**: Use `per_page` with `before` instead. Fetch results per page from the last result (max 100).", "endpoint_argument_name": "last" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/dependabot/alerts", "tags": ["dependabot"], "summary": "List Dependabot alerts for a repository", "description": "You must use an access token with the `security_events` scope to use this endpoint with private repositories.\nYou can also use tokens with the `public_repo` scope for public repositories only.\nGitHub Apps must have **Dependabot alerts** read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of states. If specified, only alerts with these states will be returned.\n\nCan be: `dismissed`, `fixed`, `open`" }, "description": "A comma-separated list of states. If specified, only alerts with these states will be returned.\n\nCan be: `dismissed`, `fixed`, `open`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "severity", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of severities. If specified, only alerts with these severities will be returned.\n\nCan be: `low`, `medium`, `high`, `critical`" }, "description": "A comma-separated list of severities. If specified, only alerts with these severities will be returned.\n\nCan be: `low`, `medium`, `high`, `critical`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ecosystem", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned.\n\nCan be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`" }, "description": "A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned.\n\nCan be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "package", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of package names. If specified, only alerts for these packages will be returned." }, "description": "A comma-separated list of package names. If specified, only alerts for these packages will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "manifest", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned." }, "description": "A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "scope", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["development", "runtime"], "properties": null, "inner_properties": null, "description": "The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned." }, "description": "The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["development", "runtime"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property by which to sort the results.\n`created` means when the alert was created.\n`updated` means when the alert's state last changed." }, "description": "The property by which to sort the results.\n`created` means when the alert was created.\n`updated` means when the alert's state last changed.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead." }, "description": "**Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead.", "required": false, "deprecated": true, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": true, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results before this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for results after this cursor.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "first", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. The number of results per page (max 100), starting from the first matching result.\nThis parameter must not be used in combination with `last`.\nInstead, use `per_page` in combination with `after` to fetch the first page of results." }, "description": "**Deprecated**. The number of results per page (max 100), starting from the first matching result.\nThis parameter must not be used in combination with `last`.\nInstead, use `per_page` in combination with `after` to fetch the first page of results.", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer", "minimum": 1, "maximum": 100 }, "schema_required": false }, { "name": "last", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Deprecated**. The number of results per page (max 100), starting from the last matching result.\nThis parameter must not be used in combination with `first`.\nInstead, use `per_page` in combination with `before` to fetch the last page of results." }, "description": "**Deprecated**. The number of results per page (max 100), starting from the last matching result.\nThis parameter must not be used in combination with `first`.\nInstead, use `per_page` in combination with `before` to fetch the last page of results.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer", "minimum": 1, "maximum": 100 }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/get-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_dependabot_alert", "description": { "tagline": "Retrieve details of a specific Dependabot alert.", "detailed": "Use this tool to get information about a specific Dependabot alert in a GitHub repository. Applicable for both private and public repositories, depending on token scope." }, "return_annotation": "Details of a specific Dependabot alert.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "dependabot_alert_number", "alternative_names": ["alert_id", "dependabot_id"], "description": "The identifier number for the Dependabot alert in the repository. Obtainable from the alert URL or response from `GET /repos/{owner}/{repo}/dependabot/alerts`.", "endpoint_argument_name": "alert_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "tags": ["dependabot"], "summary": "Get a Dependabot alert", "description": "You must use an access token with the `security_events` scope to use this endpoint with private repositories.\nYou can also use tokens with the `public_repo` scope for public repositories only.\nGitHub Apps must have **Dependabot alerts** read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies a Dependabot alert in its repository.\nYou can find this at the end of the URL for a Dependabot alert within GitHub,\nor in `number` fields in the response from the\n`GET /repos/{owner}/{repo}/dependabot/alerts` operation." }, "description": "The number that identifies a Dependabot alert in its repository.\nYou can find this at the end of the URL for a Dependabot alert within GitHub,\nor in `number` fields in the response from the\n`GET /repos/{owner}/{repo}/dependabot/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/update-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_dependabot_alert", "description": { "tagline": "Update a GitHub Dependabot alert.", "detailed": "Use this tool to update a Dependabot alert in a GitHub repository. Requires an access token with `security_events` scope for private repositories or `public_repo` scope for public repositories. GitHub Apps need **Dependabot alerts** write permission." }, "return_annotation": "Confirms the update of a GitHub Dependabot alert.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to update. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_identifier", "alternative_names": ["dependabot_alert_number", "alert_id"], "description": "The unique number identifying a Dependabot alert in the repository. Find this at the end of the alert URL or in `number` fields from the `GET /repos/{owner}/{repo}/dependabot/alerts` response.", "endpoint_argument_name": "alert_number" }, { "name": "alert_state", "alternative_names": ["dependabot_alert_status", "alert_status"], "description": "Specifies the state of the Dependabot alert. Use 'dismissed' to dismiss an alert and 'open' to keep it open. A 'dismissed_reason' is required when setting to 'dismissed'.", "endpoint_argument_name": "state" }, { "name": "dismissed_alert_comment", "alternative_names": ["alert_dismiss_comment", "comment_on_dismissal"], "description": "An optional comment to provide context when dismissing the alert.", "endpoint_argument_name": "dismissed_comment" }, { "name": "dismissed_reason_for_alert", "alternative_names": ["alert_dismissal_reason", "dependabot_alert_dismissed_reason"], "description": "Reason for dismissing the alert. Required if `state` is set to `dismissed`. Allowed values: 'fix_started', 'inaccurate', 'no_bandwidth', 'not_used', 'tolerable_risk'.", "endpoint_argument_name": "dismissed_reason" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "tags": ["dependabot"], "summary": "Update a Dependabot alert", "description": "You must use an access token with the `security_events` scope to use this endpoint with private repositories.\nYou can also use tokens with the `public_repo` scope for public repositories only.\nGitHub Apps must have **Dependabot alerts** write permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies a Dependabot alert in its repository.\nYou can find this at the end of the URL for a Dependabot alert within GitHub,\nor in `number` fields in the response from the\n`GET /repos/{owner}/{repo}/dependabot/alerts` operation." }, "description": "The number that identifies a Dependabot alert in its repository.\nYou can find this at the end of the URL for a Dependabot alert within GitHub,\nor in `number` fields in the response from the\n`GET /repos/{owner}/{repo}/dependabot/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "dismissed_comment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An optional comment associated with dismissing the alert." }, "description": "An optional comment associated with dismissing the alert.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "An optional comment associated with dismissing the alert." }, "schema_required": false }, { "name": "dismissed_reason", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"], "properties": null, "inner_properties": null, "description": "**Required when `state` is `dismissed`.** A reason for dismissing the alert." }, "description": "**Required when `state` is `dismissed`.** A reason for dismissing the alert.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "**Required when `state` is `dismissed`.** A reason for dismissing the alert.", "enum": ["fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["dismissed", "open"], "properties": null, "inner_properties": null, "description": "The state of the Dependabot alert.\nA `dismissed_reason` must be provided when setting the state to `dismissed`." }, "description": "The state of the Dependabot alert.\nA `dismissed_reason` must be provided when setting the state to `dismissed`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of the Dependabot alert.\nA `dismissed_reason` must be provided when setting the state to `dismissed`.", "enum": ["dismissed", "open"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"dismissed_comment\": \"This alert is accurate but we use a sanitizer.\",\n \"dismissed_reason\": \"tolerable_risk\",\n \"state\": \"dismissed\"\n }\n }\n },\n \"schema\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"dismissed_comment\": {\n \"description\": \"An optional comment associated with dismissing the alert.\",\n \"maxLength\": 280,\n \"type\": \"string\"\n },\n \"dismissed_reason\": {\n \"description\": \"**Required when `state` is `dismissed`.** A reason for dismissing the alert.\",\n \"enum\": [\n \"fix_started\",\n \"inaccurate\",\n \"no_bandwidth\",\n \"not_used\",\n \"tolerable_risk\"\n ],\n \"type\": \"string\"\n },\n \"state\": {\n \"description\": \"The state of the Dependabot alert.\\nA `dismissed_reason` must be provided when setting the state to `dismissed`.\",\n \"enum\": [\n \"dismissed\",\n \"open\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"state\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "dependabot/list-repo-secrets", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_git_repo_secrets", "description": { "tagline": "Retrieve a list of secrets in a GitHub repository.", "detailed": "This tool lists all secrets available in a specified GitHub repository without revealing their encrypted values. It requires authentication with an access token with the 'repo' scope or GitHub Apps permission 'dependabot_secrets'." }, "return_annotation": "List of secrets available in the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "secrets_per_page"], "description": "The number of secret results to display per page, maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specifies the page number of results to retrieve from the repository secrets list.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/dependabot/secrets", "tags": ["dependabot"], "summary": "List repository secrets", "description": "Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/get-repo-public-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repo_public_key", "description": { "tagline": "Retrieve the public key for encrypting repository secrets.", "detailed": "Use this tool to obtain the public key needed for encrypting secrets before creating or updating them in a GitHub repository. It can be accessed by anyone with read access to the repository. For private repositories, an access token with the `repo` scope is required. GitHub Apps need the `dependabot_secrets` repository permission." }, "return_annotation": "Provides the public key for encrypting secrets in a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/dependabot/secrets/public-key", "tags": ["dependabot"], "summary": "Get a repository public key", "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/delete-repo-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_github_repo_secret", "description": { "tagline": "Delete a secret from a GitHub repository.", "detailed": "Use this tool to delete a specific secret from a GitHub repository's dependabot configuration. Requires authentication with an access token with the 'repo' scope, or GitHub Apps with 'dependabot_secrets' repository permission." }, "return_annotation": "Confirmation of deleted repository secret.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "secret_name", "alternative_names": ["repository_secret_name", "config_secret_name"], "description": "The name of the secret to be deleted from the repository.", "endpoint_argument_name": "secret_name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "tags": ["dependabot"], "summary": "Delete a repository secret", "description": "Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/get-repo-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_secret_info", "description": { "tagline": "Retrieve metadata of a repository secret from GitHub.", "detailed": "Fetches information about a specific repository secret using GitHub's Dependabot API. It provides metadata without revealing the secret's encrypted value. Requires an authenticated access token with proper permissions." }, "return_annotation": "Repository secret metadata without the encrypted value.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_holder"], "description": "The GitHub account owner of the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "secret_name", "alternative_names": ["dependabot_secret_name", "repository_secret_name"], "description": "The name of the secret to retrieve metadata for. Case insensitive.", "endpoint_argument_name": "secret_name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "tags": ["dependabot"], "summary": "Get a repository secret", "description": "Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependabot/create-or-update-repo-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "manage_github_repo_secret", "description": { "tagline": "Create or update an encrypted GitHub repository secret.", "detailed": "Use this tool to create or update an encrypted secret for a GitHub repository. Authentication requires a token with the `repo` scope or `dependabot_secrets` permission. The secret must be encrypted using LibSodium." }, "return_annotation": "Confirmation of creation or update of a repository secret.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive. Specify the GitHub username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_title"], "description": "The name of the repository secret to create or update. Case insensitive.", "endpoint_argument_name": "secret_name" }, { "name": "encrypted_secret_value", "alternative_names": ["encrypted_value_for_secret", "secret_encrypted_value"], "description": "The secret's value encrypted using LibSodium and a public key from the repository's public key endpoint.", "endpoint_argument_name": "encrypted_value" }, { "name": "encryption_key_id", "alternative_names": ["key_encryption_id", "secret_key_id"], "description": "The ID of the key used to encrypt the secret. This key is retrieved from GitHub's repository public key endpoint.", "endpoint_argument_name": "key_id" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "tags": ["dependabot"], "summary": "Create or update a repository secret", "description": "Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository\npermission to use this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library.\n\n```\nconst sodium = require('libsodium-wrappers')\nconst secret = 'plain-text-secret' // replace with the secret you want to encrypt\nconst key = 'base64-encoded-public-key' // replace with the Base64 encoded public key\n\n//Check if libsodium is ready and then proceed.\nsodium.ready.then(() => {\n // Convert Secret & Base64 key to Uint8Array.\n let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL)\n let binsec = sodium.from_string(secret)\n\n //Encrypt the secret using LibSodium\n let encBytes = sodium.crypto_box_seal(binsec, binkey)\n\n // Convert encrypted Uint8Array to Base64\n let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL)\n\n console.log(output)\n});\n```\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "encrypted_value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-a-repository-public-key) endpoint." }, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-a-repository-public-key) endpoint.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-a-repository-public-key) endpoint.", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" }, "schema_required": false }, { "name": "key_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ID of the key you used to encrypt the secret." }, "description": "ID of the key you used to encrypt the secret.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "ID of the key you used to encrypt the secret." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"encrypted_value\": \"c2VjcmV0\",\n \"key_id\": \"012345678912345678\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"encrypted_value\": {\n \"description\": \"Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/enterprise-server@3.8/rest/reference/dependabot#get-a-repository-public-key) endpoint.\",\n \"pattern\": \"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\",\n \"type\": \"string\"\n },\n \"key_id\": {\n \"description\": \"ID of the key you used to encrypt the secret.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "dependency-graph/diff-range", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "compare_dependency_changes", "description": { "tagline": "Get dependency changes between two commits of a repository.", "detailed": "Use this tool to retrieve a diff of dependency changes based on updates to dependency manifests between two specified commits in a GitHub repository. It is useful for understanding what dependencies have been added, removed, or updated." }, "return_annotation": "Provides the dependency changes between two commits for a repository.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repository_account_owner", "repo_owner_name"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to compare. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "base_and_head_commit_specification", "alternative_names": ["git_revision_comparison", "commit_range_specification"], "description": "Specify the base and head commits in the format `{base}...{head}` for comparison.", "endpoint_argument_name": "basehead" }, { "name": "dependency_manifest_file_path", "alternative_names": ["manifest_file_path", "dependency_file_path"], "description": "The full path, relative to the repository root, of the dependency manifest file.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "tags": ["dependency-graph"], "summary": "Get a diff of the dependencies between commits", "description": "Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full path, relative to the repository root, of the dependency manifest file." }, "description": "The full path, relative to the repository root, of the dependency manifest file.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "basehead", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`." }, "description": "The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "dependency-graph/create-repository-snapshot", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_repo_dependency_snapshot", "description": { "tagline": "Create a snapshot of a repository's dependencies.", "detailed": "This tool creates a new snapshot of a GitHub repository's dependencies. It requires authentication with an access token that has the `repo` scope. Use this tool to capture the current state of a repository's dependencies for analysis or auditing." }, "return_annotation": "Details of the created dependency snapshot.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository to create a dependency snapshot for. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "snapshot_details", "alternative_names": ["repository_snapshot_data", "dependency_snapshot_info"], "description": "The JSON object containing details of the snapshot, including detector info, job data, manifests, metadata, ref, scanned time, SHA, and version.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/dependency-graph/snapshots", "tags": ["dependency-graph"], "summary": "Create a snapshot of dependencies for a repository", "description": "Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "detector": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the detector used." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The url of the detector used." }, "version": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The version of the detector used." } }, "inner_properties": null, "description": "A description of the detector used." }, "job": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "correlator": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Correlator provides a key that is used to group snapshots submitted over time. Only the \"latest\" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given \"wave\" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation." }, "html_url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The url for the job." }, "id": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The external ID of the job." } }, "inner_properties": null, "description": null }, "manifests": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies." }, "metadata": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "User-defined metadata to store domain-specific information limited to 8 keys with scalar values." }, "ref": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The repository branch that triggered this snapshot." }, "scanned": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The time at which the snapshot was scanned." }, "sha": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The commit SHA associated with this dependency snapshot. Maximum length: 40 characters." }, "version": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The version of the repository snapshot submission." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "title": "snapshot", "description": "Create a new snapshot of a repository's dependencies.", "properties": { "detector": { "type": "object", "description": "A description of the detector used.", "properties": { "name": { "type": "string", "description": "The name of the detector used.", "example": "docker buildtime detector" }, "url": { "type": "string", "description": "The url of the detector used.", "example": "http://example.com/docker-buildtimer-detector" }, "version": { "type": "string", "description": "The version of the detector used.", "example": "1.0.0" } }, "required": ["name", "version", "url"], "additionalProperties": false }, "job": { "type": "object", "properties": { "correlator": { "type": "string", "description": "Correlator provides a key that is used to group snapshots submitted over time. Only the \"latest\" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given \"wave\" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation.", "example": "yourworkflowname_yourjobname" }, "html_url": { "type": "string", "description": "The url for the job.", "example": "http://example.com/build" }, "id": { "type": "string", "description": "The external ID of the job.", "example": "5622a2b0-63f6-4732-8c34-a1ab27e102a11" } }, "required": ["id", "correlator"], "additionalProperties": false }, "manifests": { "type": "object", "description": "A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies.", "properties": {}, "additionalProperties": { "additionalProperties": false, "properties": { "file": { "additionalProperties": false, "properties": { "source_location": { "description": "The path of the manifest file relative to the root of the Git repository.", "example": "/src/build/package-lock.json", "type": "string" } }, "type": "object" }, "metadata": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ], "nullable": true }, "description": "User-defined metadata to store domain-specific information limited to 8 keys with scalar values.", "maxProperties": 8, "title": "metadata", "type": "object" }, "name": { "description": "The name of the manifest.", "example": "package-lock.json", "type": "string" }, "resolved": { "additionalProperties": { "additionalProperties": false, "properties": { "dependencies": { "description": "Array of package-url (PURLs) of direct child dependencies.", "example": "@actions/http-client", "items": { "type": "string" }, "type": "array" }, "metadata": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ], "nullable": true }, "description": "User-defined metadata to store domain-specific information limited to 8 keys with scalar values.", "maxProperties": 8, "title": "metadata", "type": "object" }, "package_url": { "description": "Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details.", "example": "pkg:/npm/%40actions/http-client@1.0.11", "pattern": "^pkg", "type": "string" }, "relationship": { "description": "A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency.", "enum": ["direct", "indirect"], "example": "direct", "type": "string" }, "scope": { "description": "A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes.", "enum": ["runtime", "development"], "example": "runtime", "type": "string" } }, "type": "object" }, "description": "A collection of resolved package dependencies.", "type": "object" } }, "required": ["name"], "type": "object" } }, "metadata": { "type": "object", "title": "metadata", "description": "User-defined metadata to store domain-specific information limited to 8 keys with scalar values.", "properties": {}, "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ], "nullable": true } }, "ref": { "type": "string", "description": "The repository branch that triggered this snapshot.", "example": "refs/heads/main", "pattern": "^refs/" }, "scanned": { "type": "string", "description": "The time at which the snapshot was scanned.", "format": "date-time", "example": "2020-06-13T14:52:50-05:00" }, "sha": { "type": "string", "description": "The commit SHA associated with this dependency snapshot. Maximum length: 40 characters.", "example": "ddc951f4b1293222421f2c8df679786153acf689" }, "version": { "type": "integer", "description": "The version of the repository snapshot submission." } }, "required": ["detector", "version", "ref", "sha", "job", "scanned"], "additionalProperties": false }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"example-of-a-dependency-submission\": {\n \"$ref\": \"#/components/examples/dependency-graph-create-snapshot-request\"\n }\n },\n \"schema\": {\n \"additionalProperties\": false,\n \"description\": \"Create a new snapshot of a repository's dependencies.\",\n \"properties\": {\n \"detector\": {\n \"additionalProperties\": false,\n \"description\": \"A description of the detector used.\",\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the detector used.\",\n \"example\": \"docker buildtime detector\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The url of the detector used.\",\n \"example\": \"http://example.com/docker-buildtimer-detector\",\n \"type\": \"string\"\n },\n \"version\": {\n \"description\": \"The version of the detector used.\",\n \"example\": \"1.0.0\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\",\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"job\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"correlator\": {\n \"description\": \"Correlator provides a key that is used to group snapshots submitted over time. Only the \\\"latest\\\" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given \\\"wave\\\" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation.\",\n \"example\": \"yourworkflowname_yourjobname\",\n \"type\": \"string\"\n },\n \"html_url\": {\n \"description\": \"The url for the job.\",\n \"example\": \"http://example.com/build\",\n \"type\": \"string\"\n },\n \"id\": {\n \"description\": \"The external ID of the job.\",\n \"example\": \"5622a2b0-63f6-4732-8c34-a1ab27e102a11\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"correlator\"\n ],\n \"type\": \"object\"\n },\n \"manifests\": {\n \"additionalProperties\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"file\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"source_location\": {\n \"description\": \"The path of the manifest file relative to the root of the Git repository.\",\n \"example\": \"/src/build/package-lock.json\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"metadata\": {\n \"additionalProperties\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"boolean\"\n }\n ],\n \"nullable\": true\n },\n \"description\": \"User-defined metadata to store domain-specific information limited to 8 keys with scalar values.\",\n \"maxProperties\": 8,\n \"title\": \"metadata\",\n \"type\": \"object\"\n },\n \"name\": {\n \"description\": \"The name of the manifest.\",\n \"example\": \"package-lock.json\",\n \"type\": \"string\"\n },\n \"resolved\": {\n \"additionalProperties\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"dependencies\": {\n \"description\": \"Array of package-url (PURLs) of direct child dependencies.\",\n \"example\": \"@actions/http-client\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"metadata\": {\n \"additionalProperties\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"boolean\"\n }\n ],\n \"nullable\": true\n },\n \"description\": \"User-defined metadata to store domain-specific information limited to 8 keys with scalar values.\",\n \"maxProperties\": 8,\n \"title\": \"metadata\",\n \"type\": \"object\"\n },\n \"package_url\": {\n \"description\": \"Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details.\",\n \"example\": \"pkg:/npm/%40actions/http-client@1.0.11\",\n \"pattern\": \"^pkg\",\n \"type\": \"string\"\n },\n \"relationship\": {\n \"description\": \"A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency.\",\n \"enum\": [\n \"direct\",\n \"indirect\"\n ],\n \"example\": \"direct\",\n \"type\": \"string\"\n },\n \"scope\": {\n \"description\": \"A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes.\",\n \"enum\": [\n \"runtime\",\n \"development\"\n ],\n \"example\": \"runtime\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"description\": \"A collection of resolved package dependencies.\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"description\": \"A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies.\",\n \"type\": \"object\"\n },\n \"metadata\": {\n \"additionalProperties\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"boolean\"\n }\n ],\n \"nullable\": true\n },\n \"description\": \"User-defined metadata to store domain-specific information limited to 8 keys with scalar values.\",\n \"maxProperties\": 8,\n \"title\": \"metadata\",\n \"type\": \"object\"\n },\n \"ref\": {\n \"description\": \"The repository branch that triggered this snapshot.\",\n \"example\": \"refs/heads/main\",\n \"pattern\": \"^refs/\",\n \"type\": \"string\"\n },\n \"scanned\": {\n \"description\": \"The time at which the snapshot was scanned.\",\n \"example\": \"2020-06-13T14:52:50-05:00\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"sha\": {\n \"description\": \"The commit SHA associated with this dependency snapshot. Maximum length: 40 characters.\",\n \"example\": \"ddc951f4b1293222421f2c8df679786153acf689\",\n \"maxLength\": 40,\n \"minLength\": 40,\n \"type\": \"string\"\n },\n \"version\": {\n \"description\": \"The version of the repository snapshot submission.\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"detector\",\n \"version\",\n \"ref\",\n \"sha\",\n \"job\",\n \"scanned\"\n ],\n \"title\": \"snapshot\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/list-deployments", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_deployments", "description": { "tagline": "Retrieve deployments from a GitHub repository.", "detailed": "Use this tool to retrieve a list of deployments for a specific GitHub repository, with filtering options available through query parameters." }, "return_annotation": "List of deployments for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_admin"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["sha_hash", "commit_hash"], "description": "The commit SHA recorded at deployment creation time for filtering deployments.", "endpoint_argument_name": "sha" }, { "name": "repository_ref", "alternative_names": ["branch_or_tag_name", "commit_sha"], "description": "The name of the ref. This can be a branch, tag, or SHA to filter deployments by.", "endpoint_argument_name": "ref" }, { "name": "deployment_task_name", "alternative_names": ["task_for_deployment", "deployment_task"], "description": "The specific task name for the deployment, like `deploy` or `deploy:migrations`.", "endpoint_argument_name": "task" }, { "name": "deployment_environment", "alternative_names": ["environment_name", "deployment_env"], "description": "Specify the environment that was deployed to, such as 'staging' or 'production'.", "endpoint_argument_name": "environment" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "page_index"], "description": "Specifies which page of deployment results to fetch. Used for pagination to navigate through multiple pages of results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/deployments", "tags": ["repos"], "summary": "List deployments", "description": "Simple filtering of deployments is available via query parameters:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA recorded at creation time." }, "description": "The SHA recorded at creation time.", "required": false, "deprecated": false, "default": "none", "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the ref. This can be a branch, tag, or SHA." }, "description": "The name of the ref. This can be a branch, tag, or SHA.", "required": false, "deprecated": false, "default": "none", "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "task", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`)." }, "description": "The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`).", "required": false, "deprecated": false, "default": "none", "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment that was deployed to (e.g., `staging` or `production`)." }, "description": "The name of the environment that was deployed to (e.g., `staging` or `production`).", "required": false, "deprecated": false, "default": "none", "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-deployment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_deployment", "description": { "tagline": "Create a GitHub deployment for a specified repository ref.", "detailed": "Use this tool to create deployments for a specific branch, tag, or SHA in a GitHub repository. Configure parameters like environment, auto-merge, and required contexts. Suitable for deploying to production, staging, or testing environments." }, "return_annotation": "Details about the deployment creation status and response information.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This input is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_identifier", "repository_id"], "description": "The name of the repository to deploy. Not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "deployment_configuration", "alternative_names": ["deploy_config", "deployment_settings"], "description": "JSON configuration for deployment, including parameters like `auto_merge`, `environment`, and `ref`. It supports options like `description`, `payload`, and context checks with `required_contexts`.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/deployments", "tags": ["repos"], "summary": "Create a deployment", "description": "Deployments offer a few configurable parameters with certain defaults.\n\nThe `ref` parameter can be any named branch, tag, or SHA. At GitHub Enterprise Server we often deploy branches and verify them\nbefore we merge a pull request.\n\nThe `environment` parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is `production`.\n\nThe `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.\n\nBy default, [commit statuses](https://docs.github.com/enterprise-server@3.8/rest/commits/statuses) for every submitted context must be in a `success`\nstate. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.\n\nThe `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.\n\nThe `task` parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.\n\nUsers with `repo` or `repo_deployment` scopes can create a deployment for a given ref.\n\n#### Merged branch response\nYou will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:\n* Auto-merge option is enabled in the repository\n* Topic branch does not include the latest changes on the base branch, which is `master` in the response example\n* There are no merge conflicts\n\nIf there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.\n\n#### Merge conflict response\nThis error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't\nbe merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts.\n\n#### Failed commit status checks\nThis error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success`\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of `success`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "auto_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch." }, "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Short description of the deployment." }, "environment": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name for the target deployment environment (e.g., `production`, `staging`, `qa`)." }, "payload": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "production_environment": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise." }, "ref": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ref to deploy. This can be a branch, tag, or SHA." }, "required_contexts": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The [status](https://docs.github.com/enterprise-server@3.8/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts." }, "task": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies a task to execute (e.g., `deploy` or `deploy:migrations`)." }, "transient_environment": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false`" } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "auto_merge": { "type": "boolean", "description": "Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch." }, "description": { "type": "string", "description": "Short description of the deployment." }, "environment": { "type": "string", "description": "Name for the target deployment environment (e.g., `production`, `staging`, `qa`)." }, "payload": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": {}, "additionalProperties": true }, { "type": "string", "description": "JSON payload with extra information about the deployment." } ] }, "production_environment": { "type": "boolean", "description": "Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise." }, "ref": { "type": "string", "description": "The ref to deploy. This can be a branch, tag, or SHA." }, "required_contexts": { "type": "array", "description": "The [status](https://docs.github.com/enterprise-server@3.8/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts.", "items": { "type": "string" } }, "task": { "type": "string", "description": "Specifies a task to execute (e.g., `deploy` or `deploy:migrations`)." }, "transient_environment": { "type": "boolean", "description": "Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false`" } }, "required": ["ref"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"advanced-example\": {\n \"summary\": \"Advanced example\",\n \"value\": {\n \"auto_merge\": false,\n \"description\": \"Deploy request from hubot\",\n \"payload\": \"{ \\\"deploy\\\": \\\"migrate\\\" }\",\n \"ref\": \"topic-branch\",\n \"required_contexts\": [\n \"ci/janky\",\n \"security/brakeman\"\n ]\n }\n },\n \"simple-example\": {\n \"summary\": \"Simple example\",\n \"value\": {\n \"description\": \"Deploy request from hubot\",\n \"payload\": \"{ \\\"deploy\\\": \\\"migrate\\\" }\",\n \"ref\": \"topic-branch\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"auto_merge\": {\n \"default\": true,\n \"description\": \"Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch.\",\n \"type\": \"boolean\"\n },\n \"description\": {\n \"default\": \"\",\n \"description\": \"Short description of the deployment.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"environment\": {\n \"default\": \"production\",\n \"description\": \"Name for the target deployment environment (e.g., `production`, `staging`, `qa`).\",\n \"type\": \"string\"\n },\n \"payload\": {\n \"oneOf\": [\n {\n \"additionalProperties\": true,\n \"type\": \"object\"\n },\n {\n \"default\": \"\",\n \"description\": \"JSON payload with extra information about the deployment.\",\n \"type\": \"string\"\n }\n ]\n },\n \"production_environment\": {\n \"description\": \"Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise.\",\n \"type\": \"boolean\"\n },\n \"ref\": {\n \"description\": \"The ref to deploy. This can be a branch, tag, or SHA.\",\n \"type\": \"string\"\n },\n \"required_contexts\": {\n \"description\": \"The [status](https://docs.github.com/enterprise-server@3.8/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"task\": {\n \"default\": \"deploy\",\n \"description\": \"Specifies a task to execute (e.g., `deploy` or `deploy:migrations`).\",\n \"type\": \"string\"\n },\n \"transient_environment\": {\n \"default\": false,\n \"description\": \"Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false`\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"ref\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/delete-deployment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_deployment", "description": { "tagline": "Delete a GitHub repository deployment.", "detailed": "Deletes a deployment from a GitHub repository. If there's only one deployment, it can be deleted regardless of status. If multiple deployments exist, only inactive ones can be deleted. Ideal for users with `repo` or `repo_deployment` scopes managing deployments." }, "return_annotation": "Information about the deleted GitHub deployment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "deployment_id", "alternative_names": ["deployment_identifier", "id_of_deployment"], "description": "The unique identifier of the GitHub deployment to be deleted. This should be an integer.", "endpoint_argument_name": "deployment_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/deployments/{deployment_id}", "tags": ["repos"], "summary": "Delete a deployment", "description": "If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment.\n\nTo set a deployment as inactive, you must:\n\n* Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.\n* Mark the active deployment as inactive by adding any non-successful deployment status.\n\nFor more information, see \"[Create a deployment](https://docs.github.com/enterprise-server@3.8/rest/deployments/deployments/#create-a-deployment)\" and \"[Create a deployment status](https://docs.github.com/enterprise-server@3.8/rest/deployments/deployment-statuses#create-a-deployment-status).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "deployment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "deployment_id parameter" }, "description": "deployment_id parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-deployment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_deployment_status", "description": { "tagline": "Retrieve details of a specific GitHub deployment.", "detailed": "Call this tool to get information about a particular deployment in a GitHub repository, including its status and other related details." }, "return_annotation": "Details of a specific GitHub deployment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "deployment_id", "alternative_names": ["deployment_identifier", "deployment_number"], "description": "The unique identifier for the deployment to retrieve details about.", "endpoint_argument_name": "deployment_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/deployments/{deployment_id}", "tags": ["repos"], "summary": "Get a deployment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "deployment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "deployment_id parameter" }, "description": "deployment_id parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-deployment-statuses", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_deployment_statuses", "description": { "tagline": "Retrieve deployment statuses for a specified GitHub deployment.", "detailed": "This tool is used to access and list the deployment statuses for a specific deployment on GitHub. It should be called when there is a need to review the status updates related to a deployment, and is accessible to users with pull access on the repository." }, "return_annotation": "A list of deployment statuses for a given deployment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization that owns the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The case-insensitive name of the GitHub repository.", "endpoint_argument_name": "repo" }, { "name": "deployment_id", "alternative_names": ["deployment_identifier", "deployment_key"], "description": "The unique identifier of the deployment to retrieve statuses for. Must be an integer.", "endpoint_argument_name": "deployment_id" }, { "name": "results_per_page", "alternative_names": ["results_count_per_page", "max_results_per_page"], "description": "The number of results to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "results_fetch_page"], "description": "The specific page number of deployment statuses to fetch. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "tags": ["repos"], "summary": "List deployment statuses", "description": "Users with pull access can view deployment statuses for a deployment:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "deployment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "deployment_id parameter" }, "description": "deployment_id parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-deployment-status", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_deployment_status", "description": { "tagline": "Create deployment statuses for a GitHub deployment.", "detailed": "This tool allows users with appropriate permissions to create deployment statuses on GitHub for a specific deployment. It requires push access for users, and specific access scopes for GitHub and OAuth Apps. Use this tool to update the status of your deployments directly within GitHub repositories." }, "return_annotation": "A confirmation of the created deployment status on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case insensitive.", "endpoint_argument_name": "repo" }, { "name": "deployment_id", "alternative_names": ["deployment_identifier", "deploy_id"], "description": "The unique identifier for the deployment. This integer value specifies which deployment the status will be associated with.", "endpoint_argument_name": "deployment_id" }, { "name": "deployment_status_state", "alternative_names": ["status_state", "deployment_state"], "description": "The desired state of the deployment status. Options include: 'error', 'failure', 'inactive', 'in_progress', 'queued', 'pending', 'success'.", "endpoint_argument_name": "state" }, { "name": "status_description", "alternative_names": ["deployment_status_description", "github_status_description"], "description": "A brief description of the deployment status, up to 140 characters.", "endpoint_argument_name": "description" }, { "name": "deployment_environment", "alternative_names": ["target_environment", "deployment_env"], "description": "Specifies the target deployment environment, such as `production`, `staging`, or `qa`.", "endpoint_argument_name": "environment" }, { "name": "deployment_environment_url", "alternative_names": ["environment_access_url", "env_url"], "description": "Sets the URL for accessing your deployment environment. Defaults to an empty string if not provided.", "endpoint_argument_name": "environment_url" }, { "name": "deployment_output_url", "alternative_names": ["deployment_log_url", "deployment_target_url"], "description": "The full URL of the deployment's output. It replaces `target_url` and automatically sets `target_url` to the same value. Recommended for output logs.", "endpoint_argument_name": "log_url" }, { "name": "deployment_status_target_url", "alternative_names": ["deployment_status_url", "status_associated_url"], "description": "Specify the URL containing output related to the deployment status. Note that it's recommended to use `log_url` instead, which replaces this parameter.", "endpoint_argument_name": "target_url" }, { "name": "add_inactive_status_to_previous_deployments", "alternative_names": [ "auto_inactive_status_enabled", "set_inactive_status_on_previous" ], "description": "Specifies if an 'inactive' status should be added to prior non-transient, non-production deployments with the same repository and environment. Defaults to true.", "endpoint_argument_name": "auto_inactive" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "tags": ["repos"], "summary": "Create a deployment status", "description": "Users with `push` access can create deployment statuses for a given deployment.\n\nGitHub Apps require `read & write` access to \"Deployments\" and `read-only` access to \"Repo contents\" (for private repos). OAuth Apps require the `repo_deployment` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "deployment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "deployment_id parameter" }, "description": "deployment_id parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "auto_inactive", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true`" }, "description": "Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true`", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true`" }, "schema_required": false }, { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the status. The maximum description length is 140 characters." }, "description": "A short description of the status. The maximum description length is 140 characters.", "required": false, "deprecated": false, "default": "", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A short description of the status. The maximum description length is 140 characters." }, "schema_required": false }, { "name": "environment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["production", "staging", "qa"], "properties": null, "inner_properties": null, "description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`." }, "description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`.", "enum": ["production", "staging", "qa"] }, "schema_required": false }, { "name": "environment_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Sets the URL for accessing your environment. Default: `\"\"`" }, "description": "Sets the URL for accessing your environment. Default: `\"\"`", "required": false, "deprecated": false, "default": "", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Sets the URL for accessing your environment. Default: `\"\"`" }, "schema_required": false }, { "name": "log_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"`" }, "description": "The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"`", "required": false, "deprecated": false, "default": "", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"`" }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": [ "error", "failure", "inactive", "in_progress", "queued", "pending", "success" ], "properties": null, "inner_properties": null, "description": "The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub." }, "description": "The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.", "enum": [ "error", "failure", "inactive", "in_progress", "queued", "pending", "success" ] }, "schema_required": true }, { "name": "target_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`." }, "description": "The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`.", "required": false, "deprecated": false, "default": "", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"Deployment finished successfully.\",\n \"environment\": \"production\",\n \"log_url\": \"https://example.com/deployment/42/output\",\n \"state\": \"success\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"auto_inactive\": {\n \"description\": \"Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true`\",\n \"type\": \"boolean\"\n },\n \"description\": {\n \"default\": \"\",\n \"description\": \"A short description of the status. The maximum description length is 140 characters.\",\n \"type\": \"string\"\n },\n \"environment\": {\n \"description\": \"Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`.\",\n \"enum\": [\n \"production\",\n \"staging\",\n \"qa\"\n ],\n \"type\": \"string\"\n },\n \"environment_url\": {\n \"default\": \"\",\n \"description\": \"Sets the URL for accessing your environment. Default: `\\\"\\\"`\",\n \"type\": \"string\"\n },\n \"log_url\": {\n \"default\": \"\",\n \"description\": \"The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\\\"\\\"`\",\n \"type\": \"string\"\n },\n \"state\": {\n \"description\": \"The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.\",\n \"enum\": [\n \"error\",\n \"failure\",\n \"inactive\",\n \"in_progress\",\n \"queued\",\n \"pending\",\n \"success\"\n ],\n \"type\": \"string\"\n },\n \"target_url\": {\n \"default\": \"\",\n \"description\": \"The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"state\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/get-deployment-status", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_deployment_status_github", "description": { "tagline": "Retrieve a deployment status from a GitHub repository.", "detailed": "Used to view detailed information about a specific deployment status for a deployment in a GitHub repository. Suitable for users with pull access." }, "return_annotation": "Deployment status details for a specified deployment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository (case-insensitive).", "endpoint_argument_name": "repo" }, { "name": "deployment_id", "alternative_names": ["deployment_identifier", "deployment_number"], "description": "The unique identifier of the deployment to retrieve the status for. Must be an integer.", "endpoint_argument_name": "deployment_id" }, { "name": "deployment_status_id", "alternative_names": ["status_identifier", "deployment_status_identifier"], "description": "The unique integer identifier for the deployment status in the GitHub repository.", "endpoint_argument_name": "status_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "tags": ["repos"], "summary": "Get a deployment status", "description": "Users with pull access can view a deployment status for a deployment:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "deployment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "deployment_id parameter" }, "description": "deployment_id parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "status_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-dispatch-event", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "trigger_github_dispatch_event", "description": { "tagline": "Triggers a GitHub repository dispatch event.", "detailed": "Use this tool to activate a webhook event called `repository_dispatch` to trigger a GitHub Actions workflow or GitHub App webhook. It requires write access to the repository via personal access tokens or GitHub App permissions. You can include additional data using `client_payload` to pass on extra information needed by your workflow." }, "return_annotation": "Confirms the dispatch event was successfully triggered on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "Specify the GitHub username or organization name that owns the repository. This is not case-sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_title"], "description": "The name of the repository. This is not case sensitive and determines which repository's dispatch event will be triggered.", "endpoint_argument_name": "repo" }, { "name": "dispatch_event_details", "alternative_names": ["webhook_event_payload", "repository_dispatch_data"], "description": "JSON object containing `event_type` and optional `client_payload` with extra info for the webhook. `event_type` is a custom name for the event, up to 100 characters. `client_payload` is a JSON with up to 10 properties for additional workflow data.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/dispatches", "tags": ["repos"], "summary": "Create a repository dispatch event", "description": "You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub Enterprise Server to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see \"[RepositoryDispatchEvent](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#repository_dispatch).\"\n\nThe `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow.\n\nThis endpoint requires write access to the repository by providing either:\n\n - Personal access tokens with `repo` scope. For more information, see \"[Creating a personal access token for the command line](https://docs.github.com/enterprise-server@3.8/articles/creating-a-personal-access-token-for-the-command-line)\" in the GitHub Help documentation.\n - GitHub Apps with both `metadata:read` and `contents:read&write` permissions.\n\nThis input example shows how you can use the `client_payload` as a test to debug your workflow.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "client_payload": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10." }, "event_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A custom webhook event name. Must be 100 characters or fewer." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "client_payload": { "type": "object", "description": "JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10.", "properties": {}, "additionalProperties": true }, "event_type": { "type": "string", "description": "A custom webhook event name. Must be 100 characters or fewer." } }, "required": ["event_type"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"client_payload\": {\n \"integration\": true,\n \"unit\": false\n },\n \"event_type\": \"on-demand-test\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"client_payload\": {\n \"additionalProperties\": true,\n \"description\": \"JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10.\",\n \"maxProperties\": 10,\n \"type\": \"object\"\n },\n \"event_type\": {\n \"description\": \"A custom webhook event name. Must be 100 characters or fewer.\",\n \"maxLength\": 100,\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"event_type\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/get-all-environments", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repository_environments", "description": { "tagline": "Retrieve environments for a GitHub repository.", "detailed": "Use this tool to list all environments associated with a specific GitHub repository. It requires read access to the repository. If the repository is private, ensure to use an access token with the necessary `repo` scope. This endpoint is also accessible to GitHub Apps with `actions:read` permission." }, "return_annotation": "Returns a list of environments for a specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the repository owner. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository to retrieve environments for. This name is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_items_per_page"], "description": "The number of results to retrieve per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The number of the page to retrieve for paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/environments", "tags": ["repos"], "summary": "List environments", "description": "Lists the environments for a repository.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-an-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_repo_environment", "description": { "tagline": "Deletes a specific environment in a GitHub repository.", "detailed": "Use this tool to delete an environment from a repository on GitHub. Authentication with a valid access token is required. Suitable when you need to remove obsolete or unused environments." }, "return_annotation": "Confirmation of environment deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This value is not case sensitive. Specify the GitHub username or organization handle that owns the repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["environment_id", "env_name"], "description": "The name of the GitHub repository environment to delete. This field is case insensitive.", "endpoint_argument_name": "environment_name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/environments/{environment_name}", "tags": ["repos"], "summary": "Delete an environment", "description": "You must authenticate using an access token with the repo scope to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_repo_environment_details", "description": { "tagline": "Retrieve details about a GitHub repository environment.", "detailed": "Use this tool to get information on a specified environment within a GitHub repository. This can be used by anyone with read access to the repository. Access tokens with the 'repo' scope are required for private repositories, and GitHub Apps need 'actions:read' permission." }, "return_annotation": "Details about a specific GitHub repository environment.", "arguments": [ { "name": "repository_owner_account_name", "alternative_names": ["repo_account_owner", "repository_owner_name"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository (not case sensitive).", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment_name"], "description": "The name of the environment to retrieve details for. It is case insensitive.", "endpoint_argument_name": "environment_name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/environments/{environment_name}", "tags": ["repos"], "summary": "Get an environment", "description": "**Note:** To get information about name patterns that branches must match in order to deploy to this environment, see \"[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy).\"\n\nAnyone with read access to the repository can use this endpoint. If the\nrepository is private, you must use an access token with the `repo` scope. GitHub\nApps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-or-update-environment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "github_manage_environment", "description": { "tagline": "Create or update a GitHub environment with protection rules.", "detailed": "Use this tool to create or update a GitHub environment, applying protection rules like required reviewers. Ensure you authenticate with an access token with the `repo` scope. GitHub Apps need `administration:write` permission for the repository." }, "return_annotation": "Information about the created or updated environment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["environment_identifier", "env_name"], "description": "The name of the GitHub environment to create or update. This should be a string that accurately identifies the environment within the repository.", "endpoint_argument_name": "environment_name" }, { "name": "environment_configuration", "alternative_names": ["environment_setup", "environment_settings"], "description": "JSON configuration for the environment, including deployment branch policy, reviewers, and wait timer. Use properties like 'deployment_branch_policy', 'reviewers', and 'wait_timer' to set specific rules.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/environments/{environment_name}", "tags": ["repos"], "summary": "Create or update an environment", "description": "Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see \"[Environments](/actions/reference/environments#environment-protection-rules).\"\n\n**Note:** To create or update name patterns that branches must match in order to deploy to this environment, see \"[Deployment branch policies](/rest/deployments/branch-policies).\"\n\n**Note:** To create or update secrets for an environment, see \"[Secrets](/rest/reference/actions#secrets).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "deployment_branch_policy": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "custom_branch_policies": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`." }, "protected_branches": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`." } }, "inner_properties": null, "description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`." }, "reviewers": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The id of the user or team who can review the deployment" }, "type": { "val_type": "string", "inner_val_type": null, "enum": ["User", "Team"], "properties": null, "inner_properties": null, "description": "The type of reviewer." } }, "description": "The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed." }, "wait_timer": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days)." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "deployment_branch_policy": { "type": "object", "description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.", "properties": { "custom_branch_policies": { "type": "boolean", "description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`." }, "protected_branches": { "type": "boolean", "description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`." } }, "required": ["protected_branches", "custom_branch_policies"] }, "reviewers": { "type": "array", "description": "The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "The id of the user or team who can review the deployment", "example": 4532992 }, "type": { "type": "string", "description": "The type of reviewer.", "enum": ["User", "Team"], "example": "User" } } } }, "wait_timer": { "type": "integer", "description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).", "example": 30 } }, "additionalProperties": false }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"deployment_branch_policy\": {\n \"custom_branch_policies\": true,\n \"protected_branches\": false\n },\n \"reviewers\": [\n {\n \"id\": 1,\n \"type\": \"User\"\n },\n {\n \"id\": 1,\n \"type\": \"Team\"\n }\n ],\n \"wait_timer\": 30\n }\n }\n },\n \"schema\": {\n \"additionalProperties\": false,\n \"nullable\": true,\n \"properties\": {\n \"deployment_branch_policy\": {\n \"description\": \"The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.\",\n \"nullable\": true,\n \"properties\": {\n \"custom_branch_policies\": {\n \"description\": \"Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`.\",\n \"type\": \"boolean\"\n },\n \"protected_branches\": {\n \"description\": \"Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`.\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"protected_branches\",\n \"custom_branch_policies\"\n ],\n \"type\": \"object\"\n },\n \"reviewers\": {\n \"description\": \"The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.\",\n \"items\": {\n \"properties\": {\n \"id\": {\n \"description\": \"The id of the user or team who can review the deployment\",\n \"example\": 4532992,\n \"type\": \"integer\"\n },\n \"type\": {\n \"description\": \"The type of reviewer.\",\n \"enum\": [\n \"User\",\n \"Team\"\n ],\n \"example\": \"User\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"nullable\": true,\n \"type\": \"array\"\n },\n \"wait_timer\": {\n \"description\": \"The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).\",\n \"example\": 30,\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/list-deployment-branch-policies", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_deployment_branch_policies", "description": { "tagline": "Lists deployment branch policies for a GitHub environment.", "detailed": "Use this tool to retrieve the branch policies associated with a specific environment in a GitHub repository. Accessible with read access; requires 'repo' scope for private repos." }, "return_annotation": "Deployment branch policies for a GitHub environment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Input is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment"], "description": "The name of the environment for which to list branch policies. This should match an existing environment in the repository.", "endpoint_argument_name": "environment_name" }, { "name": "results_per_page", "alternative_names": ["max_results_per_page", "items_per_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number_to_fetch", "pagination_page"], "description": "The page number of the results to retrieve. Use this to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "tags": ["repos"], "summary": "List deployment branch policies", "description": "Lists the deployment branch policies for an environment.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-deployment-branch-policy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_deployment_branch_policy", "description": { "tagline": "Creates a deployment branch policy for a GitHub environment.", "detailed": "This tool is used to create a deployment branch policy within a specified environment on GitHub. It requires authentication with a valid access token with the 'repo' scope or a GitHub App with 'administration:write' permission for the repository." }, "return_annotation": "Details of the created deployment branch policy for an environment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment"], "description": "The name of the environment for which to create a deployment branch policy.", "endpoint_argument_name": "environment_name" }, { "name": "branch_name_pattern", "alternative_names": ["branch_pattern_name", "deployment_branch_name"], "description": "A pattern that branches must match to deploy to the environment. Wildcard characters won't match '/'.", "endpoint_argument_name": "name" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "tags": ["repos"], "summary": "Create a deployment branch policy", "description": "Creates a deployment branch policy for an environment.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch)." }, "description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).", "example": "release/*" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"example-single-branch\": {\n \"summary\": \"Example of a single branch name pattern\",\n \"value\": {\n \"name\": \"main\"\n }\n },\n \"example-wildcard\": {\n \"summary\": \"Example of a wildcard name pattern\",\n \"value\": {\n \"name\": \"release/*\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name pattern that branches must match in order to deploy to the environment.\\n\\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).\",\n \"example\": \"release/*\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"title\": \"Deployment branch policy name pattern\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/delete-deployment-branch-policy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_deployment_branch_policy", "description": { "tagline": "Delete a deployment branch policy for a GitHub environment.", "detailed": "Use this tool to delete a deployment branch policy in a specified environment on GitHub. Authentication with a token having `repo` scope is required, or GitHub Apps must have `administration:write` permission." }, "return_annotation": "Confirmation of branch policy deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "git_repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment"], "description": "The name of the GitHub environment for which the deployment branch policy will be deleted.", "endpoint_argument_name": "environment_name" }, { "name": "branch_policy_identifier", "alternative_names": ["branch_id", "policy_id"], "description": "The unique identifier of the branch policy to be deleted.", "endpoint_argument_name": "branch_policy_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "tags": ["repos"], "summary": "Delete a deployment branch policy", "description": "Deletes a deployment branch policy for an environment.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch_policy_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the branch policy." }, "description": "The unique identifier of the branch policy.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-deployment-branch-policy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_deployment_branch_policy", "description": { "tagline": "Retrieve deployment branch policy for a specific environment.", "detailed": "Use this tool to get the deployment branch policy for a specific environment in a GitHub repository. Requires read access to the repository. For private repositories, an access token with the `repo` scope is needed. GitHub Apps need `actions:read` permission." }, "return_annotation": "Deployment branch policy details for an environment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. This is case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["env_name", "environment_id"], "description": "The name of the environment for which the deployment branch policy is being retrieved.", "endpoint_argument_name": "environment_name" }, { "name": "branch_policy_identifier", "alternative_names": ["branch_policy_id_number", "policy_id"], "description": "The unique identifier of the branch policy in the environment. Should be an integer value.", "endpoint_argument_name": "branch_policy_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "tags": ["repos"], "summary": "Get a deployment branch policy", "description": "Gets a deployment branch policy for an environment.\n\nAnyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch_policy_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the branch policy." }, "description": "The unique identifier of the branch policy.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-deployment-branch-policy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_deployment_branch_policy", "description": { "tagline": "Update a deployment branch policy for a GitHub environment.", "detailed": "This tool updates a deployment branch policy for a specified environment in a GitHub repository. It requires authentication with an access token that has the `repo` scope, or for GitHub Apps, the `administration:write` permission." }, "return_annotation": "Deployment branch policy update status.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub username or organization name of the repository owner. It is case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment"], "description": "The name of the environment for which the deployment branch policy is being updated.", "endpoint_argument_name": "environment_name" }, { "name": "branch_policy_identifier", "alternative_names": ["branch_policy_unique_id", "policy_id"], "description": "The unique identifier for the branch policy to be updated.", "endpoint_argument_name": "branch_policy_id" }, { "name": "branch_name_pattern", "alternative_names": [ "deployment_branch_name_pattern", "pattern_for_branch_deployment" ], "description": "Pattern that branches must match to deploy to the environment. Wildcards won't match '/'. See Ruby File.fnmatch for syntax.", "endpoint_argument_name": "name" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "tags": ["repos"], "summary": "Update a deployment branch policy", "description": "Updates a deployment branch policy for an environment.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "branch_policy_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the branch policy." }, "description": "The unique identifier of the branch policy.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch)." }, "description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).", "example": "release/*" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"release/*\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name pattern that branches must match in order to deploy to the environment.\\n\\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch).\",\n \"example\": \"release/*\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"title\": \"Deployment branch policy name pattern\",\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "activity/list-repo-events", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_events", "description": { "tagline": "Retrieve GitHub repository events.", "detailed": "Use this tool to list events from a specific GitHub repository. It helps track recent activities such as pushes, issues, and other event types." }, "return_annotation": "Repository event details from GitHub.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repo_owner", "owner_name"], "description": "The username of the account owner of the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count"], "description": "Specify the number of results per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specify the page number of the repository events to fetch. Useful for paginating results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/events", "tags": ["activity"], "summary": "List repository events", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-forks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_forks", "description": { "tagline": "Fetches the list of forks for a specified GitHub repository.", "detailed": "This tool retrieves a list of forks for a given GitHub repository, identified by its owner and name. It should be called when you need to obtain information about the forks of a particular repository." }, "return_annotation": "A list of forks for the specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the repository. This is not case sensitive and specifies whose repository to list forks from.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "sort_order", "alternative_names": ["order_by", "sort_by"], "description": "The order to sort the forks. Options: 'newest', 'oldest', 'stargazers', or 'watchers'.", "endpoint_argument_name": "sort" }, { "name": "results_per_page", "alternative_names": ["number_of_results", "page_limit"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specifies the page number for paginated results when listing forks.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/forks", "tags": ["repos"], "summary": "List forks", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["newest", "oldest", "stargazers", "watchers"], "properties": null, "inner_properties": null, "description": "The sort order. `stargazers` will sort by star count." }, "description": "The sort order. `stargazers` will sort by star count.", "required": false, "deprecated": false, "default": "newest", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["newest", "oldest", "stargazers", "watchers"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-fork", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_fork", "description": { "tagline": "Create a fork of a GitHub repository for the user.", "detailed": "Create a fork of a GitHub repository for the authenticated user. Note that the forking process happens asynchronously and might take some time. Contact GitHub support if it takes longer than 5 minutes." }, "return_annotation": "Confirmation that a fork has been initiated.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. This name is not case-sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to fork. It's not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "new_fork_name", "alternative_names": ["forked_repo_name", "fork_new_name"], "description": "Specify a new name for the forked repository when forking an existing repository.", "endpoint_argument_name": "name" }, { "name": "organization_name", "alternative_names": ["fork_organization", "github_organization_fork"], "description": "Optional. Specify the organization name to fork into. If not provided, the fork will default to the user's account.", "endpoint_argument_name": "organization" }, { "name": "fork_default_branch_only", "alternative_names": ["fork_only_with_default_branch", "fork_with_default_branch"], "description": "Set to true to fork only the default branch of the repository.", "endpoint_argument_name": "default_branch_only" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/forks", "tags": ["repos"], "summary": "Create a fork", "description": "Create a fork for the authenticated user.\n\n**Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "default_branch_only", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "When forking from an existing repository, fork with only the default branch." }, "description": "When forking from an existing repository, fork with only the default branch.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "When forking from an existing repository, fork with only the default branch." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "When forking from an existing repository, a new name for the fork." }, "description": "When forking from an existing repository, a new name for the fork.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "When forking from an existing repository, a new name for the fork." }, "schema_required": false }, { "name": "organization", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Optional parameter to specify the organization name if forking into an organization." }, "description": "Optional parameter to specify the organization name if forking into an organization.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Optional parameter to specify the organization name if forking into an organization." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"default_branch_only\": true,\n \"name\": \"Hello-World\",\n \"organization\": \"octocat\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"default_branch_only\": {\n \"description\": \"When forking from an existing repository, fork with only the default branch.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"When forking from an existing repository, a new name for the fork.\",\n \"type\": \"string\"\n },\n \"organization\": {\n \"description\": \"Optional parameter to specify the organization name if forking into an organization.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "git/create-blob", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_blob", "description": { "tagline": "Create a new blob in a GitHub repository.", "detailed": "This tool creates a new blob object in a specified GitHub repository. It is useful when you need to add or modify a blob within the repository, typically for storing binary data or files." }, "return_annotation": "Information about the created Git blob", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "blob_content", "alternative_names": ["blob_data", "content_data"], "description": "The content for the new GitHub blob. Accepts text or encoded binary data.", "endpoint_argument_name": "content" }, { "name": "content_encoding", "alternative_names": ["blob_encoding", "data_encoding"], "description": "Specify the encoding for the blob content. Supported values are 'utf-8' and 'base64'.", "endpoint_argument_name": "encoding" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/git/blobs", "tags": ["git"], "summary": "Create a blob", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new blob's content." }, "description": "The new blob's content.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new blob's content." }, "schema_required": true }, { "name": "encoding", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported." }, "description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported.", "required": false, "deprecated": false, "default": "utf-8", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"Content of the blob\",\n \"encoding\": \"utf-8\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The new blob's content.\",\n \"type\": \"string\"\n },\n \"encoding\": {\n \"default\": \"utf-8\",\n \"description\": \"The encoding used for `content`. Currently, `\\\"utf-8\\\"` and `\\\"base64\\\"` are supported.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "git/get-blob", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_blob_content", "description": { "tagline": "Retrieve Base64 encoded content of a GitHub blob.", "detailed": "Use this tool to fetch the content of a blob from a GitHub repository. It is useful for accessing file contents stored in GitHub in a Base64 encoded format. This tool supports blobs up to 100 megabytes." }, "return_annotation": "Base64 encoded content of a GitHub blob", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "file_sha_identifier", "alternative_names": ["blob_sha", "git_blob_sha"], "description": "The SHA identifier for the blob. This is used to access the specific file blob from the GitHub repository.", "endpoint_argument_name": "file_sha" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/git/blobs/{file_sha}", "tags": ["git"], "summary": "Get a blob", "description": "The `content` in the response will always be Base64 encoded.\n\n_Note_: This API supports blobs up to 100 megabytes in size.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "file_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "git/create-commit", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_git_commit", "description": { "tagline": "Create a new Git commit on a GitHub repository.", "detailed": "This tool creates a new Git commit on a specified GitHub repository and verifies the commit's signature. It returns information about the verification status, including whether it's verified and the reason, if applicable." }, "return_annotation": "Verification status of the new commit's signature.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "commit_details", "alternative_names": ["commit_payload", "commit_data"], "description": "A JSON object containing details of the commit: author, committer, message, parents, signature, and tree. Follows the required schema with nested fields for author and committer including name, email, and date in ISO 8601 format. Message is the commit message, parents is an array of parent commit SHAs, signature is the PGP signature, and tree is the SHA of the tree object.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/git/commits", "tags": ["git"], "summary": "Create a commit", "description": "Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "author": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "date": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "email": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author (or committer) of the commit" }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author (or committer) of the commit" } }, "inner_properties": null, "description": "Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details." }, "committer": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "date": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "email": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author (or committer) of the commit" }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author (or committer) of the commit" } }, "inner_properties": null, "description": "Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details." }, "message": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The commit message" }, "parents": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided." }, "signature": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits." }, "tree": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the tree object this commit points to" } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "author": { "type": "object", "description": "Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details.", "properties": { "date": { "type": "string", "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "email": { "type": "string", "description": "The email of the author (or committer) of the commit" }, "name": { "type": "string", "description": "The name of the author (or committer) of the commit" } }, "required": ["name", "email"] }, "committer": { "type": "object", "description": "Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details.", "properties": { "date": { "type": "string", "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "email": { "type": "string", "description": "The email of the author (or committer) of the commit" }, "name": { "type": "string", "description": "The name of the author (or committer) of the commit" } } }, "message": { "type": "string", "description": "The commit message" }, "parents": { "type": "array", "description": "The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.", "items": { "type": "string" } }, "signature": { "type": "string", "description": "The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits." }, "tree": { "type": "string", "description": "The SHA of the tree object this commit points to" } }, "required": ["message", "tree"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"author\": {\n \"date\": \"2008-07-09T16:13:30+12:00\",\n \"email\": \"octocat@github.com\",\n \"name\": \"Mona Octocat\"\n },\n \"message\": \"my commit message\",\n \"parents\": [\n \"7d1b31e74ee336d15cbd21741bc88a537ed063a0\"\n ],\n \"signature\": \"-----BEGIN PGP SIGNATURE-----\\n\\niQIzBAABAQAdFiEESn/54jMNIrGSE6Tp6cQjvhfv7nAFAlnT71cACgkQ6cQjvhfv\\n7nCWwA//XVqBKWO0zF+bZl6pggvky3Oc2j1pNFuRWZ29LXpNuD5WUGXGG209B0hI\\nDkmcGk19ZKUTnEUJV2Xd0R7AW01S/YSub7OYcgBkI7qUE13FVHN5ln1KvH2all2n\\n2+JCV1HcJLEoTjqIFZSSu/sMdhkLQ9/NsmMAzpf/iIM0nQOyU4YRex9eD1bYj6nA\\nOQPIDdAuaTQj1gFPHYLzM4zJnCqGdRlg0sOM/zC5apBNzIwlgREatOYQSCfCKV7k\\nnrU34X8b9BzQaUx48Qa+Dmfn5KQ8dl27RNeWAqlkuWyv3pUauH9UeYW+KyuJeMkU\\n+NyHgAsWFaCFl23kCHThbLStMZOYEnGagrd0hnm1TPS4GJkV4wfYMwnI4KuSlHKB\\njHl3Js9vNzEUQipQJbgCgTiWvRJoK3ENwBTMVkKHaqT4x9U4Jk/XZB6Q8MA09ezJ\\n3QgiTjTAGcum9E9QiJqMYdWQPWkaBIRRz5cET6HPB48YNXAAUsfmuYsGrnVLYbG+\\nUpC6I97VybYHTy2O9XSGoaLeMI9CsFn38ycAxxbWagk5mhclNTP5mezIq6wKSwmr\\nX11FW3n1J23fWZn5HJMBsRnUCgzqzX3871IqLYHqRJ/bpZ4h20RhTyPj5c/z7QXp\\neSakNQMfbbMcljkha+ZMuVQX1K9aRlVqbmv3ZMWh+OijLYVU2bc=\\n=5Io4\\n-----END PGP SIGNATURE-----\\n\",\n \"tree\": \"827efc6d56897b048c772eb4087f854f46256132\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"author\": {\n \"description\": \"Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details.\",\n \"properties\": {\n \"date\": {\n \"description\": \"Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The email of the author (or committer) of the commit\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author (or committer) of the commit\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"email\"\n ],\n \"type\": \"object\"\n },\n \"committer\": {\n \"description\": \"Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details.\",\n \"properties\": {\n \"date\": {\n \"description\": \"Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The email of the author (or committer) of the commit\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author (or committer) of the commit\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"message\": {\n \"description\": \"The commit message\",\n \"type\": \"string\"\n },\n \"parents\": {\n \"description\": \"The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"signature\": {\n \"description\": \"The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits.\",\n \"type\": \"string\"\n },\n \"tree\": {\n \"description\": \"The SHA of the tree object this commit points to\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"message\",\n \"tree\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "git/get-commit", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_commit_info", "description": { "tagline": "Retrieve details and signature verification for a Git commit.", "detailed": "Use this tool to fetch a Git commit object, including detailed information about the commit and its signature verification status. It's ideal for checking commit integrity and authenticity in a GitHub repository." }, "return_annotation": "Commit details and signature verification information.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository to query. This input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["commit_identifier", "commit_hash"], "description": "The SHA hash of the commit to retrieve details and verification status for.", "endpoint_argument_name": "commit_sha" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/git/commits/{commit_sha}", "tags": ["git"], "summary": "Get a commit", "description": "Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "commit_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit." }, "description": "The SHA of the commit.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "git/list-matching-refs", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_git_matching_refs", "description": { "tagline": "Retrieve Git references matching a specific name pattern.", "detailed": "This tool returns an array of Git references from a repository that match a specified name. It supports branches and tags, and can return refs that start with the given pattern if no exact match is found. It includes all references, such as notes and stashes, when no specific ref is provided." }, "return_annotation": "An array of matching Git references.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive. Specify the username or organization name that owns the repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to search for references. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "reference_pattern", "alternative_names": ["ref_name", "reference_name"], "description": "The pattern to match against Git references (e.g., heads/branch or tags/tag). Leave empty to retrieve all references.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/git/matching-refs/{ref}", "tags": ["git"], "summary": "List matching references", "description": "Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array.\n\nWhen you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`.\n\n**Note:** You need to explicitly [request a pull request](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/enterprise-server@3.8/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n\nIf you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "git/get-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_git_reference", "description": { "tagline": "Fetch a specific Git reference from a repository.", "detailed": "Use this tool to retrieve a branch or tag reference from a Git repository on GitHub. Input the specific branch or tag name formatted correctly to obtain the reference. Returns a 404 if the reference does not exist." }, "return_annotation": "Details of a specific Git reference from a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "git_reference", "alternative_names": ["branch_or_tag_reference", "repo_ref"], "description": "The reference to the Git branch or tag, formatted as `heads/` or `tags/`.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/git/ref/{ref}", "tags": ["git"], "summary": "Get a reference", "description": "Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned.\n\n**Note:** You need to explicitly [request a pull request](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/enterprise-server@3.8/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "git/create-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_git_reference", "description": { "tagline": "Create a new reference in a GitHub repository.", "detailed": "Use this tool to create a new reference in a GitHub repository, such as a branch or a tag. Ensure the repository is not empty and contains at least one branch." }, "return_annotation": "Details of the created reference.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The case-insensitive name of the GitHub repository to create a reference in.", "endpoint_argument_name": "repo" }, { "name": "full_reference_name", "alternative_names": ["qualified_reference_name", "git_reference_name"], "description": "The fully qualified reference name (e.g., 'refs/heads/master'). Must start with 'refs' and include at least two slashes.", "endpoint_argument_name": "ref" }, { "name": "reference_sha", "alternative_names": ["sha_value", "commit_sha"], "description": "The SHA-1 value for the reference. Required for creating a new reference in the repository.", "endpoint_argument_name": "sha" }, { "name": "authentication_token", "alternative_names": ["auth_token", "access_token"], "description": "The GitHub authentication token required to authorize the API request.", "endpoint_argument_name": "key" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/git/refs", "tags": ["git"], "summary": "Create a reference", "description": "Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "example": "\"refs/heads/newbranch\"" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected." }, "description": "The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected." }, "schema_required": true }, { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA1 value for this reference." }, "description": "The SHA1 value for this reference.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The SHA1 value for this reference." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"ref\": \"refs/heads/featureA\",\n \"sha\": \"aa218f56b14c9653891f9e74264a383fa43fefbd\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"key\": {\n \"example\": \"\\\"refs/heads/newbranch\\\"\",\n \"type\": \"string\"\n },\n \"ref\": {\n \"description\": \"The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected.\",\n \"type\": \"string\"\n },\n \"sha\": {\n \"description\": \"The SHA1 value for this reference.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"ref\",\n \"sha\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "git/delete-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_git_reference", "description": { "tagline": "Deletes a specified Git reference in a repository.", "detailed": "Use this tool to delete a specific Git reference from a repository on GitHub. It is useful for managing and cleaning up branches, tags, or other references in a repository." }, "return_annotation": "Confirmation of reference deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the repository owner. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to delete the reference from. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "git_reference_to_delete", "alternative_names": ["repository_ref_to_remove", "reference_name"], "description": "The Git reference to delete, such as a branch or tag name. This should match the exact format used in the repository.", "endpoint_argument_name": "ref" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/git/refs/{ref}", "tags": ["git"], "summary": "Delete a reference", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ref parameter" }, "description": "ref parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "git/update-ref", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_git_reference", "description": { "tagline": "Update a Git reference in a GitHub repository.", "detailed": "Use this tool to update a specific Git reference (e.g., a branch or tag) in a GitHub repository. Call this when you need to modify the target of a reference in a repo." }, "return_annotation": "Details about the updated Git reference.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name that owns the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository in GitHub. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "fully_qualified_reference_name", "alternative_names": ["reference_full_name", "ref_fully_qualified_name"], "description": "The fully qualified reference to update, e.g., `refs/heads/master`. Must start with `refs` and include at least two slashes.", "endpoint_argument_name": "ref" }, { "name": "target_sha1_value", "alternative_names": ["commit_sha", "reference_sha"], "description": "The SHA1 value to set the Git reference to. This should be a valid commit SHA in the repository.", "endpoint_argument_name": "sha" }, { "name": "force_update", "alternative_names": ["force", "enforce_update"], "description": "Set to true to force the update and allow overwriting. False ensures a fast-forward update, preventing overwriting.", "endpoint_argument_name": "force" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/git/refs/{ref}", "tags": ["git"], "summary": "Update a reference", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the fully qualified reference to update. For example, `refs/heads/master`. If the value doesn't start with `refs` and have at least two slashes, it will be rejected." }, "description": "The name of the fully qualified reference to update. For example, `refs/heads/master`. If the value doesn't start with `refs` and have at least two slashes, it will be rejected.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "force", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work." }, "description": "Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work." }, "schema_required": false }, { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA1 value to set this reference to" }, "description": "The SHA1 value to set this reference to", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The SHA1 value to set this reference to" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"force\": true,\n \"sha\": \"aa218f56b14c9653891f9e74264a383fa43fefbd\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"force\": {\n \"default\": false,\n \"description\": \"Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work.\",\n \"type\": \"boolean\"\n },\n \"sha\": {\n \"description\": \"The SHA1 value to set this reference to\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"sha\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "git/create-tag", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_git_tag", "description": { "tagline": "Create a Git tag object on GitHub.", "detailed": "Use this tool to create a Git tag object on GitHub. Note that this does not automatically create the reference to make a tag in the repository; an additional call is required to create the reference. The response includes a verification object with details on the commit's signature verification, providing insights into if and why a signature was verified, or any issues that occurred." }, "return_annotation": "Includes verification details of the tag creation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "tag_message", "alternative_names": ["tag_description", "tag_note"], "description": "The message or description for the tag, providing context or details about it.", "endpoint_argument_name": "message" }, { "name": "git_object_sha", "alternative_names": ["sha_of_git_object", "git_object_identifier"], "description": "The SHA of the Git object to tag, typically a commit, tree, or blob.", "endpoint_argument_name": "object" }, { "name": "tag_name", "alternative_names": ["version_tag", "release_tag"], "description": "The name of the tag, typically a version (e.g., 'v0.0.1').", "endpoint_argument_name": "tag" }, { "name": "tag_object_type", "alternative_names": ["git_tag_object_type", "object_type_for_tag"], "description": "Specifies the type of the object being tagged. Acceptable values are 'commit', 'tree', or 'blob'.", "endpoint_argument_name": "type" }, { "name": "tagging_date", "alternative_names": ["tagged_at", "date_of_tagging"], "description": "The date and time when the object was tagged, in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "tagger.date" }, { "name": "tagger_email", "alternative_names": ["author_email", "tag_creator_email"], "description": "The email address of the tag author. This should be in a valid email format.", "endpoint_argument_name": "tagger.email" }, { "name": "author_of_tag_name", "alternative_names": ["tag_author_name", "name_of_tagger"], "description": "The name of the author of the tag. It should be a string providing the full name.", "endpoint_argument_name": "tagger.name" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/git/tags", "tags": ["git"], "summary": "Create a tag object", "description": "Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/enterprise-server@3.8/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/enterprise-server@3.8/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "message", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The tag message." }, "description": "The tag message.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The tag message." }, "schema_required": true }, { "name": "object", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the git object this is tagging." }, "description": "The SHA of the git object this is tagging.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The SHA of the git object this is tagging." }, "schema_required": true }, { "name": "tag", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The tag's name. This is typically a version (e.g., \"v0.0.1\")." }, "description": "The tag's name. This is typically a version (e.g., \"v0.0.1\").", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The tag's name. This is typically a version (e.g., \"v0.0.1\")." }, "schema_required": true }, { "name": "tagger.date", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "schema_required": false }, { "name": "tagger.email", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email of the author of the tag" }, "description": "The email of the author of the tag", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The email of the author of the tag" }, "schema_required": false }, { "name": "tagger.name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the author of the tag" }, "description": "The name of the author of the tag", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the author of the tag" }, "schema_required": false }, { "name": "type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["commit", "tree", "blob"], "properties": null, "inner_properties": null, "description": "The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`." }, "description": "The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.", "enum": ["commit", "tree", "blob"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"message\": \"initial version\",\n \"object\": \"c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c\",\n \"tag\": \"v0.0.1\",\n \"tagger\": {\n \"date\": \"2011-06-17T14:53:35-07:00\",\n \"email\": \"octocat@github.com\",\n \"name\": \"Monalisa Octocat\"\n },\n \"type\": \"commit\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"message\": {\n \"description\": \"The tag message.\",\n \"type\": \"string\"\n },\n \"object\": {\n \"description\": \"The SHA of the git object this is tagging.\",\n \"type\": \"string\"\n },\n \"tag\": {\n \"description\": \"The tag's name. This is typically a version (e.g., \\\"v0.0.1\\\").\",\n \"type\": \"string\"\n },\n \"tagger\": {\n \"description\": \"An object with information about the individual creating the tag.\",\n \"properties\": {\n \"date\": {\n \"description\": \"When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The email of the author of the tag\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the author of the tag\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"email\"\n ],\n \"type\": \"object\"\n },\n \"type\": {\n \"description\": \"The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.\",\n \"enum\": [\n \"commit\",\n \"tree\",\n \"blob\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"tag\",\n \"message\",\n \"object\",\n \"type\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "git/get-tag", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_git_tag_signature_verification", "description": { "tagline": "Retrieve verification details of a git tag signature.", "detailed": "This tool is used to get the verification details of a git tag's signature from a GitHub repository. It provides information about whether the signature is verified and the reason for the verification status." }, "return_annotation": "Details of the git tag signature verification.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "tag_sha", "alternative_names": ["git_tag_sha", "commit_sha"], "description": "The SHA hash identifier of the git tag to be verified. This should be a string.", "endpoint_argument_name": "tag_sha" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/git/tags/{tag_sha}", "tags": ["git"], "summary": "Get a tag", "description": "**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "tag_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "git/create-tree", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_git_tree", "description": { "tagline": "Create or modify a git tree in a GitHub repository.", "detailed": "Use this tool to create or modify a tree structure in a specified GitHub repository. It is useful for organizing files and directories within a repository's tree. Note that after creating or modifying a tree, you must commit the changes and update the branch reference." }, "return_annotation": "Details of the created tree structure.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_identifier", "repo_title"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "tree_creation_details", "alternative_names": ["git_tree_specification", "repository_structure_definition"], "description": "JSON object detailing the tree structure. Includes base tree SHA, paths, file modes, content or SHA of each entry.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/git/trees", "tags": ["git"], "summary": "Create a tree", "description": "The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure.\n\nIf you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see \"[Create a commit](https://docs.github.com/enterprise-server@3.8/rest/reference/git#create-a-commit)\" and \"[Update a reference](https://docs.github.com/enterprise-server@3.8/rest/reference/git#update-a-reference).\"\n\nReturns an error if you try to delete a file that does not exist.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "base_tree": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" }, "tree": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "content": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error." }, "mode": { "val_type": "string", "inner_val_type": null, "enum": ["100644", "100755", "040000", "160000", "120000"], "properties": null, "inner_properties": null, "description": "The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink." }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The file referenced in the tree." }, "sha": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error." }, "type": { "val_type": "string", "inner_val_type": null, "enum": ["blob", "tree", "commit"], "properties": null, "inner_properties": null, "description": "Either `blob`, `tree`, or `commit`." } }, "description": "Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "base_tree": { "type": "string", "description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n" }, "tree": { "type": "array", "description": "Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.", "items": { "type": "object", "properties": { "content": { "type": "string", "description": "The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error." }, "mode": { "type": "string", "description": "The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink.", "enum": ["100644", "100755", "040000", "160000", "120000"] }, "path": { "type": "string", "description": "The file referenced in the tree." }, "sha": { "type": "string", "description": "The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error." }, "type": { "type": "string", "description": "Either `blob`, `tree`, or `commit`.", "enum": ["blob", "tree", "commit"] } } } } }, "required": ["tree"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"base_tree\": \"9fb037999f264ba9a7fc6274d15fa3ae2ab98312\",\n \"tree\": [\n {\n \"mode\": \"100644\",\n \"path\": \"file.rb\",\n \"sha\": \"44b4fc6d56897b048c772eb4087f854f46256132\",\n \"type\": \"blob\"\n }\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"base_tree\": {\n \"description\": \"The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\\n\",\n \"type\": \"string\"\n },\n \"tree\": {\n \"description\": \"Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.\",\n \"items\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. \\n \\n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.\",\n \"type\": \"string\"\n },\n \"mode\": {\n \"description\": \"The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink.\",\n \"enum\": [\n \"100644\",\n \"100755\",\n \"040000\",\n \"160000\",\n \"120000\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The file referenced in the tree.\",\n \"type\": \"string\"\n },\n \"sha\": {\n \"description\": \"The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. \\n \\n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"type\": {\n \"description\": \"Either `blob`, `tree`, or `commit`.\",\n \"enum\": [\n \"blob\",\n \"tree\",\n \"commit\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"tree\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "git/get-tree", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_git_tree", "description": { "tagline": "Fetch a git tree by its SHA1 value from a GitHub repo.", "detailed": "Use this tool to retrieve a single tree structure from a GitHub repository using its SHA1 value. If the response indicates `truncated`, the tree array exceeds the maximum limit, requiring non-recursive methods for complete retrieval. This is useful for accessing specific parts of a repository's file structure." }, "return_annotation": "Tree structure data using the SHA1 value provided.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "tree_sha", "alternative_names": ["tree_identifier", "git_tree_sha"], "description": "The SHA1 value of the tree to fetch. This identifier is necessary to specify which tree structure should be retrieved from the repository.", "endpoint_argument_name": "tree_sha" }, { "name": "enable_recursive_retrieval", "alternative_names": ["recursive_fetching", "recursive_tree_retrieval"], "description": "If set, returns objects/subtrees referenced by the provided tree SHA. Use values: '0', '1', 'true', 'false'. Omit to disable recursion.", "endpoint_argument_name": "recursive" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/git/trees/{tree_sha}", "tags": ["git"], "summary": "Get a tree", "description": "Returns a single tree using the SHA1 value for that tree.\n\nIf `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time.\n\n\n**Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "recursive", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `\"true\"`, and `\"false\"`. Omit this parameter to prevent recursively returning objects or subtrees." }, "description": "Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `\"true\"`, and `\"false\"`. Omit this parameter to prevent recursively returning objects or subtrees.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "tree_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-webhooks", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repository_webhooks", "description": { "tagline": "Retrieve webhooks for a specified GitHub repository.", "detailed": "Use this tool to list all webhooks configured for a specific GitHub repository. Helpful for managing and reviewing webhook configurations." }, "return_annotation": "List of webhooks for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["max_results_per_page", "webhooks_per_page"], "description": "Specify the number of webhooks to list per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["pagination_page", "results_page_index"], "description": "The page number of webhooks results to fetch from the repository.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/hooks", "tags": ["repos"], "summary": "List repository webhooks", "description": "Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_repo_webhook", "description": { "tagline": "Create a webhook for a GitHub repository.", "detailed": "This tool sets up a webhook for a specified GitHub repository, allowing integrations to receive events. Use this when you want to trigger actions in response to repository events." }, "return_annotation": "Details of the created webhook for the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_admin"], "description": "The account owner of the GitHub repository. It is case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_configuration", "alternative_names": ["webhook_settings", "webhook_details"], "description": "A JSON object specifying the webhook's configuration, including 'config', 'events', and 'active' settings.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/hooks", "tags": ["repos"], "summary": "Create a repository webhook", "description": "Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can\nshare the same `config` as long as those webhooks do not have any `events` that overlap.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "active": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "config": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "digest": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "token": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." } }, "inner_properties": null, "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-hook-config-params)." }, "events": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "config": { "type": "object", "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-hook-config-params).", "properties": { "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "digest": { "type": "string", "example": "\"sha256\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "token": { "type": "string", "example": "\"abc\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" } } }, "events": { "type": "array", "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for.", "items": { "type": "string" } }, "name": { "type": "string", "description": "Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`." } }, "additionalProperties": false }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"active\": true,\n \"config\": {\n \"content_type\": \"json\",\n \"insecure_ssl\": \"0\",\n \"url\": \"https://example.com/webhook\"\n },\n \"events\": [\n \"push\",\n \"pull_request\"\n ],\n \"name\": \"web\"\n }\n }\n },\n \"schema\": {\n \"additionalProperties\": false,\n \"nullable\": true,\n \"properties\": {\n \"active\": {\n \"default\": true,\n \"description\": \"Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\",\n \"type\": \"boolean\"\n },\n \"config\": {\n \"description\": \"Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-hook-config-params).\",\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"digest\": {\n \"example\": \"\\\"sha256\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"token\": {\n \"example\": \"\\\"abc\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"events\": {\n \"default\": [\n \"push\"\n ],\n \"description\": \"Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"description\": \"Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/delete-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_repo_webhook", "description": { "tagline": "Delete a webhook from a GitHub repository.", "detailed": "Use this tool to remove a specific webhook from a GitHub repository by providing the repository owner, name, and hook ID. It is helpful for managing webhooks that are no longer needed or require updating." }, "return_annotation": "Confirmation of the webhook deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This name is not case sensitive. Provide the GitHub username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository. This input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_identifier", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique integer identifier of the webhook to be deleted.", "endpoint_argument_name": "hook_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/hooks/{hook_id}", "tags": ["repos"], "summary": "Delete a repository webhook", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_webhook", "description": { "tagline": "Retrieve the webhook configuration for a specific repository.", "detailed": "This tool is used to get the details of a webhook configured in a specific GitHub repository. It can be called when you need information about a webhook associated with a given repository, such as its settings and properties." }, "return_annotation": "Webhook details for a specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_id", "alternative_names": ["hook_identifier", "webhook_key"], "description": "The unique identifier of the webhook to be retrieved.", "endpoint_argument_name": "hook_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/hooks/{hook_id}", "tags": ["repos"], "summary": "Get a repository webhook", "description": "Returns a webhook configured in a repository. To get only the webhook `config` properties, see \"[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_repo_webhook", "description": { "tagline": "Update a webhook for a GitHub repository.", "detailed": "This tool updates an existing webhook configured in a GitHub repository. It requires specifying the owner, repository, and hook ID. It is useful for changing webhook configurations or updating secrets." }, "return_annotation": "Confirmation of the webhook update status.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to update. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_unique_identifier", "alternative_names": ["hook_id_number", "webhook_id"], "description": "The unique identifier of the webhook to be updated. It must be an integer.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_configuration", "alternative_names": ["webhook_settings", "webhook_details"], "description": "A JSON object containing settings for the webhook, including active status, config details, and events to add or remove.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/hooks/{hook_id}", "tags": ["repos"], "summary": "Update a repository webhook", "description": "Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "active": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "add_events": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Determines a list of events to be added to the list of events that the Hook triggers for." }, "config": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "address": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "room": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." } }, "inner_properties": null, "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-hook-config-params)." }, "events": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events." }, "remove_events": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Determines a list of events to be removed from the list of events that the Hook triggers for." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications." }, "add_events": { "type": "array", "description": "Determines a list of events to be added to the list of events that the Hook triggers for.", "items": { "type": "string" } }, "config": { "type": "object", "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-hook-config-params).", "properties": { "address": { "type": "string", "example": "\"bar@example.com\"" }, "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "room": { "type": "string", "example": "\"The Serious Room\"" }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" } }, "required": ["url"] }, "events": { "type": "array", "description": "Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events.", "items": { "type": "string" } }, "remove_events": { "type": "array", "description": "Determines a list of events to be removed from the list of events that the Hook triggers for.", "items": { "type": "string" } } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"active\": true,\n \"add_events\": [\n \"pull_request\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"default\": true,\n \"description\": \"Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\",\n \"type\": \"boolean\"\n },\n \"add_events\": {\n \"description\": \"Determines a list of events to be added to the list of events that the Hook triggers for.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"config\": {\n \"description\": \"Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#create-hook-config-params).\",\n \"properties\": {\n \"address\": {\n \"example\": \"\\\"bar@example.com\\\"\",\n \"type\": \"string\"\n },\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"room\": {\n \"example\": \"\\\"The Serious Room\\\"\",\n \"type\": \"string\"\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ],\n \"type\": \"object\"\n },\n \"events\": {\n \"default\": [\n \"push\"\n ],\n \"description\": \"Determines what [events](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"remove_events\": {\n \"description\": \"Determines a list of events to be removed from the list of events that the Hook triggers for.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/get-webhook-config-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_webhook_config", "description": { "tagline": "Get the webhook configuration for a GitHub repository.", "detailed": "Use this tool to retrieve the webhook configuration settings for a specific GitHub repository. It requires a valid access token with `read:repo_hook` or `repo` scope, or a GitHub App with `repository_hooks:read` permission." }, "return_annotation": "Webhook configuration details for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_holder"], "description": "The account owner of the repository. Provide a non-case sensitive username.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "hook_identifier", "alternative_names": ["webhook_id", "hook_id_number"], "description": "The unique identifier for the webhook. This is required to retrieve the specific webhook configuration for a repository.", "endpoint_argument_name": "hook_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/config", "tags": ["repos"], "summary": "Get a webhook configuration for a repository", "description": "Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use \"[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook).\"\n\nAccess tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-webhook-config-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_repo_webhook_config", "description": { "tagline": "Update GitHub repository webhook configuration settings.", "detailed": "This tool updates the webhook configuration for a specific GitHub repository. It is useful when you need to modify settings such as the payload URL, content type, or secret key of a webhook. Ensure you have appropriate permissions, such as the `write:repo_hook` or `repo` scope for access tokens, or `repository_hooks:write` for GitHub Apps." }, "return_annotation": "Details of the updated webhook configuration.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_hook_id", "alternative_names": ["hook_identifier", "hook_id_number"], "description": "The unique identifier of the webhook to update in the repository.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_config", "alternative_names": ["hook_settings", "webhook_details"], "description": "JSON object containing webhook settings like `url`, `content_type`, `insecure_ssl`, and `secret`. Modify these to update the webhook configuration for a GitHub repository.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/config", "tags": ["repos"], "summary": "Update a webhook configuration for a repository", "description": "Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use \"[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook).\"\n\nAccess tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content_type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`." }, "insecure_ssl": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "secret": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers)." }, "url": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL to which the payloads will be delivered." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "content_type": { "type": "string", "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", "example": "\"json\"" }, "insecure_ssl": { "type": "object", "properties": {}, "oneOf": [ { "type": "string", "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", "example": "\"0\"" }, { "type": "number" } ] }, "secret": { "type": "string", "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).", "example": "\"********\"" }, "url": { "type": "string", "description": "The URL to which the payloads will be delivered.", "format": "uri", "example": "https://example.com/webhook" } }, "additionalProperties": false }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example of updating content type and URL\",\n \"value\": {\n \"content_type\": \"json\",\n \"url\": \"https://example.com/webhook\"\n }\n }\n },\n \"schema\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"content_type\": {\n \"description\": \"The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\",\n \"example\": \"\\\"json\\\"\",\n \"type\": \"string\"\n },\n \"insecure_ssl\": {\n \"oneOf\": [\n {\n \"description\": \"Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\",\n \"example\": \"\\\"0\\\"\",\n \"type\": \"string\"\n },\n {\n \"type\": \"number\"\n }\n ]\n },\n \"secret\": {\n \"description\": \"If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#delivery-headers).\",\n \"example\": \"\\\"********\\\"\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"The URL to which the payloads will be delivered.\",\n \"example\": \"https://example.com/webhook\",\n \"format\": \"uri\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/list-webhook-deliveries", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_webhook_deliveries", "description": { "tagline": "Fetch webhook delivery events for a specific GitHub repository.", "detailed": "Use this tool to retrieve a list of webhook deliveries for a specific webhook configured in a GitHub repository. It is useful for monitoring and debugging webhook events." }, "return_annotation": "A list of webhook delivery events for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "owner_name"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "webhook_hook_id", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique identifier of the webhook. This is necessary to fetch the specific webhook deliveries for the repository.", "endpoint_argument_name": "hook_id" }, { "name": "results_per_page", "alternative_names": ["page_results_limit", "deliveries_per_page"], "description": "The maximum number of webhook delivery results to fetch per page, up to 100.", "endpoint_argument_name": "per_page" }, { "name": "pagination_start_cursor", "alternative_names": ["start_delivery_cursor", "page_start_cursor"], "description": "The starting point for fetching the page of deliveries. Use the `link` header for next/previous page cursors.", "endpoint_argument_name": "cursor" }, { "name": "include_redelivered_events", "alternative_names": ["show_redelivery", "include_redelivery_attempts"], "description": "Include redelivered webhook events in the results if set to true.", "endpoint_argument_name": "redelivery" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "tags": ["repos"], "summary": "List deliveries for a repository webhook", "description": "Returns a list of webhook deliveries for a webhook configured in a repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "cursor", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors." }, "description": "Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "redelivery", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-webhook-delivery", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_webhook_delivery", "description": { "tagline": "Retrieve a specific webhook delivery from a repository.", "detailed": "This tool retrieves details of a webhook delivery for a specified repository. Use it when you need to examine the delivery status or contents of a webhook event." }, "return_annotation": "Details of a specific webhook delivery.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "hook_identifier", "alternative_names": ["webhook_id", "hook_id_number"], "description": "The unique identifier of the webhook within a repository. It is an integer value required to specify which webhook's delivery information to retrieve.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_delivery_id", "alternative_names": ["hook_delivery_identifier", "delivery_reference_id"], "description": "The unique identifier of the specific webhook delivery to retrieve details for. This is an integer value.", "endpoint_argument_name": "delivery_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "tags": ["repos"], "summary": "Get a delivery for a repository webhook", "description": "Returns a delivery for a webhook configured in a repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "delivery_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/redeliver-webhook-delivery", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "redeliver_github_webhook", "description": { "tagline": "Redelivers a webhook delivery for a GitHub repository.", "detailed": "Use this tool to redeliver a previously attempted webhook delivery for a specific webhook configured in a GitHub repository. It can be called when a webhook delivery has failed and needs to be retried." }, "return_annotation": "Status of the webhook redelivery attempt.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The repository's account owner. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "hook_unique_identifier", "alternative_names": ["webhook_id", "hook_id_number"], "description": "The unique identifier for the GitHub webhook hook. This ID is required to specify which webhook to redeliver.", "endpoint_argument_name": "hook_id" }, { "name": "webhook_delivery_id", "alternative_names": ["delivery_identifier", "webhook_delivery_number"], "description": "The unique identifier for the webhook delivery attempt to be redelivered.", "endpoint_argument_name": "delivery_id" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "tags": ["repos"], "summary": "Redeliver a delivery for a repository webhook", "description": "Redeliver a webhook delivery for a webhook configured in a repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "delivery_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/ping-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "send_ping_event_to_webhook", "description": { "tagline": "Triggers a ping event to a GitHub webhook.", "detailed": "Use this tool to trigger a ping event to be sent to a specified GitHub webhook. It is useful for testing and verifying webhook configurations." }, "return_annotation": "Confirmation of the ping event being triggered.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The GitHub account owner of the repository. This name is not case-sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. Case insensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_identifier", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique identifier of the GitHub webhook to send the ping event to. Must be an integer.", "endpoint_argument_name": "hook_id" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/pings", "tags": ["repos"], "summary": "Ping a repository webhook", "description": "This will trigger a [ping event](https://docs.github.com/enterprise-server@3.8/webhooks/#ping-event) to be sent to the hook.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/test-push-webhook", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "trigger_github_webhook_test", "description": { "tagline": "Trigger a GitHub webhook test with the latest push event.", "detailed": "This tool triggers a GitHub webhook for push events on the specified repository. It should be called when you need to test if a webhook is configured correctly and subscribed to `push` events. If successful, the tool will confirm the test was triggered; otherwise, it will indicate a lack of subscription." }, "return_annotation": "Indicates if the webhook test was triggered successfully.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner_account", "repository_admin"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This parameter is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "webhook_identifier", "alternative_names": ["hook_identifier", "webhook_id"], "description": "The unique identifier of the webhook to be tested. This integer value specifies which webhook to trigger in the repository.", "endpoint_argument_name": "hook_id" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/hooks/{hook_id}/tests", "tags": ["repos"], "summary": "Test the push repository webhook", "description": "This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated.\n\n**Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test`", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the hook." }, "description": "The unique identifier of the hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/get-repo-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_repo_installation", "description": { "tagline": "Fetches GitHub App installation info for a repository.", "detailed": "Use this tool to get the installation information of a GitHub App for a specific repository. The installation can belong to an organization or user account, depending on the repository's owner." }, "return_annotation": "Repository installation information for a GitHub App.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner's name for the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_identifier"], "description": "The name of the repository. It is not case sensitive and identifies the specific repository for which to retrieve GitHub App installation information.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/installation", "tags": ["apps"], "summary": "Get a repository installation for the authenticated app", "description": "Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-invitations", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_invitations", "description": { "tagline": "List open invitations for a GitHub repository.", "detailed": "Use this tool to retrieve all currently open invitations for a specified GitHub repository, requiring admin rights for access." }, "return_annotation": "Details of open repository invitations.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It's not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["invitation_results_per_page", "max_invitations_per_page"], "description": "The number of invitations to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "invitations_page_number"], "description": "Specifies the page number to fetch results from, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/invitations", "tags": ["repos"], "summary": "List repository invitations", "description": "When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-invitation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_repo_invitation", "description": { "tagline": "Delete a repository invitation on GitHub.", "detailed": "Use this tool to delete a specific invitation to collaborate on a GitHub repository. It requires the owner, repository name, and invitation ID to perform the deletion." }, "return_annotation": "Confirmation of the repository invitation deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository to delete the invitation from. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "invitation_id", "alternative_names": ["invitation_identifier", "invite_id"], "description": "The unique identifier for the repository invitation to be deleted. It must be an integer.", "endpoint_argument_name": "invitation_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/invitations/{invitation_id}", "tags": ["repos"], "summary": "Delete a repository invitation", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "invitation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the invitation." }, "description": "The unique identifier of the invitation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-invitation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_repo_invitation", "description": { "tagline": "Update a repository invitation on GitHub.", "detailed": "This tool updates the details of a repository invitation on GitHub. It should be called when you need to change the status or details of an invitation sent to a collaborator for a specific repository." }, "return_annotation": "Details of the updated repository invitation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the account owner of the repository. It's not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to update the invitation for. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "invitation_id", "alternative_names": ["invitation_identifier", "repo_invitation_id"], "description": "The unique identifier of the invitation to be updated. It must be an integer.", "endpoint_argument_name": "invitation_id" }, { "name": "user_permissions", "alternative_names": ["access_level", "permission_level"], "description": "Specify the permission level for the user on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.", "endpoint_argument_name": "permissions" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/invitations/{invitation_id}", "tags": ["repos"], "summary": "Update a repository invitation", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "invitation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the invitation." }, "description": "The unique identifier of the invitation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "permissions", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "maintain", "triage", "admin"], "properties": null, "inner_properties": null, "description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`." }, "description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.", "enum": ["read", "write", "maintain", "triage", "admin"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example request body\",\n \"value\": {\n \"permissions\": \"write\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"permissions\": {\n \"description\": \"The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.\",\n \"enum\": [\n \"read\",\n \"write\",\n \"maintain\",\n \"triage\",\n \"admin\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/list-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_issues_for_repo", "description": { "tagline": "Retrieve open issues from a GitHub repository.", "detailed": "This tool lists open issues and pull requests in a specified GitHub repository. It is useful for tracking unresolved issues and ongoing work. The response includes both issues and pull requests." }, "return_annotation": "List of open issues and pull requests in the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository to fetch issues from. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_identifier", "alternative_names": ["milestone_reference", "milestone_filter"], "description": "Filter issues by milestone. Use an integer for a specific milestone, \"*\" for any milestone, or \"none\" for no milestones.", "endpoint_argument_name": "milestone" }, { "name": "issue_state", "alternative_names": ["issue_status", "state_of_issues"], "description": "Indicates the state of issues to retrieve: 'open', 'closed', or 'all'.", "endpoint_argument_name": "state" }, { "name": "assignee_filter", "alternative_names": ["issue_assignee", "assigned_user"], "description": "Filter issues by assignee. Use a username, `none` for unassigned, or `*` for any assignee.", "endpoint_argument_name": "assignee" }, { "name": "issue_creator", "alternative_names": ["creator_user", "issue_author"], "description": "The GitHub username of the person who created the issue.", "endpoint_argument_name": "creator" }, { "name": "mentioned_user", "alternative_names": ["mentioned_person", "user_mentioned"], "description": "A GitHub username to filter issues where this user is mentioned.", "endpoint_argument_name": "mentioned" }, { "name": "issue_labels", "alternative_names": ["issue_tags", "issue_label_list"], "description": "Comma separated list of label names to filter issues, e.g., 'bug,ui,@high'.", "endpoint_argument_name": "labels" }, { "name": "sort_issues_by", "alternative_names": ["issues_sort_order", "order_issues_by"], "description": "Specify sorting criteria for issues: 'created', 'updated', or 'comments'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["result_sort_order", "order_direction"], "description": "The direction to sort the results by. Use 'asc' for ascending and 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "updated_since_timestamp", "alternative_names": ["since_date", "last_updated_after"], "description": "Only show issues or pull requests updated after this timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "issues_per_page"], "description": "Number of results per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "page_number"], "description": "Specifies which page of results to fetch. Use an integer value to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues", "tags": ["issues"], "summary": "List repository issues", "description": "List issues in a repository. Only open issues will be listed.\n\n**Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#list-pull-requests)\" endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "milestone", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned." }, "description": "If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the issues to return." }, "description": "Indicates the state of the issues to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "assignee", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user." }, "description": "Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "creator", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The user that created the issue." }, "description": "The user that created the issue.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "mentioned", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A user that's mentioned in the issue." }, "description": "A user that's mentioned in the issue.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "labels", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A list of comma separated label names. Example: `bug,ui,@high`" }, "description": "A list of comma separated label names. Example: `bug,ui,@high`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "comments"], "properties": null, "inner_properties": null, "description": "What to sort results by." }, "description": "What to sort results by.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "comments"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/create", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_issue", "description": { "tagline": "Create a new issue in a GitHub repository.", "detailed": "Use this tool to create a new issue in a specific GitHub repository. This can be done by any user with pull access to the repository. Note that if issues are disabled for the repository, a 410 status will be returned. Be cautious of triggering secondary rate limits by creating content too quickly." }, "return_annotation": "Details of the created GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. Provide the username or organization name, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case insensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_details", "alternative_names": ["issue_data", "issue_payload"], "description": "JSON containing the issue details such as title, body, assignees, labels, and milestone. The title and body are required. Only users with push access can set additional fields like assignees and labels.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/issues", "tags": ["issues"], "summary": "Create an issue", "description": "Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/enterprise-server@3.8/articles/disabling-issues/), the API returns a `410 Gone` status.\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "assignee": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_" }, "assignees": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._" }, "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the issue." }, "labels": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": {}, "description": "Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._" }, "milestone": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "title": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the issue." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "assignee": { "type": "string", "description": "Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_" }, "assignees": { "type": "array", "description": "Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._", "items": { "type": "string" } }, "body": { "type": "string", "description": "The contents of the issue." }, "labels": { "type": "array", "description": "Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._", "items": { "type": "object", "properties": {}, "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "color": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" } } } ] } }, "milestone": { "type": "object", "properties": {}, "oneOf": [ { "type": "string" }, { "type": "integer", "description": "The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._" } ] }, "title": { "type": "object", "description": "The title of the issue.", "properties": {}, "oneOf": [ { "type": "string" }, { "type": "integer" } ] } }, "required": ["title"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"assignees\": [\n \"octocat\"\n ],\n \"body\": \"I'm having a problem with this.\",\n \"labels\": [\n \"bug\"\n ],\n \"milestone\": 1,\n \"title\": \"Found a bug\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"assignee\": {\n \"description\": \"Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"assignees\": {\n \"description\": \"Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"body\": {\n \"description\": \"The contents of the issue.\",\n \"type\": \"string\"\n },\n \"labels\": {\n \"description\": \"Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._\",\n \"items\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"properties\": {\n \"color\": {\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"description\": {\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"id\": {\n \"type\": \"integer\"\n },\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n ]\n },\n \"type\": \"array\"\n },\n \"milestone\": {\n \"nullable\": true,\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"description\": \"The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._\",\n \"type\": \"integer\"\n }\n ]\n },\n \"title\": {\n \"description\": \"The title of the issue.\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"integer\"\n }\n ]\n }\n },\n \"required\": [\n \"title\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "issues/list-comments-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_issue_comments", "description": { "tagline": "Fetch comments for all issues in a repository.", "detailed": "Use this tool to retrieve all comments from issues in a specified GitHub repository. Comments are ordered by ascending ID." }, "return_annotation": "List of comments for a repository's issues.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "owner_name"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "sort_property", "alternative_names": ["sorting_criterion", "order_by"], "description": "The property to sort the issue comments by. Use 'created' for when the repo was starred or 'updated' for last push.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["comment_order", "sorting_direction"], "description": "Sets the sorting order, `asc` for ascending or `desc` for descending, used with `sort`.", "endpoint_argument_name": "direction" }, { "name": "updated_after_timestamp", "alternative_names": ["notifications_since", "since_timestamp"], "description": "Filter comments updated after this timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results to display per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["comments_page_number", "page_num"], "description": "The page number of results to fetch for issue comments in a repository.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/comments", "tags": ["issues"], "summary": "List issue comments for a repository", "description": "By default, Issue Comments are ordered by ascending ID.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to." }, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "Either `asc` or `desc`. Ignored without the `sort` parameter." }, "description": "Either `asc` or `desc`. Ignored without the `sort` parameter.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/delete-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_issue_comment", "description": { "tagline": "Delete a specific comment from a GitHub issue.", "detailed": "Use this tool to delete a specific comment from an issue in a GitHub repository. Specify the comment ID, along with the owner and repository names, to remove the comment." }, "return_annotation": "Confirmation of issue comment deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_user"], "description": "The account owner of the repository. This is not case sensitive. Provide the username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_comment_id", "alternative_names": ["github_comment_id", "comment_unique_id"], "description": "The unique identifier of the comment to be deleted.", "endpoint_argument_name": "comment_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/comments/{comment_id}", "tags": ["issues"], "summary": "Delete an issue comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/get-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_issue_comment", "description": { "tagline": "Retrieve a comment from a GitHub issue.", "detailed": "Use this tool to obtain detailed information about a specific comment on an issue within a GitHub repository. It requires specifying the repository owner, repository name, and comment ID." }, "return_annotation": "Details of a specific issue comment from a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository on GitHub. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive and is required to identify the repository within an account.", "endpoint_argument_name": "repo" }, { "name": "comment_identifier", "alternative_names": ["issue_comment_id", "github_comment_id"], "description": "The unique integer identifier for the GitHub issue comment.", "endpoint_argument_name": "comment_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/comments/{comment_id}", "tags": ["issues"], "summary": "Get an issue comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/update-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_issue_comment", "description": { "tagline": "Update a comment on a GitHub issue.", "detailed": "This tool updates a specific comment on a GitHub issue. It should be called when an existing comment needs to be edited or corrected." }, "return_annotation": "Confirmation of the updated GitHub issue comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_identifier", "alternative_names": ["comment_id_number", "comment_unique_id"], "description": "The unique numerical identifier of the GitHub issue comment to update.", "endpoint_argument_name": "comment_id" }, { "name": "comment_contents", "alternative_names": ["comment_text", "comment_body"], "description": "The new text for the GitHub issue comment. This will replace the current contents of the comment.", "endpoint_argument_name": "body" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/issues/comments/{comment_id}", "tags": ["issues"], "summary": "Update an issue comment", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the comment." }, "description": "The contents of the comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the comment." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Me too\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The contents of the comment.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/list-for-issue-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_issue_comment_reactions", "description": { "tagline": "Retrieve reactions for a GitHub issue comment.", "detailed": "This tool retrieves the list of reactions for a specific comment on an issue in a GitHub repository. It should be called when you need to know how users have reacted to a particular issue comment." }, "return_annotation": "Reactions to a specific issue comment on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_id", "alternative_names": ["issue_comment_id", "comment_identifier"], "description": "The unique identifier for the specific issue comment whose reactions are to be listed.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_type", "alternative_names": ["specific_reaction", "filter_reaction_type"], "description": "Specify a single reaction type to filter results. Use values like '+1', '-1', 'laugh', etc. Omit to list all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of reactions to retrieve per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Page number of results to fetch from the reactions list.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "tags": ["reactions"], "summary": "List reactions for an issue comment", "description": "List the reactions to an [issue comment](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#comments).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-issue-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_reaction_to_github_comment", "description": { "tagline": "Add a reaction to a GitHub issue comment.", "detailed": "Use this tool to add a specific reaction to a comment on a GitHub issue. It checks if the reaction type has already been added, returning an HTTP `200` status in that case." }, "return_annotation": "Indicates if a reaction was added or already exists.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_unique_identifier", "alternative_names": ["comment_id_number", "comment_identifier"], "description": "The unique identifier for the GitHub comment to which a reaction is being added.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_type", "alternative_names": ["emoji_reaction", "reaction"], "description": "The type of reaction to add to the issue comment. Valid options: '+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "tags": ["reactions"], "summary": "Create reaction for an issue comment", "description": "Create a reaction to an [issue comment](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue comment." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue comment.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue comment.\",\n \"enum\": [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-issue-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_issue_comment_reaction", "description": { "tagline": "Deletes a reaction from a GitHub issue comment.", "detailed": "Use this tool to remove a specific reaction from an issue comment on GitHub. Provide the necessary repository and comment identifiers to successfully delete the reaction." }, "return_annotation": "Indicates successful deletion of the reaction on the issue comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_comment_id", "alternative_names": ["comment_identifier", "comment_id_value"], "description": "The unique identifier of the issue comment from which the reaction will be deleted.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_identifier", "alternative_names": ["reaction_id_number", "reaction_unique_id"], "description": "The unique identifier of the reaction to be deleted from the issue comment.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete an issue comment reaction", "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`.\n\nDelete a reaction to an [issue comment](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#comments).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-events-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_issue_events", "description": { "tagline": "Retrieve events for issues in a GitHub repository.", "detailed": "Use this tool to get a list of events related to issues for a specific GitHub repository. It's useful for tracking changes and actions performed on issues." }, "return_annotation": "List of issue events for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "Specify the account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "results_pagination_page"], "description": "Specifies the page number of the issue events results to fetch from the repository.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/events", "tags": ["issues"], "summary": "List issue events for a repository", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/get-event", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_github_issue_event", "description": { "tagline": "Retrieve details of a specific GitHub issue event.", "detailed": "Use this tool to fetch information about a specific event related to an issue in a GitHub repository. Provide the owner, repository, and event ID to get detailed event information." }, "return_annotation": "Details of a specific GitHub issue event.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_account_owner"], "description": "The account owner of the repository. The name is not case sensitive. Provide the GitHub username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "event_id", "alternative_names": ["event_identifier", "issue_event_id"], "description": "The unique identifier for the GitHub issue event to retrieve details for. It must be an integer.", "endpoint_argument_name": "event_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/events/{event_id}", "tags": ["issues"], "summary": "Get an issue event", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "event_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_issue_details", "description": { "tagline": "Fetch details of a specific issue or pull request on GitHub.", "detailed": "Use this tool to retrieve information about a particular issue or pull request from a GitHub repository. This tool returns a 301 status if the issue was transferred, 404 if inaccessible or deleted, and 410 if deleted but accessible. Pull requests are also considered issues and can be identified by the 'pull_request' key in the response." }, "return_annotation": "Details about a specific GitHub issue or pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the repository owner. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_identifier", "alternative_names": ["issue_id", "issue_num"], "description": "The unique number that identifies the issue or pull request on GitHub.", "endpoint_argument_name": "issue_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}", "tags": ["issues"], "summary": "Get an issue", "description": "The API returns a [`301 Moved Permanently` status](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was\n[transferred](https://docs.github.com/enterprise-server@3.8/articles/transferring-an-issue-to-another-repository/) to another repository. If\nthe issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API\nreturns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read\naccess, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe\nto the [`issues`](https://docs.github.com/enterprise-server@3.8/webhooks/event-payloads/#issues) webhook.\n\n**Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#list-pull-requests)\" endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_issue", "description": { "tagline": "Update details of a GitHub issue.", "detailed": "Use this tool when you need to update the information of an existing GitHub issue. Suitable for issue owners or users with push access." }, "return_annotation": "Confirmation of updated GitHub issue details.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository to update the issue in. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_identifier", "alternative_names": ["issue_id", "issue_number_arg"], "description": "The unique number identifying the GitHub issue to update.", "endpoint_argument_name": "issue_number" }, { "name": "issue_update_details", "alternative_names": ["issue_edit_payload", "issue_modification_data"], "description": "JSON object containing the details to update the issue, including assignees, body, labels, milestone, state, state reason, and title.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/issues/{issue_number}", "tags": ["issues"], "summary": "Update an issue", "description": "Issue owners and users with push access can edit an issue.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "assignee": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Username to assign to this issue. **This field is deprecated.**" }, "assignees": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped." }, "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the issue." }, "labels": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": {}, "description": "Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped." }, "milestone": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "state": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed"], "properties": null, "inner_properties": null, "description": "The open or closed state of the issue." }, "state_reason": { "val_type": "string", "inner_val_type": null, "enum": ["completed", "not_planned", "reopened"], "properties": null, "inner_properties": null, "description": "The reason for the state change. Ignored unless `state` is changed." }, "title": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the issue." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "assignee": { "type": "string", "description": "Username to assign to this issue. **This field is deprecated.**" }, "assignees": { "type": "array", "description": "Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped.", "items": { "type": "string" } }, "body": { "type": "string", "description": "The contents of the issue." }, "labels": { "type": "array", "description": "Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped.", "items": { "type": "object", "properties": {}, "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "color": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" } } } ] } }, "milestone": { "type": "object", "properties": {}, "oneOf": [ { "type": "string" }, { "type": "integer", "description": "The `number` of the milestone to associate this issue with or use `null` to remove the current milestone. Only users with push access can set the milestone for issues. Without push access to the repository, milestone changes are silently dropped." } ] }, "state": { "type": "string", "description": "The open or closed state of the issue.", "enum": ["open", "closed"] }, "state_reason": { "type": "string", "description": "The reason for the state change. Ignored unless `state` is changed.", "enum": ["completed", "not_planned", "reopened"], "example": "not_planned" }, "title": { "type": "object", "description": "The title of the issue.", "properties": {}, "oneOf": [ { "type": "string" }, { "type": "integer" } ] } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"assignees\": [\n \"octocat\"\n ],\n \"body\": \"I'm having a problem with this.\",\n \"labels\": [\n \"bug\"\n ],\n \"milestone\": 1,\n \"state\": \"open\",\n \"title\": \"Found a bug\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"assignee\": {\n \"description\": \"Username to assign to this issue. **This field is deprecated.**\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"assignees\": {\n \"description\": \"Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"body\": {\n \"description\": \"The contents of the issue.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"labels\": {\n \"description\": \"Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped.\",\n \"items\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"properties\": {\n \"color\": {\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"description\": {\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"id\": {\n \"type\": \"integer\"\n },\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n ]\n },\n \"type\": \"array\"\n },\n \"milestone\": {\n \"nullable\": true,\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"description\": \"The `number` of the milestone to associate this issue with or use `null` to remove the current milestone. Only users with push access can set the milestone for issues. Without push access to the repository, milestone changes are silently dropped.\",\n \"type\": \"integer\"\n }\n ]\n },\n \"state\": {\n \"description\": \"The open or closed state of the issue.\",\n \"enum\": [\n \"open\",\n \"closed\"\n ],\n \"type\": \"string\"\n },\n \"state_reason\": {\n \"description\": \"The reason for the state change. Ignored unless `state` is changed.\",\n \"enum\": [\n \"completed\",\n \"not_planned\",\n \"reopened\"\n ],\n \"example\": \"not_planned\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"The title of the issue.\",\n \"nullable\": true,\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"integer\"\n }\n ]\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "issues/remove-assignees", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_issue_assignees", "description": { "tagline": "Remove assignees from a GitHub issue.", "detailed": "This tool removes one or more assignees from a specified issue in a GitHub repository. Use it when you need to update issue responsibilities and assign different collaborators." }, "return_annotation": "Confirmation of assignees being removed from an issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is case-insensitive and used to identify the specific repository affected.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_identifier"], "description": "The unique number identifying the GitHub issue to modify.", "endpoint_argument_name": "issue_number" }, { "name": "assignees_to_remove", "alternative_names": ["users_to_remove", "assignees_list"], "description": "List of usernames to remove as assignees from the issue. Only users with push access will see changes.", "endpoint_argument_name": "assignees" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/{issue_number}/assignees", "tags": ["issues"], "summary": "Remove assignees from an issue", "description": "Removes one or more assignees from an issue.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "assignees", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._" }, "description": "Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._", "items": { "type": "string" } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"assignees\": [\n \"hubot\",\n \"other_user\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"assignees\": {\n \"description\": \"Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n }\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/add-assignees", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "assign_github_issue", "description": { "tagline": "Assign users to a GitHub issue.", "detailed": "Use this tool to assign up to 10 users to a GitHub issue without replacing existing assignees." }, "return_annotation": "Confirmation of assignees added to the issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_num"], "description": "The number that identifies the GitHub issue to which assignees will be added.", "endpoint_argument_name": "issue_number" }, { "name": "assignee_usernames", "alternative_names": ["usernames_for_assignment", "users_to_assign"], "description": "Usernames of people to assign to the issue. Only users with push access can be assigned.", "endpoint_argument_name": "assignees" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/issues/{issue_number}/assignees", "tags": ["issues"], "summary": "Add assignees to an issue", "description": "Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "assignees", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._" }, "description": "Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._", "items": { "type": "string" } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"assignees\": [\n \"hubot\",\n \"other_user\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"assignees\": {\n \"description\": \"Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/check-user-can-be-assigned-to-issue", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_user_assign_permission", "description": { "tagline": "Check if a user can be assigned to a GitHub issue.", "detailed": "Use this tool to verify if a specific user can be assigned as an assignee to a particular issue in a GitHub repository. A 204 status indicates permission, while a 404 indicates the user cannot be assigned." }, "return_annotation": "Returns permission status for user assignment to an issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository, not case sensitive, where the issue is located.", "endpoint_argument_name": "repo" }, { "name": "issue_identifier", "alternative_names": ["issue_id", "ticket_number"], "description": "The number that identifies the specific issue in the repository.", "endpoint_argument_name": "issue_number" }, { "name": "assignee_username", "alternative_names": ["user_username", "assignee_name"], "description": "The GitHub username of the person to check for assignment permission.", "endpoint_argument_name": "assignee" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}", "tags": ["issues"], "summary": "Check if a user can be assigned to a issue", "description": "Checks if a user has permission to be assigned to a specific issue.\n\nIf the `assignee` can be assigned to this issue, a `204` status code with no content is returned.\n\nOtherwise a `404` status code is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "assignee", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-comments", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_issue_comments", "description": { "tagline": "Retrieve comments for a specific GitHub issue.", "detailed": "Use this tool to get all comments for a specific issue in a GitHub repository. It\u2019s useful when you need to review discussions or updates on a particular issue." }, "return_annotation": "A list of comments for a specific GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Provide the username as a case-insensitive string.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository (case insensitive).", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "ticket_number"], "description": "The unique number identifying the GitHub issue to retrieve comments for.", "endpoint_argument_name": "issue_number" }, { "name": "since_timestamp", "alternative_names": ["since_time", "updated_after"], "description": "Show notifications updated after this time in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "comments_per_page"], "description": "The number of comments to retrieve per page, maximum 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "page_index"], "description": "Specify the page number of results to fetch when listing comments for pagination purposes.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}/comments", "tags": ["issues"], "summary": "List issue comments", "description": "Issue Comments are ordered by ascending ID.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/create-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "github_create_issue_comment", "description": { "tagline": "Create a comment on a GitHub issue.", "detailed": "Use this tool to add a comment to a specific issue in a GitHub repository. Ensure you manage content creation speed to avoid secondary rate limiting." }, "return_annotation": "Confirmation of the created issue comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository where the issue is located. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_identifier", "alternative_names": ["issue_id", "issue_no"], "description": "The unique number identifying the GitHub issue.", "endpoint_argument_name": "issue_number" }, { "name": "comment_content", "alternative_names": ["comment_body", "issue_comment_content"], "description": "The text content of the comment to be added to the issue.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/issues/{issue_number}/comments", "tags": ["issues"], "summary": "Create an issue comment", "description": "This endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the comment." }, "description": "The contents of the comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the comment." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Me too\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The contents of the comment.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/list-events", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_issue_events", "description": { "tagline": "Retrieve events for a specific GitHub issue.", "detailed": "This tool fetches a list of events related to a particular issue in a specified GitHub repository. It is useful for tracking changes, updates, and interactions associated with an issue." }, "return_annotation": "List of events for a specific GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This input is case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_no"], "description": "The number that identifies the issue within the repository. This is required to fetch the related events.", "endpoint_argument_name": "issue_number" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "The number of issue events to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "current_page_number"], "description": "The page number to fetch results from when listing issue events.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}/events", "tags": ["issues"], "summary": "List issue events", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/remove-all-labels", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_all_labels_from_github_issue", "description": { "tagline": "Remove all labels from a GitHub issue.", "detailed": "Use this tool to remove all labels from a specific issue in a GitHub repository. It should be called when you need to clear labels from an issue efficiently." }, "return_annotation": "Confirmation of label removal from the issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository, case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive and must be provided as a string.", "endpoint_argument_name": "repo" }, { "name": "github_issue_number", "alternative_names": ["issue_id_github", "github_issue_id"], "description": "The identifier number for the GitHub issue from which all labels should be removed.", "endpoint_argument_name": "issue_number" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/{issue_number}/labels", "tags": ["issues"], "summary": "Remove all labels from an issue", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-labels-on-issue", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_labels_on_github_issue", "description": { "tagline": "Retrieve all labels associated with a GitHub issue.", "detailed": "Use this tool to get all labels on a specific GitHub issue by providing the repository owner, repository name, and issue number." }, "return_annotation": "List of labels for a specific GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Provide a non-case-sensitive string.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive and identifies where the issue is located.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_index"], "description": "The unique identifier for the GitHub issue you wish to retrieve labels for.", "endpoint_argument_name": "issue_number" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Number of labels to retrieve per page, maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The page number of results to fetch from the GitHub API for an issue's labels.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}/labels", "tags": ["issues"], "summary": "List labels for an issue", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/add-labels", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_labels_to_github_issue", "description": { "tagline": "Add labels to a GitHub issue to categorize it.", "detailed": "Use this tool to apply one or more labels to a specific issue in a GitHub repository. It helps in categorizing and organizing issues for better project management." }, "return_annotation": "Confirmation of labels being added to the issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository where the issue exists. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_identifier"], "description": "The numeric identifier of the issue to which labels will be added.", "endpoint_argument_name": "issue_number" }, { "name": "labels_to_add", "alternative_names": ["labels_list", "issue_labels"], "description": "A list of labels to add to the GitHub issue. Each label is a string.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/issues/{issue_number}/labels", "tags": ["issues"], "summary": "Add labels to an issue", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "labels": { "type": "array", "description": "The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see \"[Set labels for an issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#set-labels-for-an-issue).\"", "items": { "type": "string" } } } }, { "type": "array", "items": { "type": "string" } }, { "type": "object", "properties": { "labels": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" } }, "required": ["name"] } } } }, { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" } }, "required": ["name"] } }, { "type": "string" } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"bug\",\n \"enhancement\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see \\\"[Set labels for an issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#set-labels-for-an-issue).\\\"\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n },\n {\n \"properties\": {\n \"labels\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n },\n {\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "issues/set-labels", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_issue_labels", "description": { "tagline": "Set new labels for a GitHub issue.", "detailed": "Use this tool to remove all existing labels and apply new labels to a specified issue in a GitHub repository. Ideal for organizing and categorizing issues effectively." }, "return_annotation": "Confirmation of updated labels for the GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name of the repository owner. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository. This is not case sensitive and identifies the repository within which the issue resides.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_identifier"], "description": "The unique identifier number for the GitHub issue to update labels.", "endpoint_argument_name": "issue_number" }, { "name": "new_labels", "alternative_names": ["issue_labels", "labels_to_set"], "description": "A list of new labels to set for the GitHub issue, formatted as JSON array of strings.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/issues/{issue_number}/labels", "tags": ["issues"], "summary": "Set labels for an issue", "description": "Removes any previous labels and sets the new labels for an issue.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "labels": { "type": "array", "description": "The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see \"[Add labels to an issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#add-labels-to-an-issue).\"", "items": { "type": "string" } } } }, { "type": "array", "items": { "type": "string" } }, { "type": "object", "properties": { "labels": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" } }, "required": ["name"] } } } }, { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" } }, "required": ["name"] } }, { "type": "string" } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"labels\": [\n \"bug\",\n \"enhancement\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"properties\": {\n \"labels\": {\n \"description\": \"The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see \\\"[Add labels to an issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#add-labels-to-an-issue).\\\"\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n },\n {\n \"properties\": {\n \"labels\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n },\n \"minItems\": 1,\n \"type\": \"array\"\n },\n {\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "issues/remove-label", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_issue_label", "description": { "tagline": "Remove a specified label from a GitHub issue.", "detailed": "Use this tool to remove a specific label from a GitHub issue and retrieve the remaining labels on that issue. It returns an error if the label does not exist." }, "return_annotation": "Remaining labels on the issue after removal.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_of_repository"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository where the issue resides. It is case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_no"], "description": "The unique number identifying the issue in the repository.", "endpoint_argument_name": "issue_number" }, { "name": "label_name", "alternative_names": ["label_to_remove", "target_label_name"], "description": "Specifies the label to be removed from the GitHub issue. The label name is case-sensitive.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "tags": ["issues"], "summary": "Remove a label from an issue", "description": "Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/unlock", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unlock_github_issue", "description": { "tagline": "Unlock a locked GitHub issue conversation.", "detailed": "Use this tool to unlock a previously locked conversation on a GitHub issue if you have push access to the repository. This action is useful when you need to re-enable discussion on an issue." }, "return_annotation": "Confirmation of issue unlock action.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_id", "alternative_names": ["issue_num", "id_of_issue"], "description": "The unique identifier for the GitHub issue to be unlocked.", "endpoint_argument_name": "issue_number" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/{issue_number}/lock", "tags": ["issues"], "summary": "Unlock an issue", "description": "Users with push access can unlock an issue's conversation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/lock", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "lock_github_issue", "description": { "tagline": "Lock a GitHub issue or pull request conversation.", "detailed": "Use this tool to prevent further interactions with a specific GitHub issue or pull request by locking its conversation. It requires push access to the repository." }, "return_annotation": "Indicates success of locking the issue or pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository in which the issue or pull request exists. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_identifier"], "description": "The number that identifies the GitHub issue to lock.", "endpoint_argument_name": "issue_number" }, { "name": "issue_lock_reason", "alternative_names": ["conversation_lock_reason", "pr_lock_reason"], "description": "The reason for locking the conversation. Acceptable values: 'off-topic', 'too heated', 'resolved', 'spam'.", "endpoint_argument_name": "lock_reason" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/issues/{issue_number}/lock", "tags": ["issues"], "summary": "Lock an issue", "description": "Users with push access can lock an issue or pull request's conversation.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "lock_reason", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["off-topic", "too heated", "resolved", "spam"], "properties": null, "inner_properties": null, "description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n * `off-topic` \n * `too heated` \n * `resolved` \n * `spam`" }, "description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n * `off-topic` \n * `too heated` \n * `resolved` \n * `spam`", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n * `off-topic` \n * `too heated` \n * `resolved` \n * `spam`", "enum": ["off-topic", "too heated", "resolved", "spam"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example of locking an issue as off-topic\",\n \"value\": {\n \"lock_reason\": \"off-topic\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"lock_reason\": {\n \"description\": \"The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \\n * `off-topic` \\n * `too heated` \\n * `resolved` \\n * `spam`\",\n \"enum\": [\n \"off-topic\",\n \"too heated\",\n \"resolved\",\n \"spam\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/list-for-issue", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_issue_reactions", "description": { "tagline": "Retrieve reactions from a GitHub issue.", "detailed": "This tool retrieves the list of reactions for a specified issue in a GitHub repository. It should be called when you need to understand the community's reactions to a particular issue." }, "return_annotation": "Reactions for a specified GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "ticket_number"], "description": "The number that identifies the issue in the GitHub repository.", "endpoint_argument_name": "issue_number" }, { "name": "reaction_type_to_filter", "alternative_names": ["filter_by_reaction_type", "specific_reaction_type"], "description": "Filter reactions by a specific type (e.g., '+1', 'heart'). Omit to list all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["num_results_per_page", "page_size"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "pagination_page"], "description": "Specify the page number of results to fetch. Useful for pagination through large result sets.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}/reactions", "tags": ["reactions"], "summary": "List reactions for an issue", "description": "List the reactions to an [issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-issue", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_reaction_to_github_issue", "description": { "tagline": "Add a reaction to a GitHub issue.", "detailed": "Use this tool to add a specific reaction to a GitHub issue. If a reaction has already been added by the user, a response with HTTP status 200 will confirm this. Suitable for managing issue reactions on GitHub repositories." }, "return_annotation": "Indicates success or if the reaction was already added.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "github_owner"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "github_issue_number", "alternative_names": ["github_issue_id", "issue_identifier"], "description": "The number that uniquely identifies the issue on GitHub.", "endpoint_argument_name": "issue_number" }, { "name": "reaction_type_to_add", "alternative_names": ["issue_reaction_type", "issue_reaction_content"], "description": "The reaction type to add to the issue. Options include '+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/issues/{issue_number}/reactions", "tags": ["reactions"], "summary": "Create reaction for an issue", "description": "Create a reaction to an [issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the issue.\",\n \"enum\": [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-issue", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_issue_reaction", "description": { "tagline": "Deletes a reaction from a GitHub issue.", "detailed": "Use this tool to delete a specific reaction on an issue in a GitHub repository. This is useful for managing feedback and maintaining issues without unnecessary reactions." }, "return_annotation": "Confirmation of reaction deletion from a GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive. It identifies which repository the issue belongs to.", "endpoint_argument_name": "repo" }, { "name": "issue_number", "alternative_names": ["issue_id", "issue_identifier"], "description": "The number identifying the issue in the repository.", "endpoint_argument_name": "issue_number" }, { "name": "reaction_identifier", "alternative_names": ["reaction_id_number", "unique_reaction_id"], "description": "The unique identifier of the reaction to be deleted from a GitHub issue.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete an issue reaction", "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`.\n\nDelete a reaction to an [issue](https://docs.github.com/enterprise-server@3.8/rest/reference/issues/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-events-for-timeline", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_issue_timeline_events", "description": { "tagline": "Retrieve timeline events for a GitHub issue.", "detailed": "Use this tool to fetch and list all timeline events for a specific issue in a GitHub repository. It should be called when detailed event information about an issue's timeline is needed." }, "return_annotation": "Timeline events for a specified GitHub issue.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository in GitHub. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "issue_identifier", "alternative_names": ["issue_id", "issue_num"], "description": "The unique number identifying the GitHub issue.", "endpoint_argument_name": "issue_number" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "Specify the number of timeline events to retrieve per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "results_page"], "description": "Page number of results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/issues/{issue_number}/timeline", "tags": ["issues"], "summary": "List timeline events for an issue", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "issue_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the issue." }, "description": "The number that identifies the issue.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-deploy-keys", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_deploy_keys", "description": { "tagline": "Retrieve deploy keys for a specific GitHub repository.", "detailed": "This tool is used to retrieve the list of deploy keys associated with a specified GitHub repository, identified by its owner and repository name. It's useful for managing access controls and integrations." }, "return_annotation": "A list of deploy keys for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive and identifies which repository's deploy keys are listed.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_page"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "fetch_page"], "description": "Specify the page number of the deploy keys results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/keys", "tags": ["repos"], "summary": "List deploy keys", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-deploy-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_deploy_key", "description": { "tagline": "Create a read-only deploy key for a GitHub repository.", "detailed": "Use this tool to generate a read-only deploy key for a specified GitHub repository. Ideal for automating and securing repository access." }, "return_annotation": "A confirmation of the created read-only deploy key.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. Name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The case-insensitive name of the GitHub repository.", "endpoint_argument_name": "repo" }, { "name": "deploy_key_contents", "alternative_names": ["ssh_key_contents", "public_key_contents"], "description": "The public key contents to be added as a deploy key.", "endpoint_argument_name": "key" }, { "name": "key_title", "alternative_names": ["deploy_key_name", "key_identifier"], "description": "A name for the deploy key for identification purposes.", "endpoint_argument_name": "title" }, { "name": "read_only_access", "alternative_names": ["deploy_key_read_only", "deploy_key_access_mode"], "description": "Set to `true` for read-only access. `False` allows both read and write access.", "endpoint_argument_name": "read_only" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/keys", "tags": ["repos"], "summary": "Create a deploy key", "description": "You can create a read-only deploy key.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the key." }, "description": "The contents of the key.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the key." }, "schema_required": true }, { "name": "read_only", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://docs.github.com/enterprise-server@3.8/articles/permission-levels-for-a-user-account-repository/).\"" }, "description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://docs.github.com/enterprise-server@3.8/articles/permission-levels-for-a-user-account-repository/).\"", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://docs.github.com/enterprise-server@3.8/articles/permission-levels-for-a-user-account-repository/).\"" }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A name for the key." }, "description": "A name for the key.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A name for the key." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"key\": \"ssh-rsa AAA...\",\n \"read_only\": true,\n \"title\": \"octocat@octomac\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"key\": {\n \"description\": \"The contents of the key.\",\n \"type\": \"string\"\n },\n \"read_only\": {\n \"description\": \"If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \\n \\nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \\\"[Repository permission levels for an organization](https://docs.github.com/enterprise-server@3.8/articles/repository-permission-levels-for-an-organization/)\\\" and \\\"[Permission levels for a user account repository](https://docs.github.com/enterprise-server@3.8/articles/permission-levels-for-a-user-account-repository/).\\\"\",\n \"type\": \"boolean\"\n },\n \"title\": {\n \"description\": \"A name for the key.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/delete-deploy-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_deploy_key", "description": { "tagline": "Delete a deploy key from a GitHub repository.", "detailed": "Use this tool to delete an SSH deploy key from a specified GitHub repository. This is useful when you need to remove access provided by the key or when updating it (as keys are immutable on GitHub)." }, "return_annotation": "Confirmation of deploy key deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "deploy_key_id", "alternative_names": ["ssh_key_id", "unique_key_identifier"], "description": "The unique identifier for the deploy key to be deleted from the repository.", "endpoint_argument_name": "key_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/keys/{key_id}", "tags": ["repos"], "summary": "Delete a deploy key", "description": "Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the key." }, "description": "The unique identifier of the key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-deploy-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_deploy_key", "description": { "tagline": "Retrieve a deploy key from a GitHub repository.", "detailed": "This tool retrieves the details of a specific deploy key associated with a GitHub repository. It should be used when you need to access information about a deploy key for a specified repository and key ID." }, "return_annotation": "Details of a GitHub repository's deploy key.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "deploy_key_id", "alternative_names": ["key_identifier", "deployment_key_id"], "description": "The unique identifier of the deploy key to retrieve from the repository.", "endpoint_argument_name": "key_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/keys/{key_id}", "tags": ["repos"], "summary": "Get a deploy key", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the key." }, "description": "The unique identifier of the key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-labels-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repository_labels", "description": { "tagline": "Retrieve labels for a GitHub repository.", "detailed": "Use this tool to obtain the list of labels associated with a specified repository on GitHub. It helps in identifying the categories or tags used for organizing issues within the repository." }, "return_annotation": "A list of labels for a specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the repository owner. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_title"], "description": "The name of the GitHub repository, not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["results_per_page_limit", "page_results_count"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["fetch_page_number", "results_page_num"], "description": "The specific page number of results to fetch. Use this to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/labels", "tags": ["issues"], "summary": "List labels for a repository", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/create-label", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_label", "description": { "tagline": "Creates a label in a specified GitHub repository.", "detailed": "Use this tool to add a new label to a GitHub repository, which can help categorize and manage issues effectively." }, "return_annotation": "Information about the created GitHub label.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the GitHub repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "label_name", "alternative_names": ["label_title", "label_identifier"], "description": "The name of the label, supporting emojis using either native emoji or colon-style markup.", "endpoint_argument_name": "name" }, { "name": "label_color_hex", "alternative_names": ["label_color_code", "label_hex_code"], "description": "The hexadecimal color code for the label, without the leading '#'.", "endpoint_argument_name": "color" }, { "name": "label_description", "alternative_names": ["description_text", "label_summary"], "description": "A short description of the label, with a maximum of 100 characters.", "endpoint_argument_name": "description" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/labels", "tags": ["issues"], "summary": "Create a label", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "color", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." }, "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." }, "schema_required": false }, { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the label. Must be 100 characters or fewer." }, "description": "A short description of the label. Must be 100 characters or fewer.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A short description of the label. Must be 100 characters or fewer." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\"" }, "description": "The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\"", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\"" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"color\": \"f29513\",\n \"description\": \"Something isn't working\",\n \"name\": \"bug\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"color\": {\n \"description\": \"The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.\",\n \"type\": \"string\"\n },\n \"description\": {\n \"description\": \"A short description of the label. Must be 100 characters or fewer.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \\\":strawberry:\\\"). For a full list of available emoji and codes, see \\\"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\\\"\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/delete-label", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_label", "description": { "tagline": "Delete a label from a GitHub repository.", "detailed": "Use this tool to delete a specific label from a GitHub repository. It should be called when you need to remove a label identified by its name from a particular repository, specified by the owner and repository name." }, "return_annotation": "Confirmation of label deletion from the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository from which to delete the label. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "label_name", "alternative_names": ["label_title", "tag_name"], "description": "The name of the label to delete from the repository. It should match the label exactly.", "endpoint_argument_name": "name" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/labels/{name}", "tags": ["issues"], "summary": "Delete a label", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/get-label", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_label", "description": { "tagline": "Retrieve details of a GitHub repository label.", "detailed": "Call this tool to get information about a specific label from a GitHub repository, including its details and specifications." }, "return_annotation": "Details of a specific GitHub label for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "label_name", "alternative_names": ["tag_name", "label_identifier"], "description": "The specific name of the label to retrieve from the GitHub repository.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/labels/{name}", "tags": ["issues"], "summary": "Get a label", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/update-label", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_label", "description": { "tagline": "Update a label on a GitHub repository.", "detailed": "Use this tool to update a label in a specified GitHub repository. It is useful when label details need modification, such as changing the name or color." }, "return_annotation": "Details of the updated GitHub label.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_identifier", "repository_title"], "description": "The name of the repository to update the label in. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "current_label_name", "alternative_names": ["existing_label_name", "label_name_to_update"], "description": "The current name of the label to be updated. It should match exactly the label's existing name.", "endpoint_argument_name": "name" }, { "name": "label_color_hex_code", "alternative_names": ["hex_color_for_label", "label_hex_value"], "description": "The hexadecimal color code for the label, excluding the leading `#`.", "endpoint_argument_name": "color" }, { "name": "label_description", "alternative_names": ["description_text", "label_info"], "description": "A short description of the label, limited to 100 characters or fewer.", "endpoint_argument_name": "description" }, { "name": "new_label_name", "alternative_names": ["label_new_name", "updated_label_name"], "description": "The updated label name for the GitHub label. Emojis can be embedded using native or colon-style markup (e.g., :strawberry:). For available emojis, refer to the Emoji cheat sheet.", "endpoint_argument_name": "new_name" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/labels/{name}", "tags": ["issues"], "summary": "Update a label", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "color", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." }, "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." }, "schema_required": false }, { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the label. Must be 100 characters or fewer." }, "description": "A short description of the label. Must be 100 characters or fewer.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A short description of the label. Must be 100 characters or fewer." }, "schema_required": false }, { "name": "new_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\"" }, "description": "The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\"", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\"" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"color\": \"b01f26\",\n \"description\": \"Small bug fix required\",\n \"new_name\": \"bug :bug:\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"color\": {\n \"description\": \"The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.\",\n \"type\": \"string\"\n },\n \"description\": {\n \"description\": \"A short description of the label. Must be 100 characters or fewer.\",\n \"type\": \"string\"\n },\n \"new_name\": {\n \"description\": \"The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \\\":strawberry:\\\"). For a full list of available emoji and codes, see \\\"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\\\"\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/list-languages", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_languages", "description": { "tagline": "List programming languages used in a GitHub repository.", "detailed": "This tool retrieves the languages used in a specified GitHub repository, along with the number of bytes of code written in each language. It should be called when you need to find out which programming languages are utilized in a repository on GitHub." }, "return_annotation": "Languages and byte count for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case insensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/languages", "tags": ["repos"], "summary": "List repository languages", "description": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/disable-lfs-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "disable_lfs_for_github_repo", "description": { "tagline": "Disable Git LFS for a specified GitHub repository.", "detailed": "Use this tool to disable Git Large File Storage (LFS) for a specific GitHub repository. Requires admin access." }, "return_annotation": "Confirmation of Git LFS being disabled for the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to disable LFS for. This value is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/lfs", "tags": ["repos"], "summary": "Disable Git LFS for a repository", "description": "Disables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/enable-lfs-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "enable_git_lfs", "description": { "tagline": "Enables Git LFS for a specified repository.", "detailed": "Use this tool to activate Git Large File Storage (LFS) for a given repository. The access token must have the `admin:enterprise` scope." }, "return_annotation": "Confirmation of Git LFS being enabled for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/lfs", "tags": ["repos"], "summary": "Enable Git LFS for a repository", "description": "Enables Git LFS for a repository. Access tokens must have the `admin:enterprise` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "licenses/get-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_license", "description": { "tagline": "Fetch the license file of a GitHub repository.", "detailed": "This tool retrieves the contents of a repository's license file from GitHub if one is detected. It can handle both raw license content and rendered HTML. Use this tool to understand the licensing terms associated with any given repository." }, "return_annotation": "License details for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_label"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/license", "tags": ["licenses"], "summary": "Get the license for a repository", "description": "This method returns the contents of the repository's license file, if one is detected.\n\nSimilar to [Get repository content](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/merge-upstream", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "sync_fork_with_upstream", "description": { "tagline": "Sync a forked repository's branch with the upstream repo.", "detailed": "Use this tool to update a branch of a forked GitHub repository, ensuring it is up-to-date with changes from the upstream repository." }, "return_annotation": "Confirmation of branch synced with upstream.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to update. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "branch_name_to_sync", "alternative_names": ["branch_to_update", "target_branch_name"], "description": "The name of the branch in the forked repository to update with upstream changes.", "endpoint_argument_name": "branch" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/merge-upstream", "tags": ["repos"], "summary": "Sync a fork branch with the upstream repository", "description": "Sync a branch of a forked repository to keep it up-to-date with the upstream repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "branch", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the branch which should be updated to match upstream." }, "description": "The name of the branch which should be updated to match upstream.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the branch which should be updated to match upstream." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"branch\": \"main\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"branch\": {\n \"description\": \"The name of the branch which should be updated to match upstream.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"branch\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/merge", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "merge_github_branch", "description": { "tagline": "Merge a branch into a GitHub repository.", "detailed": "Use this tool when you need to merge one branch into another in a GitHub repository. It facilitates branch management by integrating changes from different branches." }, "return_annotation": "Details of the merged branch.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "base_branch_name", "alternative_names": ["target_branch_name", "destination_branch_name"], "description": "The name of the base branch that the head will be merged into. This is the branch you want to merge changes into.", "endpoint_argument_name": "base" }, { "name": "head_branch_or_commit_sha", "alternative_names": ["source_branch_or_commit", "merge_source_identifier"], "description": "The branch name or commit SHA1 to be merged into the base branch.", "endpoint_argument_name": "head" }, { "name": "merge_commit_message", "alternative_names": ["merge_message", "commit_msg"], "description": "Custom commit message for the merge. Defaults to a standard message if not provided.", "endpoint_argument_name": "commit_message" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/merges", "tags": ["repos"], "summary": "Merge a branch", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "base", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the base branch that the head will be merged into." }, "description": "The name of the base branch that the head will be merged into.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the base branch that the head will be merged into." }, "schema_required": true }, { "name": "commit_message", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Commit message to use for the merge commit. If omitted, a default message will be used." }, "description": "Commit message to use for the merge commit. If omitted, a default message will be used.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Commit message to use for the merge commit. If omitted, a default message will be used." }, "schema_required": false }, { "name": "head", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The head to merge. This can be a branch name or a commit SHA1." }, "description": "The head to merge. This can be a branch name or a commit SHA1.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The head to merge. This can be a branch name or a commit SHA1." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"base\": \"master\",\n \"commit_message\": \"Shipped cool_feature!\",\n \"head\": \"cool_feature\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"base\": {\n \"description\": \"The name of the base branch that the head will be merged into.\",\n \"type\": \"string\"\n },\n \"commit_message\": {\n \"description\": \"Commit message to use for the merge commit. If omitted, a default message will be used.\",\n \"type\": \"string\"\n },\n \"head\": {\n \"description\": \"The head to merge. This can be a branch name or a commit SHA1.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"base\",\n \"head\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/list-milestones", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_milestones", "description": { "tagline": "Retrieve milestones from a GitHub repository.", "detailed": "Use this tool to list all milestones for a specified GitHub repository. Ideal for managing project timelines and tracking progress." }, "return_annotation": "Milestones for a specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_state", "alternative_names": ["state_of_milestone", "milestone_filter"], "description": "Denotes the state of milestones to fetch: 'open', 'closed', or 'all'.", "endpoint_argument_name": "state" }, { "name": "sort_milestones", "alternative_names": ["order_milestones", "arrange_milestones"], "description": "Criteria to sort milestones by. Options include `due_on` for due date or `completeness` for progress.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["order_direction", "sorting_order"], "description": "The direction for sorting milestones: 'asc' for ascending or 'desc' for descending order.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["number_of_results", "items_per_page"], "description": "The number of results to display per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "The page number of milestones results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/milestones", "tags": ["issues"], "summary": "List milestones", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "The state of the milestone. Either `open`, `closed`, or `all`." }, "description": "The state of the milestone. Either `open`, `closed`, or `all`.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["due_on", "completeness"], "properties": null, "inner_properties": null, "description": "What to sort results by. Either `due_on` or `completeness`." }, "description": "What to sort results by. Either `due_on` or `completeness`.", "required": false, "deprecated": false, "default": "due_on", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["due_on", "completeness"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction of the sort. Either `asc` or `desc`." }, "description": "The direction of the sort. Either `asc` or `desc`.", "required": false, "deprecated": false, "default": "asc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/create-milestone", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_milestone", "description": { "tagline": "Create a milestone in a GitHub repository.", "detailed": "Use this tool to create a new milestone in a specified GitHub repository, useful for project management and tracking." }, "return_annotation": "Details of the created GitHub milestone.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The GitHub username or organization name that owns the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_title", "alternative_names": ["milestone_name", "title_of_milestone"], "description": "The title of the milestone to be created in the GitHub repository.", "endpoint_argument_name": "title" }, { "name": "milestone_description", "alternative_names": ["milestone_detail", "milestone_info"], "description": "A text description of the milestone to be created in the GitHub repository.", "endpoint_argument_name": "description" }, { "name": "milestone_due_date", "alternative_names": ["due_date_for_milestone", "milestone_deadline"], "description": "The due date for the milestone in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "due_on" }, { "name": "milestone_state", "alternative_names": ["state_of_milestone", "milestone_status"], "description": "State of the milestone, either 'open' or 'closed'.", "endpoint_argument_name": "state" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/milestones", "tags": ["issues"], "summary": "Create a milestone", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A description of the milestone." }, "description": "A description of the milestone.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A description of the milestone." }, "schema_required": false }, { "name": "due_on", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed"], "properties": null, "inner_properties": null, "description": "The state of the milestone. Either `open` or `closed`." }, "description": "The state of the milestone. Either `open` or `closed`.", "required": false, "deprecated": false, "default": "open", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of the milestone. Either `open` or `closed`.", "enum": ["open", "closed"] }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the milestone." }, "description": "The title of the milestone.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The title of the milestone." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"Tracking milestone for version 1.0\",\n \"due_on\": \"2012-10-09T23:39:01+00:00\",\n \"state\": \"open\",\n \"title\": \"v1.0\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A description of the milestone.\",\n \"type\": \"string\"\n },\n \"due_on\": {\n \"description\": \"The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"state\": {\n \"default\": \"open\",\n \"description\": \"The state of the milestone. Either `open` or `closed`.\",\n \"enum\": [\n \"open\",\n \"closed\"\n ],\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"The title of the milestone.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"title\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/delete-milestone", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_milestone", "description": { "tagline": "Delete a milestone from a GitHub repository.", "detailed": "Use this tool to delete a specific milestone from a GitHub repository by providing the repository owner, name, and milestone number." }, "return_annotation": "Confirmation of milestone deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This should match the GitHub username or organization name. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The repository name on GitHub, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_identifier", "alternative_names": ["milestone_num", "milestone_id"], "description": "The unique number that identifies the milestone to be deleted.", "endpoint_argument_name": "milestone_number" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/milestones/{milestone_number}", "tags": ["issues"], "summary": "Delete a milestone", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "milestone_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the milestone." }, "description": "The number that identifies the milestone.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/get-milestone", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_milestone", "description": { "tagline": "Retrieve details of a GitHub milestone for a repository.", "detailed": "This tool is used to obtain information about a specific milestone in a GitHub repository. It should be called when you need to access details such as the milestone's due date, description, or state." }, "return_annotation": "Detailed information about a GitHub milestone.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository for which the milestone information is needed. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_id", "alternative_names": ["milestone_identifier", "milestone_ref"], "description": "The unique number identifying the milestone to retrieve details from a GitHub repository.", "endpoint_argument_name": "milestone_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/milestones/{milestone_number}", "tags": ["issues"], "summary": "Get a milestone", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "milestone_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the milestone." }, "description": "The number that identifies the milestone.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/update-milestone", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_milestone", "description": { "tagline": "Update a GitHub repository milestone.", "detailed": "Use to modify an existing milestone in a GitHub repository, such as changing due dates, titles, or descriptions." }, "return_annotation": "Confirmation of the milestone update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_id", "alternative_names": ["milestone_identifier", "milestone_num"], "description": "The unique number identifying the milestone to update.", "endpoint_argument_name": "milestone_number" }, { "name": "milestone_description", "alternative_names": ["milestone_notes", "milestone_details"], "description": "A brief description of the milestone to be updated.", "endpoint_argument_name": "description" }, { "name": "milestone_due_date", "alternative_names": ["milestone_due_on", "milestone_deadline"], "description": "The due date for the milestone in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "due_on" }, { "name": "milestone_state", "alternative_names": ["state_of_milestone", "milestone_status"], "description": "The state of the milestone. Accepted values are 'open' or 'closed'.", "endpoint_argument_name": "state" }, { "name": "milestone_title", "alternative_names": ["milestone_name", "title_of_milestone"], "description": "The title of the milestone to be updated in the GitHub repository.", "endpoint_argument_name": "title" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/milestones/{milestone_number}", "tags": ["issues"], "summary": "Update a milestone", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "milestone_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the milestone." }, "description": "The number that identifies the milestone.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A description of the milestone." }, "description": "A description of the milestone.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A description of the milestone." }, "schema_required": false }, { "name": "due_on", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "format": "date-time" }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed"], "properties": null, "inner_properties": null, "description": "The state of the milestone. Either `open` or `closed`." }, "description": "The state of the milestone. Either `open` or `closed`.", "required": false, "deprecated": false, "default": "open", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of the milestone. Either `open` or `closed`.", "enum": ["open", "closed"] }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the milestone." }, "description": "The title of the milestone.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The title of the milestone." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"Tracking milestone for version 1.0\",\n \"due_on\": \"2012-10-09T23:39:01+00:00\",\n \"state\": \"open\",\n \"title\": \"v1.0\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A description of the milestone.\",\n \"type\": \"string\"\n },\n \"due_on\": {\n \"description\": \"The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"state\": {\n \"default\": \"open\",\n \"description\": \"The state of the milestone. Either `open` or `closed`.\",\n \"enum\": [\n \"open\",\n \"closed\"\n ],\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"The title of the milestone.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "issues/list-labels-for-milestone", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_labels_for_milestone", "description": { "tagline": "Retrieve labels for issues in a specific milestone on GitHub.", "detailed": "Use this tool to get a list of labels applied to issues within a specific milestone in a GitHub repository. Ideal for tracking or categorizing issues based on milestone labels." }, "return_annotation": "List of labels associated with a milestone's issues.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository for which to list milestone labels. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "milestone_number", "alternative_names": ["milestone_id", "milestone_identifier"], "description": "The number that uniquely identifies the milestone in the repository.", "endpoint_argument_name": "milestone_number" }, { "name": "results_per_page", "alternative_names": ["items_limit_per_page", "max_results"], "description": "Specify the number of results per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["pagination_page_number", "results_page_index"], "description": "Specify the page number of results to fetch for listing milestone labels.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "tags": ["issues"], "summary": "List labels for issues in a milestone", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "milestone_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the milestone." }, "description": "The number that identifies the milestone.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-repo-notifications-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_notifications", "description": { "tagline": "Retrieve notifications for the user in a specific repository.", "detailed": "This tool lists all notifications for the authenticated user in a specified GitHub repository. Use it to keep track of issues, pull requests, and other updates relevant to the user." }, "return_annotation": "A list of notifications for the user in the specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "updated_after_timestamp", "alternative_names": ["notifications_since", "start_time"], "description": "Show notifications updated after this timestamp. Use ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "updated_before", "alternative_names": ["notifications_before", "fetch_before_date"], "description": "Display notifications updated before this time in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).", "endpoint_argument_name": "before" }, { "name": "results_per_page", "alternative_names": ["notifications_per_page", "items_per_page"], "description": "Number of notifications to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specify the page number of the results to fetch. Useful for paginating through notifications.", "endpoint_argument_name": "page" }, { "name": "include_read_notifications", "alternative_names": ["show_read_notifications", "display_read_notifications"], "description": "If `true`, include notifications that have been marked as read.", "endpoint_argument_name": "all" }, { "name": "show_only_participation_notifications", "alternative_names": [ "filter_to_participation_notifications", "include_only_participation_mentions" ], "description": "If `true`, only show notifications where the user is directly participating or mentioned.", "endpoint_argument_name": "participating" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/notifications", "tags": ["activity"], "summary": "List repository notifications for the authenticated user", "description": "Lists all notifications for the current user in the specified repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "all", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, show notifications marked as read." }, "description": "If `true`, show notifications marked as read.", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "participating", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If `true`, only shows notifications in which the user is directly participating or mentioned." }, "description": "If `true`, only shows notifications in which the user is directly participating or mentioned.", "required": false, "deprecated": false, "default": false, "location": "query", "content_type": null, "json_schema": { "type": "boolean" }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/mark-repo-notifications-as-read", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "mark_repo_notifications_as_read", "description": { "tagline": "Mark all repository notifications as read for the user.", "detailed": "Use this tool to mark all notifications in a specified repository as read for the authenticated user. If there are too many notifications, the process may be completed asynchronously." }, "return_annotation": "Confirmation of notifications marked as read.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repo_owner_name"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "last_checked_timestamp", "alternative_names": ["last_read_time", "notifications_checked_time"], "description": "Timestamp for last notification check in ISO 8601 format. Omitting marks all as read. Defaults to current time if omitted.", "endpoint_argument_name": "last_read_at" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/notifications", "tags": ["activity"], "summary": "Mark repository notifications as read", "description": "Marks all notifications in a repository as \"read\" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub Enterprise Server will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "last_read_at", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp." }, "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.", "format": "date-time" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"last_read_at\": \"2019-01-01T00:00:00+00:00\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"last_read_at\": {\n \"description\": \"Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/delete-pages-site", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_pages_site", "description": { "tagline": "Delete a GitHub Pages site from a repository.", "detailed": "Use this tool to delete a GitHub Pages site from a specified repository. Requires repository admin or maintainer permissions with appropriate GitHub token scopes." }, "return_annotation": "Confirmation of deletion of the GitHub Pages site.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository from which to delete the GitHub Pages site. This name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/pages", "tags": ["repos"], "summary": "Delete a GitHub Enterprise Server Pages site", "description": "Deletes a GitHub Enterprise Server Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\n\nTo use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-pages", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_pages_site", "description": { "tagline": "Retrieve details of a GitHub Pages site for a repository.", "detailed": "This tool is used to get information about a GitHub Pages site for a specified repository on GitHub Enterprise Server. It should be called when you need details about the Pages site configuration or status for a given repository." }, "return_annotation": "Information about a GitHub Pages site for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pages", "tags": ["repos"], "summary": "Get a GitHub Enterprise Server Pages site", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-pages-site", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "configure_github_pages_site", "description": { "tagline": "Configures a GitHub Pages site for a repository.", "detailed": "This tool is used to configure a Pages site for a GitHub repository on an Enterprise Server. It requires administrative permissions on the repository and a token with appropriate scopes. Use this when you need to set up or manage a GitHub Pages site." }, "return_annotation": "Details of the configured GitHub Pages site.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to configure. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pages_configuration", "alternative_names": ["pages_setup", "pages_site_settings"], "description": "JSON object specifying the build type and source details for the Pages site. It includes 'build_type' and 'source' (with 'branch' and 'path'). 'build_type' can be 'legacy' or 'workflow'. 'source' requires a 'branch' and an optional 'path', which can be '/' or '/docs'.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pages", "tags": ["repos"], "summary": "Create a GitHub Enterprise Server Pages site", "description": "Configures a GitHub Enterprise Server Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\"\n\nTo use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "build_type": { "val_type": "string", "inner_val_type": null, "enum": ["legacy", "workflow"], "properties": null, "inner_properties": null, "description": "The process in which the Page will be built. Possible values are `\"legacy\"` and `\"workflow\"`." }, "source": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "branch": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The repository branch used to publish your site's source files." }, "path": { "val_type": "string", "inner_val_type": null, "enum": ["/", "/docs"], "properties": null, "inner_properties": null, "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`" } }, "inner_properties": null, "description": "The source branch and directory used to publish your Pages site." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "description": "The source branch and directory used to publish your Pages site.", "properties": { "build_type": { "type": "string", "description": "The process in which the Page will be built. Possible values are `\"legacy\"` and `\"workflow\"`.", "enum": ["legacy", "workflow"] }, "source": { "type": "object", "description": "The source branch and directory used to publish your Pages site.", "properties": { "branch": { "type": "string", "description": "The repository branch used to publish your site's source files." }, "path": { "type": "string", "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`", "enum": ["/", "/docs"] } }, "required": ["branch"] } }, "anyOf": [ { "type": "object", "properties": {}, "required": ["source"] }, { "type": "object", "properties": {}, "required": ["build_type"] } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"source\": {\n \"branch\": \"main\",\n \"path\": \"/docs\"\n }\n }\n }\n },\n \"schema\": {\n \"anyOf\": [\n {\n \"required\": [\n \"source\"\n ]\n },\n {\n \"required\": [\n \"build_type\"\n ]\n }\n ],\n \"description\": \"The source branch and directory used to publish your Pages site.\",\n \"nullable\": true,\n \"properties\": {\n \"build_type\": {\n \"description\": \"The process in which the Page will be built. Possible values are `\\\"legacy\\\"` and `\\\"workflow\\\"`.\",\n \"enum\": [\n \"legacy\",\n \"workflow\"\n ],\n \"type\": \"string\"\n },\n \"source\": {\n \"description\": \"The source branch and directory used to publish your Pages site.\",\n \"properties\": {\n \"branch\": {\n \"description\": \"The repository branch used to publish your site's source files.\",\n \"type\": \"string\"\n },\n \"path\": {\n \"default\": \"/\",\n \"description\": \"The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`\",\n \"enum\": [\n \"/\",\n \"/docs\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"branch\"\n ],\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/update-information-about-pages-site", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_pages_info", "description": { "tagline": "Update information for a GitHub Pages site.", "detailed": "Use this tool to update settings or information for a GitHub Pages site on a repository. The user must have appropriate permissions, such as repository administrator, maintainer, or 'manage GitHub Pages settings' permission. Requires a token with 'repo' scope or Pages write permission. GitHub Apps need 'administration:write' and 'pages:write' permissions." }, "return_annotation": "Confirmation of updated GitHub Pages site information.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "github_pages_configuration", "alternative_names": ["github_pages_settings", "pages_site_info"], "description": "A JSON object containing configuration details for the GitHub Pages site. Include fields such as 'build_type', 'cname', 'https_enforced', and 'source'.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/pages", "tags": ["repos"], "summary": "Update information about a GitHub Enterprise Server Pages site", "description": "Updates information for a GitHub Enterprise Server Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\n\nTo use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "build_type": { "val_type": "string", "inner_val_type": null, "enum": ["legacy", "workflow"], "properties": null, "inner_properties": null, "description": "The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch." }, "cname": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \"[Using a custom domain with GitHub Pages](https://docs.github.com/enterprise-server@3.8/articles/using-a-custom-domain-with-github-pages/).\"" }, "https_enforced": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specify whether HTTPS should be enforced for the repository." }, "source": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "build_type": { "type": "string", "description": "The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch.", "enum": ["legacy", "workflow"] }, "cname": { "type": "string", "description": "Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \"[Using a custom domain with GitHub Pages](https://docs.github.com/enterprise-server@3.8/articles/using-a-custom-domain-with-github-pages/).\"" }, "https_enforced": { "type": "boolean", "description": "Specify whether HTTPS should be enforced for the repository." }, "source": { "type": "object", "properties": {}, "anyOf": [ { "type": "string", "description": "Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `\"gh-pages\"`, `\"master\"`, and `\"master /docs\"`.", "enum": ["gh-pages", "master", "master /docs"] }, { "type": "object", "description": "Update the source for the repository. Must include the branch name and path.", "properties": { "branch": { "type": "string", "description": "The repository branch used to publish your site's source files." }, "path": { "type": "string", "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`.", "enum": ["/", "/docs"] } }, "required": ["branch", "path"] } ] } }, "anyOf": [ { "type": "object", "properties": {}, "required": ["build_type"] }, { "type": "object", "properties": {}, "required": ["source"] }, { "type": "object", "properties": {}, "required": ["cname"] }, { "type": "object", "properties": {}, "required": ["public"] }, { "type": "object", "properties": {}, "required": ["https_enforced"] } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"cname\": \"octocatblog.com\",\n \"source\": {\n \"branch\": \"main\",\n \"path\": \"/\"\n }\n }\n }\n },\n \"schema\": {\n \"anyOf\": [\n {\n \"required\": [\n \"build_type\"\n ]\n },\n {\n \"required\": [\n \"source\"\n ]\n },\n {\n \"required\": [\n \"cname\"\n ]\n },\n {\n \"required\": [\n \"public\"\n ]\n },\n {\n \"required\": [\n \"https_enforced\"\n ]\n }\n ],\n \"properties\": {\n \"build_type\": {\n \"description\": \"The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch.\",\n \"enum\": [\n \"legacy\",\n \"workflow\"\n ],\n \"type\": \"string\"\n },\n \"cname\": {\n \"description\": \"Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \\\"[Using a custom domain with GitHub Pages](https://docs.github.com/enterprise-server@3.8/articles/using-a-custom-domain-with-github-pages/).\\\"\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"https_enforced\": {\n \"description\": \"Specify whether HTTPS should be enforced for the repository.\",\n \"type\": \"boolean\"\n },\n \"source\": {\n \"anyOf\": [\n {\n \"description\": \"Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `\\\"gh-pages\\\"`, `\\\"master\\\"`, and `\\\"master /docs\\\"`.\",\n \"enum\": [\n \"gh-pages\",\n \"master\",\n \"master /docs\"\n ],\n \"type\": \"string\"\n },\n {\n \"description\": \"Update the source for the repository. Must include the branch name and path.\",\n \"properties\": {\n \"branch\": {\n \"description\": \"The repository branch used to publish your site's source files.\",\n \"type\": \"string\"\n },\n \"path\": {\n \"description\": \"The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`.\",\n \"enum\": [\n \"/\",\n \"/docs\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"branch\",\n \"path\"\n ],\n \"type\": \"object\"\n }\n ]\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/list-pages-builds", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_pages_builds", "description": { "tagline": "Retrieve GitHub Pages build statuses for a repository.", "detailed": "Call this tool to get a list of GitHub Pages build statuses for a specific repository on GitHub Enterprise Server. Useful for tracking build history and status." }, "return_annotation": "List of GitHub Pages build statuses for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_identifier", "repository_id"], "description": "The name of the repository to fetch the Pages build statuses for. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "The number of results per page, with a maximum of 100 allowed.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number_of_results", "fetch_results_page"], "description": "The page number of the results to fetch. Use this to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pages/builds", "tags": ["repos"], "summary": "List GitHub Enterprise Server Pages builds", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/request-pages-build", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "request_github_pages_build", "description": { "tagline": "Request a build for your GitHub Pages site.", "detailed": "Use this tool to manually trigger a GitHub Pages build from the latest revision on the default branch. This is useful for diagnosing build warnings and failures without making additional commits. Only one build can be in progress per repository at a time." }, "return_annotation": "Confirmation of the triggered GitHub Pages build process.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["owner_account_name", "repo_owner_id"], "description": "The GitHub account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case-insensitive.", "endpoint_argument_name": "repo" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pages/builds", "tags": ["repos"], "summary": "Request a GitHub Enterprise Server Pages build", "description": "You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.\n\nBuild requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-latest-pages-build", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_latest_github_pages_build", "description": { "tagline": "Retrieve the latest GitHub Pages build information.", "detailed": "This tool fetches the latest build information for GitHub Pages of a specified repository. It should be called when the user wants to know the most recent build status or details for a GitHub Pages site." }, "return_annotation": "Latest GitHub Pages build details.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Enter the name without considering case sensitivity.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_title"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pages/builds/latest", "tags": ["repos"], "summary": "Get latest Pages build", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-pages-build", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_pages_build", "description": { "tagline": "Retrieve details of a GitHub Pages build for a repository.", "detailed": "Use this tool to get information about a specific GitHub Pages build in a repository on GitHub Enterprise Server. It requires the repository owner, repository name, and build ID to fetch the details." }, "return_annotation": "Details of a specific GitHub Pages build.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "build_identifier", "alternative_names": ["build_id_number", "pages_build_id"], "description": "The unique identifier for the GitHub Pages build.", "endpoint_argument_name": "build_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pages/builds/{build_id}", "tags": ["repos"], "summary": "Get GitHub Enterprise Server Pages build", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "build_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-pages-deployment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_pages_deployment", "description": { "tagline": "Create a GitHub Pages deployment for a repository.", "detailed": "Use this tool to deploy a GitHub Pages site for a repository. Requires write permissions or `pages:write` permission for GitHub Apps." }, "return_annotation": "Confirmation of GitHub Pages deployment creation.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "artifact_url", "alternative_names": ["deployment_artifact_url", "static_assets_url"], "description": "URL of the artifact (.zip or .tar) with static assets for deployment. Must belong to the repository.", "endpoint_argument_name": "artifact_url" }, { "name": "oidc_token_for_deployment", "alternative_names": ["deployment_oidc_token", "github_actions_oidc_token"], "description": "The OIDC token from GitHub Actions used to certify the deployment origin.", "endpoint_argument_name": "oidc_token" }, { "name": "build_version_identifier", "alternative_names": ["deployment_version_string", "version_identifier"], "description": "A unique string representing the version of the deployment build.", "endpoint_argument_name": "pages_build_version" }, { "name": "target_environment_for_deployment", "alternative_names": ["deployment_target_environment", "pages_deployment_environment"], "description": "Specify the target environment for the GitHub Pages deployment (e.g., 'production', 'staging').", "endpoint_argument_name": "environment" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pages/deployment", "tags": ["repos"], "summary": "Create a GitHub Pages deployment", "description": "Create a GitHub Pages deployment for a repository.\n\nUsers must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "artifact_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository." }, "description": "The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository." }, "schema_required": true }, { "name": "environment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The target environment for this GitHub Pages deployment." }, "description": "The target environment for this GitHub Pages deployment.", "required": false, "deprecated": false, "default": "github-pages", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The target environment for this GitHub Pages deployment." }, "schema_required": false }, { "name": "oidc_token", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The OIDC token issued by GitHub Actions certifying the origin of the deployment." }, "description": "The OIDC token issued by GitHub Actions certifying the origin of the deployment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The OIDC token issued by GitHub Actions certifying the origin of the deployment." }, "schema_required": true }, { "name": "pages_build_version", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique string that represents the version of the build for this deployment." }, "description": "A unique string that represents the version of the build for this deployment.", "required": true, "deprecated": false, "default": "GITHUB_SHA", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A unique string that represents the version of the build for this deployment." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"artifact_url\": \"https://downloadcontent/\",\n \"environment\": \"github-pages\",\n \"oidc_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlV2R1h4SUhlY0JFc1JCdEttemUxUEhfUERiVSIsImtpZCI6IjUyRjE5N0M0ODFERTcwMTEyQzQ0MUI0QTlCMzdCNTNDN0ZDRjBEQjUifQ.eyJqdGkiOiJhMWIwNGNjNy0zNzZiLTQ1N2QtOTMzNS05NTY5YmVjZDExYTIiLCJzdWIiOiJyZXBvOnBhcGVyLXNwYS9taW55aTplbnZpcm9ubWVudDpQcm9kdWN0aW9uIiwiYXVkIjoiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyLXNwYSIsInJlZiI6InJlZnMvaGVhZHMvbWFpbiIsInNoYSI6ImEyODU1MWJmODdiZDk3NTFiMzdiMmM0YjM3M2MxZjU3NjFmYWM2MjYiLCJyZXBvc2l0b3J5IjoicGFwZXItc3BhL21pbnlpIiwicmVwb3NpdG9yeV9vd25lciI6InBhcGVyLXNwYSIsInJ1bl9pZCI6IjE1NDY0NTkzNjQiLCJydW5fbnVtYmVyIjoiMzQiLCJydW5fYXR0ZW1wdCI6IjYiLCJhY3RvciI6IllpTXlzdHkiLCJ3b3JrZmxvdyI6IkNJIiwiaGVhZF9yZWYiOiIiLCJiYXNlX3JlZiI6IiIsImV2ZW50X25hbWUiOiJwdXNoIiwicmVmX3R5cGUiOiJicmFuY2giLCJlbnZpcm9ubWVudCI6IlByb2R1Y3Rpb24iLCJqb2Jfd29ya2Zsb3dfcmVmIjoicGFwZXItc3BhL21pbnlpLy5naXRodWIvd29ya2Zsb3dzL2JsYW5rLnltbEByZWZzL2hlYWRzL21haW4iLCJpc3MiOiJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwibmJmIjoxNjM5MDAwODU2LCJleHAiOjE2MzkwMDE3NTYsImlhdCI6MTYzOTAwMTQ1Nn0.VP8WictbQECKozE2SgvKb2FqJ9hisWsoMkYRTqfBrQfZTCXi5IcFEdgDMB2X7a99C2DeUuTvHh9RMKXLL2a0zg3-Sd7YrO7a2ll2kNlnvyIypcN6AeIc7BxHsTTnZN9Ud_xmEsTrSRGOEKmzCFkULQ6N4zlVD0sidypmXlMemmWEcv_ZHqhioEI_VMp5vwXQurketWH7qX4oDgG4okyYtPrv5RQHbfQcVo9izaPJ_jnsDd0CBA0QOx9InjPidtIkMYQLyUgJy33HLJy86EFNUnAf8UhBQuQi5mAsEpEzBBuKpG3PDiPtYCHOk64JZkZGd5mR888a5sbHRiaF8hm8YA\",\n \"pages_build_version\": \"4fd754f7e594640989b406850d0bc8f06a121251\",\n \"preview\": false\n }\n }\n },\n \"schema\": {\n \"description\": \"The object used to create GitHub Pages deployment\",\n \"properties\": {\n \"artifact_url\": {\n \"description\": \"The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository.\",\n \"type\": \"string\"\n },\n \"environment\": {\n \"default\": \"github-pages\",\n \"description\": \"The target environment for this GitHub Pages deployment.\",\n \"type\": \"string\"\n },\n \"oidc_token\": {\n \"description\": \"The OIDC token issued by GitHub Actions certifying the origin of the deployment.\",\n \"type\": \"string\"\n },\n \"pages_build_version\": {\n \"default\": \"GITHUB_SHA\",\n \"description\": \"A unique string that represents the version of the build for this deployment.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"artifact_url\",\n \"pages_build_version\",\n \"oidc_token\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-pre-receive-hooks-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_pre_receive_hooks", "description": { "tagline": "List pre-receive hooks for a GitHub repository.", "detailed": "Fetch all enabled, testing, and allowed disabled pre-receive hooks for a specific GitHub repository. This includes hooks that can be enabled at the repository level, excluding those disabled at higher levels and not configurable." }, "return_annotation": "List of pre-receive hooks for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "per_page_results"], "description": "The number of results to display per page, maximum 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["fetch_page", "results_page"], "description": "The number of the results page to fetch, starting from 1.", "endpoint_argument_name": "page" }, { "name": "sort_direction", "alternative_names": ["results_direction", "order_by_direction"], "description": "Specify 'asc' for ascending or 'desc' for descending sorting of results.", "endpoint_argument_name": "direction" }, { "name": "sort_hooks_by", "alternative_names": ["order_by", "sort_by"], "description": "Specifies the attribute to sort the pre-receive hooks by. Possible values are 'created', 'updated', or 'name'.", "endpoint_argument_name": "sort" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pre-receive-hooks", "tags": ["enterprise-admin"], "summary": "List pre-receive hooks for a repository", "description": "List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "name"], "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "name"] }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/remove-pre-receive-hook-enforcement-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_hook_enforcement", "description": { "tagline": "Remove overridden pre-receive hook enforcement for a repository.", "detailed": "This tool deletes any overridden pre-receive hook enforcement on a specified repository. It responds with the effective hook enforcement values inherited from the owner or global level. Use it when you need to revert to default hook settings." }, "return_annotation": "Effective values of hook enforcement at owner/global level.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The case-insensitive name of the repository from which to remove the hook enforcement.", "endpoint_argument_name": "repo" }, { "name": "pre_receive_hook_identifier", "alternative_names": ["hook_id", "prereceive_hook_id"], "description": "The unique identifier of the pre-receive hook for the repository.", "endpoint_argument_name": "pre_receive_hook_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Remove pre-receive hook enforcement for a repository", "description": "Deletes any overridden enforcement on this repository for the specified hook.\n\nResponds with effective values inherited from owner and/or global level.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-pre-receive-hook-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pre_receive_hook_for_repo", "description": { "tagline": "Retrieve a pre-receive hook for a specific repository.", "detailed": "Use this tool to obtain the details of a specific pre-receive hook associated with a GitHub repository. Ideal for administrators managing repository hooks." }, "return_annotation": "Details of a pre-receive hook for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pre_receive_hook_id", "alternative_names": ["hook_id", "pre_hook_identifier"], "description": "The unique identifier of the pre-receive hook for the repository.", "endpoint_argument_name": "pre_receive_hook_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Get a pre-receive hook for a repository", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-pre-receive-hook-enforcement-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_hook_enforcement_for_repo", "description": { "tagline": "Update pre-receive hook enforcement for a GitHub repository.", "detailed": "Use this tool to update the enforcement settings of a pre-receive hook configured at the repository level in GitHub. This tool allows adjusting the `enforcement` settings for specific repositories." }, "return_annotation": "Confirms the update of pre-receive hook enforcement settings.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. This is case insensitive and identifies which repository's hook enforcement settings to update.", "endpoint_argument_name": "repo" }, { "name": "pre_receive_hook_id", "alternative_names": ["hook_identifier", "hook_id"], "description": "The unique identifier of the pre-receive hook to update enforcement settings for.", "endpoint_argument_name": "pre_receive_hook_id" }, { "name": "hook_enforcement_state", "alternative_names": ["hook_enforcement_status", "pre_receive_hook_enforcement_state"], "description": "The desired state of enforcement for the hook on this repository. Options: 'enabled', 'disabled', 'testing'.", "endpoint_argument_name": "enforcement" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}", "tags": ["enterprise-admin"], "summary": "Update pre-receive hook enforcement for a repository", "description": "For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement`", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pre_receive_hook_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the pre-receive hook." }, "description": "The unique identifier of the pre-receive hook.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "enforcement", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["enabled", "disabled", "testing"], "properties": null, "inner_properties": null, "description": "The state of enforcement for the hook on this repository." }, "description": "The state of enforcement for the hook on this repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of enforcement for the hook on this repository.", "enum": ["enabled", "disabled", "testing"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"enforcement\": \"enabled\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"enforcement\": {\n \"description\": \"The state of enforcement for the hook on this repository.\",\n \"enum\": [\n \"enabled\",\n \"disabled\",\n \"testing\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "projects/list-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repository_projects", "description": { "tagline": "Retrieve projects from a specific GitHub repository.", "detailed": "Use this tool to list all the projects of a specified GitHub repository. It should be called when you need to view available projects. Note that a 404 status is returned if projects are disabled, and a 401 or 410 status if there are insufficient privileges." }, "return_annotation": "List of projects in a repository or error status.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "project_state", "alternative_names": ["projects_status", "state_of_projects"], "description": "Specify which state of projects to return: 'open', 'closed', or 'all'.", "endpoint_argument_name": "state" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of results to return per page. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specifies which page of the results to fetch. Useful for paginated responses.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/projects", "tags": ["projects"], "summary": "List repository projects", "description": "Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the projects to return." }, "description": "Indicates the state of the projects to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/create-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_project_board", "description": { "tagline": "Create a project board for a GitHub repository.", "detailed": "This tool creates a project board for a specified GitHub repository. It's useful when you want to organize tasks or issues in the form of a project board within a repository. It returns information about the creation status and any errors due to disabled projects or insufficient privileges." }, "return_annotation": "Response status and details of the created project board.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The username of the account that owns the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_title"], "description": "The name of the GitHub repository. It is not case-sensitive.", "endpoint_argument_name": "repo" }, { "name": "project_name", "alternative_names": ["board_name", "repository_project_name"], "description": "The name of the project board to be created in the repository.", "endpoint_argument_name": "name" }, { "name": "project_description", "alternative_names": ["description_of_project", "project_details"], "description": "Provide a descriptive text for the project board to help clarify its purpose and content.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/projects", "tags": ["projects"], "summary": "Create a repository project", "description": "Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the project." }, "description": "The description of the project.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The description of the project." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the project." }, "description": "The name of the project.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the project." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Developer documentation project for the developer site.\",\n \"name\": \"Projects Documentation\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The description of the project.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the project.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pull_requests", "description": { "tagline": "Retrieve pull requests from a GitHub repository.", "detailed": "This tool retrieves a list of pull requests from a specified GitHub repository, including both open and draft requests, for users with appropriate GitHub plans." }, "return_annotation": "A list of pull requests for a specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository from which to retrieve pull requests. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "filter_by_state", "alternative_names": ["state_filter", "pull_request_state"], "description": "Filter pull requests by state: `open`, `closed`, or `all`.", "endpoint_argument_name": "state" }, { "name": "filter_by_head", "alternative_names": ["head_filter", "branch_head_filter"], "description": "Filter pull requests by head user/organization and branch in `user:ref-name` format.", "endpoint_argument_name": "head" }, { "name": "base_branch_name", "alternative_names": ["base_branch", "branch_filter"], "description": "Specify the base branch name to filter pull requests. Example: 'gh-pages'.", "endpoint_argument_name": "base" }, { "name": "sort_pull_request_results_by", "alternative_names": [ "order_pull_request_results_by", "arrange_pull_request_results_by" ], "description": "Specify the criterion for sorting pull request results. Options are 'created', 'updated', 'popularity', or 'long-running'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["order_by_direction", "sorting_direction"], "description": "The direction of the sorting for pull requests. Use 'asc' for ascending or 'desc' for descending order. Defaults to 'desc' when 'sort' is 'created' or not specified.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["page_size", "number_of_results"], "description": "The number of pull requests to retrieve per page, with a maximum of 100 results allowed.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "fetch_page"], "description": "Page number of the results to fetch from the list of pull requests.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls", "tags": ["pulls"], "summary": "List pull requests", "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Either `open`, `closed`, or `all` to filter by state." }, "description": "Either `open`, `closed`, or `all` to filter by state.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "head", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`." }, "description": "Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "base", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Filter pulls by base branch name. Example: `gh-pages`." }, "description": "Filter pulls by base branch name. Example: `gh-pages`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "popularity", "long-running"], "properties": null, "inner_properties": null, "description": "What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month." }, "description": "What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "popularity", "long-running"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`." }, "description": "The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/create", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_pull_request", "description": { "tagline": "Create a draft pull request on GitHub repositories.", "detailed": "Use this tool to create a draft pull request on a specified GitHub repository. Requires write access to the head or source branch. Suitable for users with appropriate permissions on public, private or organization-owned repositories." }, "return_annotation": "Details of the created GitHub pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner_account", "owner_name"], "description": "The account owner of the GitHub repository. Case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository for the pull request. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "target_branch", "alternative_names": ["destination_branch", "merge_target_branch"], "description": "The branch name where changes are to be merged. Must be an existing branch in the current repository.", "endpoint_argument_name": "base" }, { "name": "source_branch", "alternative_names": ["changes_branch", "feature_branch"], "description": "The name of the branch where your changes are implemented. Use `username:branch` format for cross-repository cases.", "endpoint_argument_name": "head" }, { "name": "pull_request_content", "alternative_names": ["pull_request_body", "pr_details"], "description": "The descriptive content or message for the pull request.", "endpoint_argument_name": "body" }, { "name": "source_repository_name", "alternative_names": ["change_repository", "branch_source_repo"], "description": "Name of the repository where changes in the pull request were made. Required for cross-repository pull requests within the same organization.", "endpoint_argument_name": "head_repo" }, { "name": "issue_number_for_conversion", "alternative_names": ["convert_issue_to_pull_request", "pull_request_from_issue"], "description": "Specify the issue number in the repository to convert into a pull request. Required unless a title is provided.", "endpoint_argument_name": "issue" }, { "name": "pull_request_title", "alternative_names": ["title_of_pull_request", "pr_title"], "description": "The title of the new pull request. This is required unless an `issue` is specified.", "endpoint_argument_name": "title" }, { "name": "is_draft", "alternative_names": ["draft_enabled", "create_as_draft"], "description": "Set to true to create the pull request as a draft. See GitHub documentation for more on draft pull requests.", "endpoint_argument_name": "draft" }, { "name": "maintainers_can_modify", "alternative_names": ["modify_by_maintainers", "changes_allowed_by_maintainers"], "description": "Indicates if maintainers can modify the pull request. Set to true to allow modifications.", "endpoint_argument_name": "maintainer_can_modify" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls", "tags": ["pulls"], "summary": "Create a pull request", "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "base", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository." }, "description": "The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository." }, "schema_required": true }, { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the pull request." }, "description": "The contents of the pull request.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the pull request." }, "schema_required": false }, { "name": "draft", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://docs.github.com/enterprise-server@3.8/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more." }, "description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://docs.github.com/enterprise-server@3.8/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://docs.github.com/enterprise-server@3.8/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more." }, "schema_required": false }, { "name": "head", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`." }, "description": "The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`." }, "schema_required": true }, { "name": "head_repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization." }, "description": "The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization.", "format": "repo.nwo", "example": "octo-org/octo-repo" }, "schema_required": false }, { "name": "issue", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified." }, "description": "An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "integer", "description": "An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified.", "example": 1 }, "schema_required": false }, { "name": "maintainer_can_modify", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." }, "description": "Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the new pull request. Required unless `issue` is specified." }, "description": "The title of the new pull request. Required unless `issue` is specified.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The title of the new pull request. Required unless `issue` is specified." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"base\": \"master\",\n \"body\": \"Please pull these awesome changes in!\",\n \"head\": \"octocat:new-feature\",\n \"title\": \"Amazing new feature\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"base\": {\n \"description\": \"The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository.\",\n \"type\": \"string\"\n },\n \"body\": {\n \"description\": \"The contents of the pull request.\",\n \"type\": \"string\"\n },\n \"draft\": {\n \"description\": \"Indicates whether the pull request is a draft. See \\\"[Draft Pull Requests](https://docs.github.com/enterprise-server@3.8/articles/about-pull-requests#draft-pull-requests)\\\" in the GitHub Help documentation to learn more.\",\n \"type\": \"boolean\"\n },\n \"head\": {\n \"description\": \"The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`.\",\n \"type\": \"string\"\n },\n \"head_repo\": {\n \"description\": \"The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization.\",\n \"example\": \"octo-org/octo-repo\",\n \"format\": \"repo.nwo\",\n \"type\": \"string\"\n },\n \"issue\": {\n \"description\": \"An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified.\",\n \"example\": 1,\n \"type\": \"integer\"\n },\n \"maintainer_can_modify\": {\n \"description\": \"Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.\",\n \"type\": \"boolean\"\n },\n \"title\": {\n \"description\": \"The title of the new pull request. Required unless `issue` is specified.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"head\",\n \"base\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/list-review-comments-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_review_comments_for_repo", "description": { "tagline": "Retrieve review comments for all pull requests in a repository.", "detailed": "Use this tool to obtain a list of review comments for all pull requests within a specified repository. This is useful for tracking feedback and discussions associated with pull requests." }, "return_annotation": "A list of review comments for pull requests in a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive. Specify the username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository to fetch review comments from. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "sort_reviews", "alternative_names": ["order_reviews", "arrange_comments"], "description": "Determines the order of review comments based on 'created', 'updated', or 'created_at'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["order_of_sort", "sorting_direction"], "description": "Specifies the order to sort the review comments. Options are 'asc' for ascending and 'desc' for descending. Note: This is ignored if no 'sort' parameter is set.", "endpoint_argument_name": "direction" }, { "name": "updated_after", "alternative_names": ["updated_since", "comments_since"], "description": "Timestamp to filter notifications updated after this time in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of review comments to retrieve per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "comments_page"], "description": "Specify the page number of the results to retrieve from the API. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/comments", "tags": ["pulls"], "summary": "List review comments in a repository", "description": "Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "created_at"], "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "created_at"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort results. Ignored without `sort` parameter." }, "description": "The direction to sort results. Ignored without `sort` parameter.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/delete-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_review_comment", "description": { "tagline": "Delete a review comment on a GitHub pull request.", "detailed": "Use this tool to delete a specific review comment on a GitHub pull request. It should be called when you need to remove an unnecessary or incorrect comment. Requires the repository owner, repository name, and the comment ID." }, "return_annotation": "Confirmation of review comment deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository, case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_id", "alternative_names": ["comment_identifier", "review_comment_id"], "description": "The unique identifier for the review comment to delete. This must be an integer and corresponds to the specific comment you intend to remove from the GitHub pull request.", "endpoint_argument_name": "comment_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/pulls/comments/{comment_id}", "tags": ["pulls"], "summary": "Delete a review comment for a pull request", "description": "Deletes a review comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/get-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_review_comment_details", "description": { "tagline": "Get details for a specific GitHub review comment.", "detailed": "Call this tool to obtain detailed information about a specific review comment on a GitHub pull request, such as the content, author, and creation time." }, "return_annotation": "Details of a specific GitHub review comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_id", "alternative_names": ["review_comment_id", "github_comment_id"], "description": "The unique identifier of the GitHub review comment you want to retrieve details for.", "endpoint_argument_name": "comment_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/comments/{comment_id}", "tags": ["pulls"], "summary": "Get a review comment for a pull request", "description": "Provides details for a review comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/update-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "edit_github_review_comment", "description": { "tagline": "Edit a review comment on a GitHub pull request.", "detailed": "" }, "return_annotation": "Details of the updated review comment on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_identifier", "repo_name"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_identifier", "alternative_names": ["comment_id_value", "review_comment_id"], "description": "The unique identifier for the GitHub review comment to be edited.", "endpoint_argument_name": "comment_id" }, { "name": "comment_text", "alternative_names": ["review_comment_body", "comment_body"], "description": "The content of the updated review comment.", "endpoint_argument_name": "body" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/pulls/comments/{comment_id}", "tags": ["pulls"], "summary": "Update a review comment for a pull request", "description": "Enables you to edit a review comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The text of the reply to the review comment." }, "description": "The text of the reply to the review comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The text of the reply to the review comment." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"I like this too!\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The text of the reply to the review comment.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/list-for-pull-request-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pull_request_comment_reactions", "description": { "tagline": "Retrieve reactions for a pull request review comment.", "detailed": "Use this tool to list all reactions associated with a specific pull request review comment in a GitHub repository. It helps in understanding community engagement on specific comments." }, "return_annotation": "List of reactions for a pull request review comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_unique_identifier", "alternative_names": ["comment_id_number", "comment_identifier"], "description": "The unique identifier for the pull request review comment.", "endpoint_argument_name": "comment_id" }, { "name": "filter_reaction_type", "alternative_names": ["reaction_type_filter", "select_reaction"], "description": "Specify a single reaction type to filter results. Leave blank to return all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["pagination_results", "items_per_page"], "description": "Specify the number of reactions to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specify the page number of results to fetch for reactions to a pull request review comment.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "tags": ["reactions"], "summary": "List reactions for a pull request review comment", "description": "List the reactions to a [pull request review comment](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#review-comments).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-pull-request-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_reaction_to_pr_comment", "description": { "tagline": "Adds a reaction to a pull request review comment on GitHub.", "detailed": "Use this tool to add a reaction to a specific pull request review comment on GitHub. This can be helpful for acknowledging comments or expressing opinions quickly. A successful addition results in an HTTP `200` status." }, "return_annotation": "Indicates if the reaction was successfully added to the comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["owner_name", "repo_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository where the comment is located. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_unique_id", "alternative_names": ["comment_identifier", "pr_comment_id"], "description": "The unique identifier of the pull request review comment.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_type_for_pr_comment", "alternative_names": ["pr_comment_reaction_type", "review_comment_reaction"], "description": "Specifies the type of reaction to add to the pull request review comment. Valid options are '+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "tags": ["reactions"], "summary": "Create reaction for a pull request review comment", "description": "Create a reaction to a [pull request review comment](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the pull request review comment." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the pull request review comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the pull request review comment.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the pull request review comment.\",\n \"enum\": [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-pull-request-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_pull_request_comment_reaction", "description": { "tagline": "Delete a reaction from a pull request comment.", "detailed": "Use this tool to delete a specific reaction from a pull request review comment on GitHub. Ideal for managing or retracting reactions erroneously added." }, "return_annotation": "Confirmation of reaction deletion on pull request comment.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "comment_unique_id", "alternative_names": ["comment_id", "pr_comment_id"], "description": "The unique identifier of the pull request comment to delete a reaction from.", "endpoint_argument_name": "comment_id" }, { "name": "reaction_unique_identifier", "alternative_names": ["reaction_id_number", "reaction_identifier"], "description": "The unique identifier for the reaction to delete from the pull request comment.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete a pull request comment reaction", "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.`\n\nDelete a reaction to a [pull request review comment](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#review-comments).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/get", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_pull_request_details", "description": { "tagline": "Retrieve details of a specific GitHub pull request.", "detailed": "Use this tool to obtain comprehensive information about a specified pull request in a GitHub repository, including its mergeability status and commit details." }, "return_annotation": "Details of a specific pull request on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "Specifies the account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_id"], "description": "The unique number identifying the pull request to retrieve details for.", "endpoint_argument_name": "pull_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}", "tags": ["pulls"], "summary": "Get a pull request", "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists details of a pull request by providing its number.\n\nWhen you get, [create](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#update-a-pull-request) a pull request, GitHub Enterprise Server creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/enterprise-server@3.8/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n\nThe value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub Enterprise Server has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit.\n\nThe value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request:\n\n* If merged as a [merge commit](https://docs.github.com/enterprise-server@3.8/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit.\n* If merged via a [squash](https://docs.github.com/enterprise-server@3.8/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch.\n* If [rebased](https://docs.github.com/enterprise-server@3.8/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to.\n\nPass the appropriate [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/update", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_pull_request", "description": { "tagline": "Update an existing pull request on GitHub.", "detailed": "Use this tool to update an existing pull request in a GitHub repository. This can be used when you need to modify the details of a pull request, such as its title, body, or state. Requires write access to the source branch or membership in the owning organization." }, "return_annotation": "Details of the updated pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_account"], "description": "The account owner of the repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to update the pull request in. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_request_id"], "description": "The unique number identifying the pull request.", "endpoint_argument_name": "pull_number" }, { "name": "target_base_branch", "alternative_names": ["destination_branch", "merge_target_branch"], "description": "The name of the branch where changes should be pulled into. Must be an existing branch on the current repository.", "endpoint_argument_name": "base" }, { "name": "pull_request_body", "alternative_names": ["pr_content", "description_text"], "description": "Provide the updated content or description for the pull request.", "endpoint_argument_name": "body" }, { "name": "pull_request_state", "alternative_names": ["pr_state", "state_of_pull_request"], "description": "Specifies whether the pull request should be 'open' or 'closed'.", "endpoint_argument_name": "state" }, { "name": "pull_request_title", "alternative_names": ["pr_title", "title_of_pull_request"], "description": "The new title for the pull request. Use this to update the PR title.", "endpoint_argument_name": "title" }, { "name": "maintainers_can_modify", "alternative_names": ["allow_maintainers_to_edit", "maintainers_edit_enabled"], "description": "Boolean value indicating whether maintainers can modify the pull request.", "endpoint_argument_name": "maintainer_can_modify" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/pulls/{pull_number}", "tags": ["pulls"], "summary": "Update a pull request", "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "base", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository." }, "description": "The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository." }, "schema_required": false }, { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The contents of the pull request." }, "description": "The contents of the pull request.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The contents of the pull request." }, "schema_required": false }, { "name": "maintainer_can_modify", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." }, "description": "Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed"], "properties": null, "inner_properties": null, "description": "State of this Pull Request. Either `open` or `closed`." }, "description": "State of this Pull Request. Either `open` or `closed`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "State of this Pull Request. Either `open` or `closed`.", "enum": ["open", "closed"] }, "schema_required": false }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The title of the pull request." }, "description": "The title of the pull request.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The title of the pull request." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"base\": \"master\",\n \"body\": \"updated body\",\n \"state\": \"open\",\n \"title\": \"new title\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"base\": {\n \"description\": \"The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository.\",\n \"type\": \"string\"\n },\n \"body\": {\n \"description\": \"The contents of the pull request.\",\n \"type\": \"string\"\n },\n \"maintainer_can_modify\": {\n \"description\": \"Indicates whether [maintainers can modify](https://docs.github.com/enterprise-server@3.8/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.\",\n \"type\": \"boolean\"\n },\n \"state\": {\n \"description\": \"State of this Pull Request. Either `open` or `closed`.\",\n \"enum\": [\n \"open\",\n \"closed\"\n ],\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"The title of the pull request.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/list-review-comments", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pull_request_review_comments", "description": { "tagline": "Retrieve all review comments for a pull request.", "detailed": "This tool fetches all review comments associated with a specified pull request in a GitHub repository. It returns the comments sorted in ascending order by ID." }, "return_annotation": "List of review comments for a pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_id"], "description": "The unique number identifying the pull request within the repository.", "endpoint_argument_name": "pull_number" }, { "name": "sort_results_by", "alternative_names": ["order_by_property", "arrange_by_field"], "description": "Property to sort comments: 'created' or 'updated'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["order_direction", "result_order"], "description": "Specifies the direction to sort results. Use 'asc' for ascending or 'desc' for descending. Ignored without the 'sort' parameter.", "endpoint_argument_name": "direction" }, { "name": "notifications_since_timestamp", "alternative_names": ["updated_after", "since_timestamp"], "description": "Filter review comments updated after this timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["page_size", "number_of_results_per_page"], "description": "Specify the number of results to return per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["page_index", "results_page"], "description": "The specific results page number to retrieve.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/comments", "tags": ["pulls"], "summary": "List review comments on a pull request", "description": "Lists all review comments for a pull request. By default, review comments are in ascending order by ID.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to." }, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort results. Ignored without `sort` parameter." }, "description": "The direction to sort results. Ignored without `sort` parameter.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/create-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_pull_request_review_comment", "description": { "tagline": "Create a review comment on a GitHub pull request.", "detailed": "This tool is used to create a review comment in the diff of a GitHub pull request. It uses parameters like `line`, `side`, `start_line`, and `start_side` for precise placement of comments in the pull request diff to provide feedback or suggestions." }, "return_annotation": "Details of the created review comment in the pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub username or organization name of the repository owner. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository where the pull request exists. This value is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pull_id", "request_id"], "description": "The unique number that identifies the pull request within the repository.", "endpoint_argument_name": "pull_number" }, { "name": "review_comment_details", "alternative_names": ["pr_comment_details", "comment_payload"], "description": "JSON object containing details for the comment: `body` (text of comment), `commit_id` (commit SHA), `in_reply_to` (ID to reply), `line` (line in diff), `path` (file path), `side` (diff side), `start_line` (start line for multi-line), and `start_side` (start side for multi-line).", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/comments", "tags": ["pulls"], "summary": "Create a review comment for a pull request", "description": "\nCreates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see \"[Create an issue comment](https://docs.github.com/enterprise-server@3.8/rest/reference/issues#create-an-issue-comment).\" We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.\n\nThe `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required.\n\n**Note:** The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The text of the review comment." }, "commit_id": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`." }, "in_reply_to": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of the review comment to reply to. To find the ID of a review comment with [\"List review comments on a pull request\"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored." }, "line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to." }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The relative path to the file that necessitates a comment." }, "position": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above." }, "side": { "val_type": "string", "inner_val_type": null, "enum": ["LEFT", "RIGHT"], "properties": null, "inner_properties": null, "description": "In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \"[Diff view options](https://docs.github.com/enterprise-server@3.8/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation." }, "start_line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \"[Commenting on a pull request](https://docs.github.com/enterprise-server@3.8/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation." }, "start_side": { "val_type": "string", "inner_val_type": null, "enum": ["LEFT", "RIGHT", "side"], "properties": null, "inner_properties": null, "description": "**Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \"[Commenting on a pull request](https://docs.github.com/enterprise-server@3.8/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation. See `side` in this table for additional context." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "body": { "type": "string", "description": "The text of the review comment." }, "commit_id": { "type": "string", "description": "The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`." }, "in_reply_to": { "type": "integer", "description": "The ID of the review comment to reply to. To find the ID of a review comment with [\"List review comments on a pull request\"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored.", "example": 2 }, "line": { "type": "integer", "description": "The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to." }, "path": { "type": "string", "description": "The relative path to the file that necessitates a comment." }, "position": { "type": "integer", "description": "**This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above." }, "side": { "type": "string", "description": "In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \"[Diff view options](https://docs.github.com/enterprise-server@3.8/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation.", "enum": ["LEFT", "RIGHT"] }, "start_line": { "type": "integer", "description": "**Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \"[Commenting on a pull request](https://docs.github.com/enterprise-server@3.8/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation." }, "start_side": { "type": "string", "description": "**Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \"[Commenting on a pull request](https://docs.github.com/enterprise-server@3.8/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation. See `side` in this table for additional context.", "enum": ["LEFT", "RIGHT", "side"] } }, "required": ["body", "commit_id", "path", "line"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"example-for-a-multi-line-comment\": {\n \"summary\": \"Example for a multi-line comment\",\n \"value\": {\n \"body\": \"Great stuff!\",\n \"commit_id\": \"6dcb09b5b57875f334f61aebed695e2e4193db5e\",\n \"line\": 2,\n \"path\": \"file1.txt\",\n \"side\": \"RIGHT\",\n \"start_line\": 1,\n \"start_side\": \"RIGHT\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The text of the review comment.\",\n \"type\": \"string\"\n },\n \"commit_id\": {\n \"description\": \"The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`.\",\n \"type\": \"string\"\n },\n \"in_reply_to\": {\n \"description\": \"The ID of the review comment to reply to. To find the ID of a review comment with [\\\"List review comments on a pull request\\\"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored.\",\n \"example\": 2,\n \"type\": \"integer\"\n },\n \"line\": {\n \"description\": \"The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to.\",\n \"type\": \"integer\"\n },\n \"path\": {\n \"description\": \"The relative path to the file that necessitates a comment.\",\n \"type\": \"string\"\n },\n \"position\": {\n \"deprecated\": true,\n \"description\": \"**This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above.\",\n \"type\": \"integer\",\n \"x-github\": {\n \"deprecationDate\": \"2022-11-01\"\n }\n },\n \"side\": {\n \"description\": \"In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \\\"[Diff view options](https://docs.github.com/enterprise-server@3.8/articles/about-comparing-branches-in-pull-requests#diff-view-options)\\\" in the GitHub Help documentation.\",\n \"enum\": [\n \"LEFT\",\n \"RIGHT\"\n ],\n \"type\": \"string\"\n },\n \"start_line\": {\n \"description\": \"**Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \\\"[Commenting on a pull request](https://docs.github.com/enterprise-server@3.8/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\\\" in the GitHub Help documentation.\",\n \"type\": \"integer\"\n },\n \"start_side\": {\n \"description\": \"**Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \\\"[Commenting on a pull request](https://docs.github.com/enterprise-server@3.8/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\\\" in the GitHub Help documentation. See `side` in this table for additional context.\",\n \"enum\": [\n \"LEFT\",\n \"RIGHT\",\n \"side\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\",\n \"commit_id\",\n \"path\",\n \"line\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "pulls/create-reply-for-review-comment", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_reply_to_review_comment", "description": { "tagline": "Create a reply to a top-level review comment on a pull request.", "detailed": "This tool creates a reply to a top-level review comment on a pull request. Users can utilize this tool when they need to respond to review comments made on their pull requests, ensuring proper communication and collaboration. Note that replies to replies are not supported. Creating content too quickly may trigger secondary rate limits." }, "return_annotation": "Confirmation of reply creation and notification trigger.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_title"], "description": "The name of the repository. This name is not case sensitive and identifies the repository where the reply will be posted.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pull_id", "pr_number"], "description": "The number identifying the pull request to reply to.", "endpoint_argument_name": "pull_number" }, { "name": "review_comment_unique_id", "alternative_names": ["comment_identifier", "comment_id_number"], "description": "The unique identifier for the top-level review comment you are replying to. Replies to replies are not supported.", "endpoint_argument_name": "comment_id" }, { "name": "review_comment_text", "alternative_names": ["comment_text", "reply_body"], "description": "The content of the reply to the top-level review comment. This should be a string containing the reply text.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "tags": ["pulls"], "summary": "Create a reply for a review comment", "description": "Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported.\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the comment." }, "description": "The unique identifier of the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The text of the review comment." }, "description": "The text of the review comment.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The text of the review comment." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Great stuff!\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The text of the review comment.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/list-commits", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_pull_request_commits", "description": { "tagline": "Retrieve up to 250 commits for a specific pull request.", "detailed": "Use this tool to get a list of commits associated with a particular pull request. This is useful when you want to review changes or keep track of modifications made in a pull request. For a complete list with more than 250 commits, consider using the List commits endpoint." }, "return_annotation": "A list of commits related to a pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive and should be given as a string.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_number_id"], "description": "The unique number identifying the pull request within the repository.", "endpoint_argument_name": "pull_number" }, { "name": "results_per_page", "alternative_names": ["page_size", "commits_per_page"], "description": "Specify the number of commit results to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["commits_page_number", "fetch_page_number"], "description": "Specify the page number of commit results to fetch. Useful for paginating through commit lists.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/commits", "tags": ["pulls"], "summary": "List commits on a pull request", "description": "Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-commits) endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/list-files", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_pull_request_files", "description": { "tagline": "Retrieve files changed in a GitHub pull request.", "detailed": "Use this tool to list up to 3000 files altered in a specific pull request on GitHub. Useful for reviewing code changes or analyzing file modifications in a repository." }, "return_annotation": "A list of files changed in a pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repository_admin"], "description": "The GitHub username of the repository owner. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_id"], "description": "The unique number identifying the pull request.", "endpoint_argument_name": "pull_number" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "files_per_page"], "description": "The number of files to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page_number"], "description": "The page number of the results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/files", "tags": ["pulls"], "summary": "List pull requests files", "description": "**Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/check-if-merged", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_pr_merge_status", "description": { "tagline": "Check if a pull request has been merged.", "detailed": "Use this tool to determine if a specific pull request in a GitHub repository has been merged. This is useful for tracking development progress and managing project contributions." }, "return_annotation": "Whether a pull request has been merged.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. This value is not case sensitive. It specifies which user's or organization's repository contains the pull request.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. Input is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_request_id"], "description": "The unique number identifying the specific pull request to check.", "endpoint_argument_name": "pull_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/merge", "tags": ["pulls"], "summary": "Check if a pull request has been merged", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/merge", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "merge_github_pull_request", "description": { "tagline": "Merge a pull request on GitHub.", "detailed": "This tool merges a specified pull request on GitHub for a given repository. It should be called when a user wants to merge changes from a pull request into the main branch. Notifications will be triggered, and users should be mindful of secondary rate limits." }, "return_annotation": "Details about the merge operation performed.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_req_id"], "description": "The unique number identifying the pull request to be merged.", "endpoint_argument_name": "pull_number" }, { "name": "extra_commit_message", "alternative_names": ["additional_commit_message", "supplementary_commit_message"], "description": "Extra detail to append to the automatic commit message for the pull request.", "endpoint_argument_name": "commit_message" }, { "name": "commit_title", "alternative_names": ["commit_header", "message_title"], "description": "Title for the automatic commit message after merging the pull request.", "endpoint_argument_name": "commit_title" }, { "name": "merge_method", "alternative_names": ["method_of_merge", "type_of_merge"], "description": "Specifies the method to merge the pull request. Options include 'merge', 'squash', or 'rebase'.", "endpoint_argument_name": "merge_method" }, { "name": "pull_request_head_sha", "alternative_names": ["pr_head_sha", "head_commit_sha"], "description": "SHA of the pull request head that must match for the merge to proceed.", "endpoint_argument_name": "sha" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/merge", "tags": ["pulls"], "summary": "Merge a pull request", "description": "This endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "commit_message", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Extra detail to append to automatic commit message." }, "description": "Extra detail to append to automatic commit message.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Extra detail to append to automatic commit message." }, "schema_required": false }, { "name": "commit_title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Title for the automatic commit message." }, "description": "Title for the automatic commit message.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Title for the automatic commit message." }, "schema_required": false }, { "name": "merge_method", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["merge", "squash", "rebase"], "properties": null, "inner_properties": null, "description": "The merge method to use." }, "description": "The merge method to use.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The merge method to use.", "enum": ["merge", "squash", "rebase"] }, "schema_required": false }, { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "SHA that pull request head must match to allow merge." }, "description": "SHA that pull request head must match to allow merge.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "SHA that pull request head must match to allow merge." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"response-if-merge-was-successful\": {\n \"value\": {\n \"commit_message\": \"Add a new value to the merge_method enum\",\n \"commit_title\": \"Expand enum\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"commit_message\": {\n \"description\": \"Extra detail to append to automatic commit message.\",\n \"type\": \"string\"\n },\n \"commit_title\": {\n \"description\": \"Title for the automatic commit message.\",\n \"type\": \"string\"\n },\n \"merge_method\": {\n \"description\": \"The merge method to use.\",\n \"enum\": [\n \"merge\",\n \"squash\",\n \"rebase\"\n ],\n \"type\": \"string\"\n },\n \"sha\": {\n \"description\": \"SHA that pull request head must match to allow merge.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/remove-requested-reviewers", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_pull_request_reviewers", "description": { "tagline": "Remove requested reviewers from a GitHub pull request.", "detailed": "Use this tool to remove specific requested reviewers from a pull request on GitHub. This is helpful when you need to update the list of reviewers on an active pull request." }, "return_annotation": "Confirmation of reviewers removed from the pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_id"], "description": "The name of the repository from which to remove reviewers. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_number_identifier"], "description": "The unique identifier number for the pull request you want to modify.", "endpoint_argument_name": "pull_number" }, { "name": "user_logins_to_remove", "alternative_names": ["user_reviewers_to_remove", "reviewer_logins"], "description": "An array of user logins to be removed from the pull request as reviewers.", "endpoint_argument_name": "reviewers" }, { "name": "team_slugs_to_remove", "alternative_names": ["remove_team_slugs", "delete_team_reviewers"], "description": "An array of team slugs that should be removed as reviewers from the pull request. Each slug corresponds to a team associated with the repository.", "endpoint_argument_name": "team_reviewers" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "tags": ["pulls"], "summary": "Remove requested reviewers from a pull request", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "reviewers", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "An array of user `login`s that will be removed." }, "description": "An array of user `login`s that will be removed.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of user `login`s that will be removed.", "items": { "type": "string" } }, "schema_required": true }, { "name": "team_reviewers", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "An array of team `slug`s that will be removed." }, "description": "An array of team `slug`s that will be removed.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of team `slug`s that will be removed.", "items": { "type": "string" } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"reviewers\": [\n \"octocat\",\n \"hubot\",\n \"other_user\"\n ],\n \"team_reviewers\": [\n \"justice-league\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"reviewers\": {\n \"description\": \"An array of user `login`s that will be removed.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"team_reviewers\": {\n \"description\": \"An array of team `slug`s that will be removed.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"reviewers\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/list-requested-reviewers", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_requested_reviewers_for_pr", "description": { "tagline": "Retrieve users or teams requested for a pull request review.", "detailed": "Use this tool to get the list of users or teams who have been requested to review a specific pull request in a GitHub repository. This is useful for checking pending review tasks." }, "return_annotation": "List of users or teams with pending review requests.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_id"], "description": "The unique identifier for the pull request in a GitHub repository.", "endpoint_argument_name": "pull_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "tags": ["pulls"], "summary": "Get all requested reviewers for a pull request", "description": "Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/enterprise-server@3.8/rest/pulls/reviews#list-reviews-for-a-pull-request) operation.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/request-reviewers", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "request_github_pull_request_reviewers", "description": { "tagline": "Request reviewers for a GitHub pull request.", "detailed": "Use this tool to request specific reviewers for a pull request on GitHub. The tool triggers notifications to the selected reviewers. Beware of secondary rate limiting when calling this endpoint too frequently." }, "return_annotation": "Confirms that reviewers have been requested for a pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. It should be a case-insensitive string.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This input is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pull_id", "pr_number"], "description": "The number identifying the GitHub pull request for which reviewers will be requested.", "endpoint_argument_name": "pull_number" }, { "name": "review_request_payload", "alternative_names": ["review_request_body", "reviewers_and_teams_payload"], "description": "A JSON object containing 'reviewers' (user logins) and 'team_reviewers' (team slugs) to request for review.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "tags": ["pulls"], "summary": "Request reviewers for a pull request", "description": "This endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "reviewers": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "An array of user `login`s that will be requested." }, "team_reviewers": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "An array of team `slug`s that will be requested." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "reviewers": { "type": "array", "description": "An array of user `login`s that will be requested.", "items": { "type": "string" } }, "team_reviewers": { "type": "array", "description": "An array of team `slug`s that will be requested.", "items": { "type": "string" } } }, "anyOf": [ { "type": "object", "properties": {}, "required": ["reviewers"] }, { "type": "object", "properties": {}, "required": ["team_reviewers"] } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"reviewers\": [\n \"octocat\",\n \"hubot\",\n \"other_user\"\n ],\n \"team_reviewers\": [\n \"justice-league\"\n ]\n }\n }\n },\n \"schema\": {\n \"anyOf\": [\n {\n \"required\": [\n \"reviewers\"\n ]\n },\n {\n \"required\": [\n \"team_reviewers\"\n ]\n }\n ],\n \"properties\": {\n \"reviewers\": {\n \"description\": \"An array of user `login`s that will be requested.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"team_reviewers\": {\n \"description\": \"An array of team `slug`s that will be requested.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "pulls/list-reviews", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_pull_request_reviews", "description": { "tagline": "Retrieve reviews for a specific GitHub pull request.", "detailed": "Use this tool to fetch a chronological list of reviews for a specified pull request within a GitHub repository. This can help in understanding the review history and comments made on the pull request." }, "return_annotation": "Chronological list of pull request reviews.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name of the repository owner. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pull_number_id", "pr_number"], "description": "The unique identifier for the specific pull request to retrieve reviews for.", "endpoint_argument_name": "pull_number" }, { "name": "results_per_page", "alternative_names": ["num_results_per_page", "page_result_count"], "description": "The number of reviews per page (maximum 100). Specify an integer value.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "review_page_index"], "description": "The page number of the pull request reviews to fetch. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "tags": ["pulls"], "summary": "List reviews for a pull request", "description": "The list of reviews returns in chronological order.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/create-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_pull_request_review", "description": { "tagline": "Create a review for a GitHub pull request.", "detailed": "Use this tool to create a review for a specific pull request on GitHub, either in the 'PENDING' state or by submitting it. Ideal for adding comments or feedback on code changes." }, "return_annotation": "Details of the created pull request review.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository (case-insensitive).", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_identifier", "repo_name"], "description": "The name of the repository where the pull request exists, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_id"], "description": "The number that uniquely identifies the pull request for which the review is being created.", "endpoint_argument_name": "pull_number" }, { "name": "review_request_body", "alternative_names": ["pr_review_body", "pull_request_review_body"], "description": "JSON object containing details for the pull request review, including comments, commit SHA, review action (`APPROVE`, `REQUEST_CHANGES`, `COMMENT`), and review body text.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "tags": ["pulls"], "summary": "Create a review for a pull request", "description": "This endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.\n\nPull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see \"[Submit a review for a pull request](https://docs.github.com/enterprise-server@3.8/rest/pulls#submit-a-review-for-a-pull-request).\"\n\n**Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#get-a-pull-request) endpoint.\n\nThe `position` value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review." }, "comments": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Text of the review comment." }, "line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The relative path to the file that necessitates a review comment." }, "position": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below." }, "side": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "start_line": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "start_side": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "description": "Use the following table to specify the location, destination, and contents of the draft review comment." }, "commit_id": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value." }, "event": { "val_type": "string", "inner_val_type": null, "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"], "properties": null, "inner_properties": null, "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/enterprise-server@3.8/rest/pulls#submit-a-review-for-a-pull-request) when you are ready." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "body": { "type": "string", "description": "**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review." }, "comments": { "type": "array", "description": "Use the following table to specify the location, destination, and contents of the draft review comment.", "items": { "type": "object", "properties": { "body": { "type": "string", "description": "Text of the review comment." }, "line": { "type": "integer", "example": 28 }, "path": { "type": "string", "description": "The relative path to the file that necessitates a review comment." }, "position": { "type": "integer", "description": "The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below." }, "side": { "type": "string", "example": "RIGHT" }, "start_line": { "type": "integer", "example": 26 }, "start_side": { "type": "string", "example": "LEFT" } }, "required": ["path", "body"] } }, "commit_id": { "type": "string", "description": "The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value." }, "event": { "type": "string", "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/enterprise-server@3.8/rest/pulls#submit-a-review-for-a-pull-request) when you are ready.", "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"] } } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"This is close to perfect! Please address the suggested inline change.\",\n \"comments\": [\n {\n \"body\": \"Please add more information here, and fix this typo.\",\n \"path\": \"file.md\",\n \"position\": 6\n }\n ],\n \"commit_id\": \"ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091\",\n \"event\": \"REQUEST_CHANGES\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review.\",\n \"type\": \"string\"\n },\n \"comments\": {\n \"description\": \"Use the following table to specify the location, destination, and contents of the draft review comment.\",\n \"items\": {\n \"properties\": {\n \"body\": {\n \"description\": \"Text of the review comment.\",\n \"type\": \"string\"\n },\n \"line\": {\n \"example\": 28,\n \"type\": \"integer\"\n },\n \"path\": {\n \"description\": \"The relative path to the file that necessitates a review comment.\",\n \"type\": \"string\"\n },\n \"position\": {\n \"description\": \"The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below.\",\n \"type\": \"integer\"\n },\n \"side\": {\n \"example\": \"RIGHT\",\n \"type\": \"string\"\n },\n \"start_line\": {\n \"example\": 26,\n \"type\": \"integer\"\n },\n \"start_side\": {\n \"example\": \"LEFT\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"path\",\n \"body\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"commit_id\": {\n \"description\": \"The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value.\",\n \"type\": \"string\"\n },\n \"event\": {\n \"description\": \"The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/enterprise-server@3.8/rest/pulls#submit-a-review-for-a-pull-request) when you are ready.\",\n \"enum\": [\n \"APPROVE\",\n \"REQUEST_CHANGES\",\n \"COMMENT\"\n ],\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "pulls/delete-pending-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_pull_request_pending_review", "description": { "tagline": "Delete a pending review for a GitHub pull request.", "detailed": "Use this tool to delete a pending review from a specified pull request on GitHub." }, "return_annotation": "Confirmation of pending GitHub pull request review deletion.", "arguments": [ { "name": "repository_owner_name", "alternative_names": ["repo_owner_name", "repository_account_owner"], "description": "The GitHub account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_request_id"], "description": "The number identifying the specific pull request to delete the pending review from.", "endpoint_argument_name": "pull_number" }, { "name": "unique_review_identifier", "alternative_names": ["pending_review_id", "review_identifier"], "description": "The unique identifier of the pending GitHub review to be deleted.", "endpoint_argument_name": "review_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "tags": ["pulls"], "summary": "Delete a pending review for a pull request", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "review_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the review." }, "description": "The unique identifier of the review.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/get-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_review", "description": { "tagline": "Retrieve details of a specific pull request review from GitHub.", "detailed": "Use this tool to obtain a review for a specific pull request by providing the repository owner, repository name, pull request number, and review ID." }, "return_annotation": "Details of a specific pull request review on GitHub.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_number_identifier"], "description": "The unique number identifying the pull request on GitHub.", "endpoint_argument_name": "pull_number" }, { "name": "review_id", "alternative_names": ["pr_review_id", "github_review_identifier"], "description": "The unique numeric identifier for the specific review of the pull request.", "endpoint_argument_name": "review_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "tags": ["pulls"], "summary": "Get a review for a pull request", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "review_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the review." }, "description": "The unique identifier of the review.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/update-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_pull_request_review", "description": { "tagline": "Update the review summary comment on a pull request.", "detailed": "Use this tool to change the content of a review summary comment for a specific pull request on GitHub. This is useful for revising feedback or updating information provided in the review." }, "return_annotation": "Confirmation of the review update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The GitHub account owner of the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository to update the review on. Case insensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_number_id"], "description": "The unique number that identifies the pull request.", "endpoint_argument_name": "pull_number" }, { "name": "review_identifier", "alternative_names": ["review_id_number", "unique_review_id"], "description": "The unique integer ID of the review to be updated.", "endpoint_argument_name": "review_id" }, { "name": "review_body_text", "alternative_names": ["pull_request_review_body", "review_summary_text"], "description": "The updated body text for the pull request review.", "endpoint_argument_name": "body" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "tags": ["pulls"], "summary": "Update a review for a pull request", "description": "Update the review summary comment with new text.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "review_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the review." }, "description": "The unique identifier of the review.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The body text of the pull request review." }, "description": "The body text of the pull request review.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The body text of the pull request review." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"This is close to perfect! Please address the suggested inline change. And add more about this.\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The body text of the pull request review.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"body\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/list-comments-for-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_review_comments", "description": { "tagline": "Retrieve comments for a specific pull request review.", "detailed": "Use this tool to obtain comments associated with a specific pull request review in a GitHub repository. Ideal for tracking review discussions and understanding feedback provided by reviewers." }, "return_annotation": "Comments for a specific pull request review.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_number_identifier"], "description": "The number that identifies the pull request to fetch comments from.", "endpoint_argument_name": "pull_number" }, { "name": "review_id", "alternative_names": ["review_identifier", "unique_review_id"], "description": "The unique identifier of the review for which comments are being fetched.", "endpoint_argument_name": "review_id" }, { "name": "results_per_page", "alternative_names": ["results_count_per_page", "page_size"], "description": "Specify the number of results per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page_number", "fetch_page_number"], "description": "Specify the page number of the results to fetch. Used to navigate paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "tags": ["pulls"], "summary": "List comments for a pull request review", "description": "List comments for a specific pull request review.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "review_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the review." }, "description": "The unique identifier of the review.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "pulls/dismiss-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "dismiss_pull_request_review", "description": { "tagline": "Dismiss a pull request review on GitHub.", "detailed": "This tool allows you to dismiss a review on a pull request within a GitHub repository. It requires repository administrator privileges or permissions to dismiss reviews on protected branches." }, "return_annotation": "Acknowledgment of review dismissal for a pull request.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The username of the repository owner. This is not case sensitive and refers to the account that owns the repository.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_no"], "description": "The unique number identifying the pull request to dismiss the review for.", "endpoint_argument_name": "pull_number" }, { "name": "review_identifier", "alternative_names": ["review_id_number", "unique_review_id"], "description": "The unique identifier for the pull request review to be dismissed.", "endpoint_argument_name": "review_id" }, { "name": "dismissal_message", "alternative_names": ["review_dismissal_note", "pr_review_dismissal_message"], "description": "The message explaining the reason for dismissing the pull request review.", "endpoint_argument_name": "message" }, { "name": "dismissal_event", "alternative_names": ["dismiss_event", "pr_review_event"], "description": "This is a required event type for dismissing a pull request review. Use 'DISMISS' to perform the dismissal action.", "endpoint_argument_name": "event" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "tags": ["pulls"], "summary": "Dismiss a review for a pull request", "description": "**Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "review_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the review." }, "description": "The unique identifier of the review.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "event", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["DISMISS"], "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "enum": ["DISMISS"], "example": "\"DISMISS\"" }, "schema_required": false }, { "name": "message", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The message for the pull request review dismissal" }, "description": "The message for the pull request review dismissal", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The message for the pull request review dismissal" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"event\": \"DISMISS\",\n \"message\": \"You are dismissed\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"event\": {\n \"enum\": [\n \"DISMISS\"\n ],\n \"example\": \"\\\"DISMISS\\\"\",\n \"type\": \"string\"\n },\n \"message\": {\n \"description\": \"The message for the pull request review dismissal\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"message\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/submit-review", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "submit_pull_request_review", "description": { "tagline": "Submit a review for a pull request on GitHub.", "detailed": "Use this tool to submit a pending review for a specific pull request on GitHub. It can be used to approve, reject, or comment on changes in a pull request after a review has been created." }, "return_annotation": "Confirmation of the submitted pull request review.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Input is case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "pull_number_identifier"], "description": "The identifier number of the pull request to be reviewed.", "endpoint_argument_name": "pull_number" }, { "name": "review_identifier", "alternative_names": ["review_id_number", "unique_review_id"], "description": "The unique identifier for the pull request review to be submitted.", "endpoint_argument_name": "review_id" }, { "name": "review_action", "alternative_names": ["review_decision", "action_on_review"], "description": "Specify the review action: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. Leaving this empty sets the review to `PENDING`.", "endpoint_argument_name": "event" }, { "name": "review_body_text", "alternative_names": ["pull_request_review_body", "pr_review_body"], "description": "The body text of the pull request review. Provide detailed feedback or comments for the review.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "tags": ["pulls"], "summary": "Submit a review for a pull request", "description": "Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see \"[Create a review for a pull request](https://docs.github.com/enterprise-server@3.8/rest/pulls#create-a-review-for-a-pull-request).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "review_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the review." }, "description": "The unique identifier of the review.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The body text of the pull request review" }, "description": "The body text of the pull request review", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The body text of the pull request review" }, "schema_required": false }, { "name": "event", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"], "properties": null, "inner_properties": null, "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action." }, "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.", "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Here is the body for the review.\",\n \"event\": \"REQUEST_CHANGES\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"The body text of the pull request review\",\n \"type\": \"string\"\n },\n \"event\": {\n \"description\": \"The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.\",\n \"enum\": [\n \"APPROVE\",\n \"REQUEST_CHANGES\",\n \"COMMENT\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"event\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "pulls/update-branch", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_pull_request_branch", "description": { "tagline": "Update a pull request branch with latest upstream changes.", "detailed": "Use this tool to merge the latest changes from the base branch into a pull request branch, ensuring it is up-to-date with upstream changes." }, "return_annotation": "Confirmation of pull request branch update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "pull_request_number", "alternative_names": ["pr_number", "request_identifier"], "description": "The unique number that identifies the pull request to update.", "endpoint_argument_name": "pull_number" }, { "name": "expected_head_sha", "alternative_names": ["latest_commit_sha", "current_head_sha"], "description": "The most recent commit SHA of the pull request's HEAD. Must match the pull request's current HEAD to avoid a 422 error.", "endpoint_argument_name": "expected_head_sha" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "tags": ["pulls"], "summary": "Update a pull request branch", "description": "Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "pull_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the pull request." }, "description": "The number that identifies the pull request.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "expected_head_sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref." }, "description": "The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"expected_head_sha\": \"6dcb09b5b57875f334f61aebed695e2e4193db5e\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"expected_head_sha\": {\n \"description\": \"The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \\\"[List commits](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-commits)\\\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/get-readme", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repository_readme", "description": { "tagline": "Retrieve the preferred README for a GitHub repository.", "detailed": "Use this tool to fetch the preferred README of a GitHub repository. It can retrieve the raw content or rendered HTML based on custom media types." }, "return_annotation": "The preferred README content of a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_branch_tag_name", "alternative_names": ["branch_commit_tag_name", "revision_identifier"], "description": "Specify the commit, branch, or tag name. Defaults to the repository's default branch if not provided.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/readme", "tags": ["repos"], "summary": "Get a repository README", "description": "Gets the preferred README for a repository.\n\nREADMEs support [custom media types](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the commit/branch/tag. Default: the repository\u2019s default branch (usually `master`)" }, "description": "The name of the commit/branch/tag. Default: the repository\u2019s default branch (usually `master`)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-readme-in-directory", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_repo_readme", "description": { "tagline": "Retrieve the README from a specific repository directory.", "detailed": "This tool retrieves the README file from a specified directory within a GitHub repository. It supports retrieving the content in various formats, including raw text and rendered HTML." }, "return_annotation": "The README content from the specified repository directory.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the repository. This input is case insensitive.", "endpoint_argument_name": "repo" }, { "name": "readme_directory_path", "alternative_names": ["directory_alternate_path", "readme_alternate_path"], "description": "The path within the repository to search for the README file. Default is repository root if not specified.", "endpoint_argument_name": "dir" }, { "name": "commit_branch_or_tag_name", "alternative_names": ["ref_name", "commit_tag_branch_name"], "description": "The name of the commit, branch, or tag. Defaults to the repository's default branch (usually 'master').", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/readme/{dir}", "tags": ["repos"], "summary": "Get a repository README for a directory", "description": "Gets the README from a repository directory.\n\nREADMEs support [custom media types](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the commit/branch/tag. Default: the repository\u2019s default branch (usually `master`)" }, "description": "The name of the commit/branch/tag. Default: the repository\u2019s default branch (usually `master`)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "dir", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The alternate path to look for a README file" }, "description": "The alternate path to look for a README file", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-releases", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_releases", "description": { "tagline": "Retrieve a list of releases for a GitHub repository.", "detailed": "Use this tool to get a list of releases from a specific GitHub repository. Note that this list will only include releases, not regular Git tags. Draft releases will be listed only if the user has push access to the repository. This tool is useful for accessing information about software releases available on GitHub." }, "return_annotation": "A list of releases for the specified GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Case insensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["per_page_results", "items_per_page"], "description": "Specify the number of release results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "releases_page_number"], "description": "The specific page number of releases to fetch from a repository.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases", "tags": ["repos"], "summary": "List releases", "description": "This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-repository-tags).\n\nInformation about published releases are available to everyone. Only users with push access will receive listings for draft releases.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_release", "description": { "tagline": "Creates a new release in a specified GitHub repository.", "detailed": "This tool allows users with push access to create a release in a specified GitHub repository. It triggers notifications and may be subject to rate limiting. Use this tool when you need to publish a new version or release of your software on GitHub." }, "return_annotation": "Details of the created GitHub release.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository on GitHub. This name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "tag_name_for_release", "alternative_names": ["release_tag_name", "github_tag_name"], "description": "The name of the tag for the release. This is used to label the GitHub release.", "endpoint_argument_name": "tag_name" }, { "name": "release_body_text", "alternative_names": ["tag_description", "release_notes"], "description": "Text describing the contents of the tag. This is the message or notes for the release, providing context or details about changes.", "endpoint_argument_name": "body" }, { "name": "set_latest_release", "alternative_names": ["define_latest_release", "mark_as_latest_release"], "description": "Set whether this release should be the latest. Use 'true', 'false', or 'legacy'. Drafts and prereleases cannot be set as latest.", "endpoint_argument_name": "make_latest" }, { "name": "release_name", "alternative_names": ["name_of_release", "release_title"], "description": "The name of the release. This identifies the release and can be a version or descriptive text.", "endpoint_argument_name": "name" }, { "name": "commit_reference", "alternative_names": ["commitish_value", "branch_or_commit_sha"], "description": "The branch or commit SHA from which the Git tag is created. Defaults to the repo's default branch.", "endpoint_argument_name": "target_commitish" }, { "name": "draft", "alternative_names": ["create_draft_release", "unpublished_release"], "description": "Set to `true` for a draft (unpublished) release, or `false` for a published one.", "endpoint_argument_name": "draft" }, { "name": "auto_generate_release_notes", "alternative_names": ["automatic_release_notes", "generate_notes_automatically"], "description": "Automatically generate the name and body for the release. If 'name' is provided, it is used; otherwise, a name is auto-generated. 'Body' is prepended to generated notes if specified.", "endpoint_argument_name": "generate_release_notes" }, { "name": "mark_as_prerelease", "alternative_names": ["is_prerelease", "release_status_prerelease"], "description": "Set to `true` for a prerelease, `false` for a full release.", "endpoint_argument_name": "prerelease" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/releases", "tags": ["repos"], "summary": "Create a release", "description": "Users with push access to the repository can create a release.\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Text describing the contents of the tag." }, "description": "Text describing the contents of the tag.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Text describing the contents of the tag." }, "schema_required": false }, { "name": "draft", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "`true` to create a draft (unpublished) release, `false` to create a published one." }, "description": "`true` to create a draft (unpublished) release, `false` to create a published one.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "`true` to create a draft (unpublished) release, `false` to create a published one." }, "schema_required": false }, { "name": "generate_release_notes", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes." }, "description": "Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes." }, "schema_required": false }, { "name": "make_latest", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["true", "false", "legacy"], "properties": null, "inner_properties": null, "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version." }, "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.", "required": false, "deprecated": false, "default": true, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.", "enum": ["true", "false", "legacy"] }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the release." }, "description": "The name of the release.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the release." }, "schema_required": false }, { "name": "prerelease", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release." }, "description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release." }, "schema_required": false }, { "name": "tag_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the tag." }, "description": "The name of the tag.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the tag." }, "schema_required": true }, { "name": "target_commitish", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." }, "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`).", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Description of the release\",\n \"draft\": false,\n \"generate_release_notes\": false,\n \"name\": \"v1.0.0\",\n \"prerelease\": false,\n \"tag_name\": \"v1.0.0\",\n \"target_commitish\": \"master\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"Text describing the contents of the tag.\",\n \"type\": \"string\"\n },\n \"draft\": {\n \"default\": false,\n \"description\": \"`true` to create a draft (unpublished) release, `false` to create a published one.\",\n \"type\": \"boolean\"\n },\n \"generate_release_notes\": {\n \"default\": false,\n \"description\": \"Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes.\",\n \"type\": \"boolean\"\n },\n \"make_latest\": {\n \"default\": true,\n \"description\": \"Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.\",\n \"enum\": [\n \"true\",\n \"false\",\n \"legacy\"\n ],\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the release.\",\n \"type\": \"string\"\n },\n \"prerelease\": {\n \"default\": false,\n \"description\": \"`true` to identify the release as a prerelease. `false` to identify the release as a full release.\",\n \"type\": \"boolean\"\n },\n \"tag_name\": {\n \"description\": \"The name of the tag.\",\n \"type\": \"string\"\n },\n \"target_commitish\": {\n \"description\": \"Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`).\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"tag_name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/delete-release-asset", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_release_asset", "description": { "tagline": "Deletes a specific release asset on GitHub.", "detailed": "Use this tool to delete a specified release asset from a GitHub repository. Provide the owner, repository name, and asset ID to perform the deletion." }, "return_annotation": "Confirmation of asset deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "asset_identifier", "alternative_names": ["asset_id_value", "unique_asset_id"], "description": "The unique identifier for the GitHub release asset to be deleted.", "endpoint_argument_name": "asset_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/releases/assets/{asset_id}", "tags": ["repos"], "summary": "Delete a release asset", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "asset_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the asset." }, "description": "The unique identifier of the asset.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-release-asset", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "download_github_release_asset", "description": { "tagline": "Download binary content of a GitHub release asset.", "detailed": "This tool downloads the binary content of a specific asset from a GitHub release. It should be called when you need to obtain the asset file from a GitHub repository release. The endpoint returns binary data, and clients must handle 200 or 302 HTTP responses." }, "return_annotation": "Binary content of the GitHub release asset.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "asset_unique_identifier", "alternative_names": ["asset_id_number", "release_asset_identifier"], "description": "The unique identifier of the asset to download from a GitHub release. Must be an integer.", "endpoint_argument_name": "asset_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases/assets/{asset_id}", "tags": ["repos"], "summary": "Get a release asset", "description": "To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "asset_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the asset." }, "description": "The unique identifier of the asset.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-release-asset", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "edit_github_release_asset", "description": { "tagline": "Edit a GitHub release asset with push access.", "detailed": "This tool allows users with push access to a GitHub repository to edit details of a release asset, such as its name or description. It should be called when there is a need to update release asset information." }, "return_annotation": "Confirmation of updated release asset details.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_asset_identifier", "alternative_names": ["asset_unique_id", "unique_asset_id"], "description": "The unique integer identifier of the release asset to update.", "endpoint_argument_name": "asset_id" }, { "name": "alternate_asset_description", "alternative_names": ["asset_short_description", "replacement_filename"], "description": "Provide an alternate short description of the release asset, used instead of the filename.", "endpoint_argument_name": "label" }, { "name": "file_name_of_asset", "alternative_names": ["asset_file_name", "release_asset_file_name"], "description": "The file name of the asset. This is used to uniquely identify the asset file for the release.", "endpoint_argument_name": "name" }, { "name": "release_asset_state", "alternative_names": ["asset_status", "state_of_asset"], "description": "Specifies the state of the release asset. Possible values might include 'uploaded', 'deleted', etc. (API documentation does not explicitly define options).", "endpoint_argument_name": "state" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/releases/assets/{asset_id}", "tags": ["repos"], "summary": "Update a release asset", "description": "Users with push access to the repository can edit a release asset.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "asset_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the asset." }, "description": "The unique identifier of the asset.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "label", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An alternate short description of the asset. Used in place of the filename." }, "description": "An alternate short description of the asset. Used in place of the filename.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "An alternate short description of the asset. Used in place of the filename." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The file name of the asset." }, "description": "The file name of the asset.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The file name of the asset." }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "example": "\"uploaded\"" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"label\": \"Mac binary\",\n \"name\": \"foo-1.0.0-osx.zip\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"label\": {\n \"description\": \"An alternate short description of the asset. Used in place of the filename.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The file name of the asset.\",\n \"type\": \"string\"\n },\n \"state\": {\n \"example\": \"\\\"uploaded\\\"\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/generate-release-notes", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "generate_github_release_notes", "description": { "tagline": "Generate release notes for a GitHub repository.", "detailed": "This tool generates a markdown-formatted name and body for release notes, detailing changes since the last release and contributor information. It's useful when preparing to create a new release but does not save the notes." }, "return_annotation": "Markdown content of the generated release notes.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_tag_name", "alternative_names": ["release_version_tag", "release_label"], "description": "Specify the tag name for the release. Can be an existing tag or a new one.", "endpoint_argument_name": "tag_name" }, { "name": "release_configuration_file_path", "alternative_names": ["release_config_file_path", "notes_configuration_file"], "description": "Path to the configuration file in the repository for generating release notes. Defaults to '.github/release.yml' or '.github/release.yaml' if not specified.", "endpoint_argument_name": "configuration_file_path" }, { "name": "previous_tag_name", "alternative_names": ["starting_tag_name", "prior_release_tag"], "description": "The name of the previous tag to use as the starting point for the release notes. It specifies the range of changes for this release.", "endpoint_argument_name": "previous_tag_name" }, { "name": "target_commit", "alternative_names": ["commit_target", "release_commit_target"], "description": "The commitish value that will target the release's tag. Required if tag_name doesn't reference an existing tag. Otherwise, it's ignored.", "endpoint_argument_name": "target_commitish" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/releases/generate-notes", "tags": ["repos"], "summary": "Generate release notes content for a release", "description": "Generate a name and body describing a [release](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "configuration_file_path", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used." }, "description": "Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used." }, "schema_required": false }, { "name": "previous_tag_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release." }, "description": "The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release." }, "schema_required": false }, { "name": "tag_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The tag name for the release. This can be an existing tag or a new one." }, "description": "The tag name for the release. This can be an existing tag or a new one.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The tag name for the release. This can be an existing tag or a new one." }, "schema_required": true }, { "name": "target_commitish", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists." }, "description": "Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"configuration_file_path\": \".github/custom_release_config.yml\",\n \"previous_tag_name\": \"v0.9.2\",\n \"tag_name\": \"v1.0.0\",\n \"target_commitish\": \"main\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"configuration_file_path\": {\n \"description\": \"Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used.\",\n \"type\": \"string\"\n },\n \"previous_tag_name\": {\n \"description\": \"The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release.\",\n \"type\": \"string\"\n },\n \"tag_name\": {\n \"description\": \"The tag name for the release. This can be an existing tag or a new one.\",\n \"type\": \"string\"\n },\n \"target_commitish\": {\n \"description\": \"Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"tag_name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/get-latest-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_latest_github_release", "description": { "tagline": "Retrieve the latest full release from a GitHub repository.", "detailed": "This tool fetches the most recent full release from a specified GitHub repository, excluding prerelease and draft releases. It is useful for monitoring updates and obtaining the latest stable release information." }, "return_annotation": "Details of the latest release for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_account_owner", "github_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to retrieve the latest release from. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases/latest", "tags": ["repos"], "summary": "Get the latest release", "description": "View the latest published full release for the repository.\n\nThe latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-release-by-tag", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_release_by_tag", "description": { "tagline": "Retrieve GitHub release details by tag.", "detailed": "Use this tool to get details of a published GitHub release using the specified repository owner, repository name, and release tag." }, "return_annotation": "Details of a GitHub release based on the specified tag.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. The name is not case sensitive. Provide the GitHub username or organization name.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "Specify the name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_tag", "alternative_names": ["tag_name", "release_version_tag"], "description": "The specific tag of the release to retrieve. This is used to identify and fetch details of the published release.", "endpoint_argument_name": "tag" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases/tags/{tag}", "tags": ["repos"], "summary": "Get a release by tag name", "description": "Get a published release with the specified tag.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "tag", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "tag parameter" }, "description": "tag parameter", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/delete-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_release", "description": { "tagline": "Delete a GitHub release with push access permissions.", "detailed": "Call this tool to delete a release from a GitHub repository if you have push access. It removes the specified release identified by its release ID in the given repository." }, "return_annotation": "Confirmation of the GitHub release deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository, not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. It's not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_identifier", "alternative_names": ["release_id_number", "unique_release_id"], "description": "The unique identifier of the GitHub release to delete. This is an integer value.", "endpoint_argument_name": "release_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/releases/{release_id}", "tags": ["repos"], "summary": "Delete a release", "description": "Users with push access to the repository can delete a release.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_release_details", "description": { "tagline": "Retrieve details of a specific GitHub release.", "detailed": "Use this tool to obtain details about a specific release from a GitHub repository. This includes the upload URL for release assets, which is a hypermedia resource." }, "return_annotation": "Details of a specific GitHub release, including upload URL.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_id", "alternative_names": ["release_identifier", "release_unique_id"], "description": "The unique identifier for the specific GitHub release being queried.", "endpoint_argument_name": "release_id" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases/{release_id}", "tags": ["repos"], "summary": "Get a release", "description": "**Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#hypermedia).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/update-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_release", "description": { "tagline": "Edit a GitHub release with push access.", "detailed": "Use this tool when you need to modify an existing release on a GitHub repository for which you have push access. It allows updating release information such as the title, description, and other metadata." }, "return_annotation": "Details about the updated GitHub release.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_identifier", "alternative_names": ["release_id_number", "release_unique_id"], "description": "The unique integer identifier for the GitHub release to be updated.", "endpoint_argument_name": "release_id" }, { "name": "release_description", "alternative_names": ["release_body_text", "release_notes"], "description": "Text describing the contents and details of the release tag.", "endpoint_argument_name": "body" }, { "name": "set_as_latest_release", "alternative_names": ["update_latest_status", "define_latest_release"], "description": "Specifies if this release should be the latest. Use 'true', 'false', or 'legacy'. Drafts/prereleases aren't eligible.", "endpoint_argument_name": "make_latest" }, { "name": "release_name", "alternative_names": ["release_title", "version_name"], "description": "The name of the release to be updated in the repository. This is a user-friendly name for the release.", "endpoint_argument_name": "name" }, { "name": "release_tag_name", "alternative_names": ["tag_name_for_release", "release_tag"], "description": "The name of the tag for the GitHub release. Used to identify the release version.", "endpoint_argument_name": "tag_name" }, { "name": "commitish_value", "alternative_names": ["commit_branch", "target_commit"], "description": "Determines the source for the Git tag; can be a branch or commit SHA. Defaults to the repo's default branch if the tag exists.", "endpoint_argument_name": "target_commitish" }, { "name": "is_draft", "alternative_names": ["draft_mode", "set_as_draft"], "description": "Set to `true` to make the release a draft, `false` to publish it.", "endpoint_argument_name": "draft" }, { "name": "mark_as_prerelease", "alternative_names": ["set_prerelease", "identify_as_prerelease"], "description": "Set `true` to mark the release as a prerelease, or `false` to identify as a full release.", "endpoint_argument_name": "prerelease" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/releases/{release_id}", "tags": ["repos"], "summary": "Update a release", "description": "Users with push access to the repository can edit a release.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Text describing the contents of the tag." }, "description": "Text describing the contents of the tag.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Text describing the contents of the tag." }, "schema_required": false }, { "name": "draft", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "`true` makes the release a draft, and `false` publishes the release." }, "description": "`true` makes the release a draft, and `false` publishes the release.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "`true` makes the release a draft, and `false` publishes the release." }, "schema_required": false }, { "name": "make_latest", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["true", "false", "legacy"], "properties": null, "inner_properties": null, "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version." }, "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.", "required": false, "deprecated": false, "default": true, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.", "enum": ["true", "false", "legacy"] }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the release." }, "description": "The name of the release.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the release." }, "schema_required": false }, { "name": "prerelease", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release." }, "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release." }, "schema_required": false }, { "name": "tag_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the tag." }, "description": "The name of the tag.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the tag." }, "schema_required": false }, { "name": "target_commitish", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." }, "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`).", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"body\": \"Description of the release\",\n \"draft\": false,\n \"name\": \"v1.0.0\",\n \"prerelease\": false,\n \"tag_name\": \"v1.0.0\",\n \"target_commitish\": \"master\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"Text describing the contents of the tag.\",\n \"type\": \"string\"\n },\n \"draft\": {\n \"description\": \"`true` makes the release a draft, and `false` publishes the release.\",\n \"type\": \"boolean\"\n },\n \"make_latest\": {\n \"default\": true,\n \"description\": \"Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.\",\n \"enum\": [\n \"true\",\n \"false\",\n \"legacy\"\n ],\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the release.\",\n \"type\": \"string\"\n },\n \"prerelease\": {\n \"description\": \"`true` to identify the release as a prerelease, `false` to identify the release as a full release.\",\n \"type\": \"boolean\"\n },\n \"tag_name\": {\n \"description\": \"The name of the tag.\",\n \"type\": \"string\"\n },\n \"target_commitish\": {\n \"description\": \"Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`).\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/list-release-assets", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_release_assets", "description": { "tagline": "Retrieve a list of assets for a GitHub release.", "detailed": "This tool fetches and returns a list of assets associated with a specific release in a GitHub repository. It should be called when you need to access the files or resources attached to a particular release of a GitHub project." }, "return_annotation": "A list of assets for a specific GitHub release.", "arguments": [ { "name": "repository_owner", "alternative_names": ["owner_name", "repo_owner"], "description": "The account owner of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_identifier"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_identifier", "alternative_names": ["release_id_number", "release_unique_id"], "description": "The unique identifier for the GitHub release to fetch assets from.", "endpoint_argument_name": "release_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, with a maximum value of 100. This controls pagination.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page_number", "pagination_page_number"], "description": "The specific page number to fetch from the list of release assets. Useful for navigation in paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases/{release_id}/assets", "tags": ["repos"], "summary": "List release assets", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/upload-release-asset", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Only file-related content types available: application/octet-stream", "wrapper_tool": null, "method": "POST", "path": "/repos/{owner}/{repo}/releases/{release_id}/assets", "tags": ["repos"], "summary": "Upload a release asset", "description": "This endpoint makes use of [a Hypermedia relation](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in\nthe response of the [Create a release endpoint](https://docs.github.com/enterprise-server@3.8/rest/releases/releases#create-a-release) to upload a release asset.\n\nYou need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint.\n\nMost libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: \n\n`application/zip`\n\nGitHub Enterprise Server expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example,\nyou'll still need to pass your authentication to be able to upload an asset.\n\nWhen an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted.\n\n**Notes:**\n* GitHub Enterprise Server renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The \"[List assets for a release](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#list-assets-for-a-release)\"\nendpoint lists the renamed filenames. For more information and help, contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api).\n* To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/enterprise-server@3.8/rest/releases/releases#get-the-latest-release). \n* If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "label", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/list-for-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_release_reactions", "description": { "tagline": "Retrieve reactions for a GitHub release.", "detailed": "Call this tool to get a list of all reactions to a specific release on GitHub. Useful for analyzing user feedback or engagement with a particular release." }, "return_annotation": "A list of reactions to the specified GitHub release.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository", "repo_name"], "description": "The name of the GitHub repository. Case sensitivity is not required.", "endpoint_argument_name": "repo" }, { "name": "release_identifier", "alternative_names": ["release_id_number", "release_unique_id"], "description": "The unique integer identifier of the GitHub release.", "endpoint_argument_name": "release_id" }, { "name": "reaction_type_filter", "alternative_names": ["reaction", "filter_specific_reaction_type"], "description": "Specify a reaction type to filter results. Options are '+1', 'laugh', 'heart', 'hooray', 'rocket', 'eyes'. Leave empty to get all reactions.", "endpoint_argument_name": "content" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit_per_page"], "description": "The number of results to display per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Page number of the results to fetch for paginated reactions.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/releases/{release_id}/reactions", "tags": ["reactions"], "summary": "List reactions for a release", "description": "List the reactions to a [release](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#releases).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "laugh", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "laugh", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_github_release_reaction", "description": { "tagline": "Add a reaction to a GitHub release.", "detailed": "Use this tool to create a reaction to a specific release on GitHub. If a reaction already exists, it will return a confirmation with status 200 OK." }, "return_annotation": "Confirmation of the reaction creation for a release.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository on GitHub. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_identifier", "alternative_names": ["release_unique_id", "identifier_of_release"], "description": "The unique identifier for the GitHub release to which the reaction will be added.", "endpoint_argument_name": "release_id" }, { "name": "reaction_type", "alternative_names": ["reaction_content", "reaction_emotion"], "description": "The reaction type for the release, e.g., '+1', 'laugh', 'heart'. Choose from '+1', 'laugh', 'heart', 'hooray', 'rocket', 'eyes'.", "endpoint_argument_name": "content" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/releases/{release_id}/reactions", "tags": ["reactions"], "summary": "Create reaction for a release", "description": "Create a reaction to a [release](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "laugh", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the release." }, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the release.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the release.", "enum": ["+1", "laugh", "heart", "hooray", "rocket", "eyes"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"content\": \"heart\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"content\": {\n \"description\": \"The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the release.\",\n \"enum\": [\n \"+1\",\n \"laugh\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"content\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "reactions/delete-for-release", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_release_reaction", "description": { "tagline": "Delete a reaction from a GitHub release.", "detailed": "Use this tool to delete a specific reaction from a GitHub release by providing the repository owner, repo, release ID, and reaction ID. It should be called when you need to manage reactions on releases." }, "return_annotation": "Confirmation of the reaction being deleted from the release.", "arguments": [ { "name": "repository_owner", "alternative_names": ["account_owner", "repo_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "release_id", "alternative_names": ["release_identifier", "release_unique_id"], "description": "The unique identifier of the GitHub release. Use this to specify which release's reaction you wish to delete.", "endpoint_argument_name": "release_id" }, { "name": "reaction_identifier", "alternative_names": ["reaction_key", "reaction_id_value"], "description": "The unique identifier for the reaction to be deleted from a release.", "endpoint_argument_name": "reaction_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "tags": ["reactions"], "summary": "Delete a release reaction", "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`.\n\nDelete a reaction to a [release](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#releases).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "release_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the release." }, "description": "The unique identifier of the release.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "reaction_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the reaction." }, "description": "The unique identifier of the reaction.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-cache-info", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_cache_status", "description": { "tagline": "Lists the status of each repository cache replica.", "detailed": "Use this tool to get information about the status of cache replicas for a specific GitHub repository. Ideal for monitoring or troubleshooting cache issues." }, "return_annotation": "Status of repository cache replicas.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_user", "account_owner"], "description": "The GitHub username of the repository owner. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. It is not case sensitive and should clearly identify the GitHub repository of interest.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_page"], "description": "The number of results per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "page_number"], "description": "The page number of results to fetch, used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/replicas/caches", "tags": ["repos"], "summary": "List repository cache replication status", "description": "Lists the status of each repository cache replica.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/list-alerts-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_secret_alerts", "description": { "tagline": "Retrieve secret scanning alerts for a GitHub repository.", "detailed": "Call this tool to get a list of secret scanning alerts for a specified GitHub repository. It requires administrator access and a personal access token with proper scopes (repo or security_events). Suitable for monitoring sensitive data exposure in repositories." }, "return_annotation": "A list of secret scanning alerts for the specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "alerts_state_filter", "alternative_names": ["state_filter", "alert_state"], "description": "Filter alerts by their state: `open` or `resolved`. Specify to list only alerts in a specific state.", "endpoint_argument_name": "state" }, { "name": "filter_by_secret_type", "alternative_names": ["select_secret_types", "secret_types_filter"], "description": "Comma-separated list of secret types to return. By default, all secret types are included.", "endpoint_argument_name": "secret_type" }, { "name": "secret_alert_resolutions_filter", "alternative_names": ["alert_resolution_filter", "resolution_filter"], "description": "Comma-separated resolutions to filter alerts. Valid values: `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted`, `used_in_tests`.", "endpoint_argument_name": "resolution" }, { "name": "sort_results_by_property", "alternative_names": ["sort_by_property", "order_by"], "description": "Specifies the property to sort alerts: use 'created' for creation date, or 'updated' for last update or resolution date.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["order_direction", "results_sort_order"], "description": "Specifies the direction to sort the results ('asc' for ascending, 'desc' for descending).", "endpoint_argument_name": "direction" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "alerts_page"], "description": "Specifies the page number of the secret scanning alerts to retrieve. Use this to paginate results.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "alerts_per_page"], "description": "Specifies the number of secret scanning alerts to return per page, with a maximum of 100 items.", "endpoint_argument_name": "per_page" }, { "name": "cursor_before_event", "alternative_names": ["event_cursor_before", "search_before_cursor"], "description": "Search for events only before this cursor. Leave empty to get the initial cursor.", "endpoint_argument_name": "before" }, { "name": "events_after_cursor", "alternative_names": ["after_cursor", "after_event_cursor"], "description": "A cursor for paginated results to fetch events occurring after this point. Use an empty value to receive the initial cursor.", "endpoint_argument_name": "after" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/secret-scanning/alerts", "tags": ["secret-scanning"], "summary": "List secret scanning alerts for a repository", "description": "Lists secret scanning alerts for an eligible repository, from newest to oldest.\nTo use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "resolved"], "properties": null, "inner_properties": null, "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state." }, "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "resolved"] }, "schema_required": false }, { "name": "secret_type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of secret types to return. By default all secret types are returned.\nSee \"[Secret scanning patterns](https://docs.github.com/enterprise-server@3.8/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)\"\nfor a complete list of secret types." }, "description": "A comma-separated list of secret types to return. By default all secret types are returned.\nSee \"[Secret scanning patterns](https://docs.github.com/enterprise-server@3.8/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)\"\nfor a complete list of secret types.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "resolution", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`." }, "description": "A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved." }, "description": "The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty \"before\" query string." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty \"before\" query string.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "after", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty \"after\" query string." }, "description": "A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty \"after\" query string.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/get-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_secret_scanning_alert", "description": { "tagline": "Retrieve a specific secret scanning alert from a GitHub repository.", "detailed": "Use this tool to obtain details of a secret scanning alert detected in a GitHub repository. This requires administrative access to the repository or organization, and an appropriate personal access token. It also supports GitHub Apps with specific read permissions." }, "return_annotation": "Details of a secret scanning alert from a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The username of the account owner for the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The case-insensitive name of the repository from which to retrieve the secret scanning alert.", "endpoint_argument_name": "repo" }, { "name": "alert_identifier", "alternative_names": ["alert_id_number", "scanning_alert_number"], "description": "The unique integer number identifying a GitHub secret scanning alert. This is found at the URL's end for the alert or in the `number` field of the alert response.", "endpoint_argument_name": "alert_number" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "tags": ["secret-scanning"], "summary": "Get a secret scanning alert", "description": "Gets a single secret scanning alert detected in an eligible repository.\nTo use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation." }, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "secret-scanning/update-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_secret_scanning_alert_status", "description": { "tagline": "Update the status of a secret scanning alert on GitHub.", "detailed": "Use this tool to update the status of a secret scanning alert in a GitHub repository. Requires admin access and a personal access token with the `repo`, `security_events`, or `public_repo` scopes, or a GitHub App with `secret_scanning_alerts` write permission." }, "return_annotation": "Confirmation of secret scanning alert status update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization name that owns the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_identifier", "alternative_names": ["alert_id", "alert_number_id"], "description": "The unique number identifying the secret scanning alert. Found in the alert URL or the response of `GET /repos/{owner}/{repo}/code-scanning/alerts`.", "endpoint_argument_name": "alert_number" }, { "name": "alert_state", "alternative_names": ["secret_alert_state", "scan_alert_state"], "description": "Set the state of the secret scanning alert to 'open' or 'resolved'. 'Resolution' is required if set to 'resolved'.", "endpoint_argument_name": "state" }, { "name": "resolution_reason_for_secret_scanning_alert", "alternative_names": ["alert_resolution_reason", "secret_scanning_resolution_cause"], "description": "Specifies the reason for resolving the alert when the state is set to 'resolved'. Possible values: 'None', 'false_positive', 'wont_fix', 'revoked', 'used_in_tests'.", "endpoint_argument_name": "resolution" }, { "name": "alert_resolution_comment", "alternative_names": ["closure_comment", "resolution_note"], "description": "An optional comment when closing an alert. Set to `null` if changing the alert state to `open`. Cannot be updated or deleted.", "endpoint_argument_name": "resolution_comment" } ] }, "method": "PATCH", "path": "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "tags": ["secret-scanning"], "summary": "Update a secret scanning alert", "description": "Updates the status of a secret scanning alert in an eligible repository.\nTo use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation." }, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "resolution", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["None", "false_positive", "wont_fix", "revoked", "used_in_tests"], "properties": null, "inner_properties": null, "description": "**Required when the `state` is `resolved`.** The reason for resolving the alert." }, "description": "**Required when the `state` is `resolved`.** The reason for resolving the alert.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "**Required when the `state` is `resolved`.** The reason for resolving the alert.", "enum": [null, "false_positive", "wont_fix", "revoked", "used_in_tests"] }, "schema_required": false }, { "name": "resolution_comment", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`." }, "description": "An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`." }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "resolved"], "properties": null, "inner_properties": null, "description": "Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`." }, "description": "Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.", "enum": ["open", "resolved"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"resolution\": \"false_positive\",\n \"state\": \"resolved\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"resolution\": {\n \"description\": \"**Required when the `state` is `resolved`.** The reason for resolving the alert.\",\n \"enum\": [\n null,\n \"false_positive\",\n \"wont_fix\",\n \"revoked\",\n \"used_in_tests\"\n ],\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"resolution_comment\": {\n \"description\": \"An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"state\": {\n \"description\": \"Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`.\",\n \"enum\": [\n \"open\",\n \"resolved\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"state\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "secret-scanning/list-locations-for-alert", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_secret_scanning_alert_locations", "description": { "tagline": "Retrieve locations for a secret scanning alert in a repository.", "detailed": "This tool retrieves all locations associated with a specific secret scanning alert within an eligible GitHub repository. It requires administrator access and a personal access token with appropriate scopes. Suitable for checking where a secret may have been exposed in repository files or areas." }, "return_annotation": "List of locations for a specific secret scanning alert.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository, case insensitive.", "endpoint_argument_name": "repo" }, { "name": "alert_number", "alternative_names": ["alert_id", "secret_alert_number"], "description": "The unique identifier number for a secret scanning alert. This can be found at the end of the URL for a code scanning alert on GitHub, or in the `number` field of the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` API call.", "endpoint_argument_name": "alert_number" }, { "name": "results_page_number", "alternative_names": ["results_page", "page_number"], "description": "The page number of the results to fetch for the secret scanning alert locations.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["page_size", "num_results"], "description": "Specify the number of results to return per page (maximum 100).", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "tags": ["secret-scanning"], "summary": "List locations for a secret scanning alert", "description": "Lists all locations for a given secret scanning alert for an eligible repository.\nTo use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.\nFor public repositories, you may instead use the `public_repo` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "alert_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation." }, "description": "The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer", "description": "The security alert number." }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-stargazers-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repo_stargazers", "description": { "tagline": "Retrieve users who starred a specific GitHub repository.", "detailed": "This tool provides a list of users that have starred a specified GitHub repository, along with the timestamps of when the stars were added. It's useful for understanding the popularity and engagement of a repository." }, "return_annotation": "List of users who starred a repository and star creation times.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The username of the repository's account owner. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository. It is case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["max_results_per_page", "stars_per_page"], "description": "The number of stargazer results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["pagination_page_number", "fetch_page_number"], "description": "Specify the page number for results pagination to retrieve a specific set of stargazers.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/stargazers", "tags": ["activity"], "summary": "List stargazers", "description": "Lists the people that have starred the repository.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-code-frequency-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_code_frequency", "description": { "tagline": "Get weekly code frequency stats for a GitHub repository.", "detailed": "Fetches a weekly summary of code additions and deletions for a specified GitHub repository, providing insights into development activity." }, "return_annotation": "Weekly additions and deletions data for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. The GitHub username is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_identifier", "repo_title"], "description": "The name of the repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/stats/code_frequency", "tags": ["repos"], "summary": "Get the weekly commit activity", "description": "Returns a weekly aggregate of the number of additions and deletions pushed to a repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-commit-activity-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_commit_activity", "description": { "tagline": "Fetch yearly commit activity grouped by week.", "detailed": "Use this tool to obtain commit activity statistics for a GitHub repository over the past year, categorized by week. Useful for analyzing commit trends and activity levels." }, "return_annotation": "Weekly commit activity for the last year.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This value is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/stats/commit_activity", "tags": ["repos"], "summary": "Get the last year of commit activity", "description": "Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-contributors-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_contributor_stats", "description": { "tagline": "Retrieve GitHub repository contributor statistics.", "detailed": "Fetches the total number of commits made by each contributor to a GitHub repository. It also provides a weekly breakdown of additions, deletions, and commits." }, "return_annotation": "Contributor commit statistics including total commits and weekly breakdown.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the GitHub repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case-sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/stats/contributors", "tags": ["repos"], "summary": "Get all contributor commit activity", "description": "\nReturns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information:\n\n* `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n* `a` - Number of additions\n* `d` - Number of deletions\n* `c` - Number of commits", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-participation-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_commit_participation", "description": { "tagline": "Retrieve weekly commit participation stats for a GitHub repo.", "detailed": "This tool fetches the total commit counts for a repository's owner and overall contributors over the last 52 weeks. It helps in understanding the contribution patterns and can determine non-owner contributions by subtracting owner counts from total counts." }, "return_annotation": "Total commit counts for owner and all contributors in the last 52 weeks.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The repository account owner on GitHub. Case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository, which is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/stats/participation", "tags": ["repos"], "summary": "Get the weekly commit count", "description": "Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`.\n\nThe array order is oldest week (index 0) to most recent week.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-punch-card-stats", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_commit_activity_by_hour", "description": { "tagline": "Retrieve commit activity per hour for a GitHub repository.", "detailed": "Provides an array with commit activity stats showing the day of the week, hour of the day, and the number of commits for each hour in a specific GitHub repository. Useful for analyzing commit patterns and identifying peak development times." }, "return_annotation": "Daily and hourly commit activity statistics for a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repository_account_owner", "repo_owner"], "description": "The account owner of the repository; this is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_identifier"], "description": "The name of the repository to analyze. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/stats/punch_card", "tags": ["repos"], "summary": "Get the hourly commit count for each day", "description": "Each array contains the day number, hour number, and number of commits:\n\n* `0-6`: Sunday - Saturday\n* `0-23`: Hour of day\n* Number of commits\n\nFor example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-commit-status", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_commit_status", "description": { "tagline": "Create a commit status for a specific SHA on GitHub.", "detailed": "Use this tool to set a commit status for a specific SHA in a GitHub repository if you have push access. Useful for marking build status, testing results, or other commit contexts. Be mindful of the 1000 status limit per SHA and context." }, "return_annotation": "Confirmation of commit status creation for a SHA.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository. Enter the owner's username (not case sensitive).", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "commit_sha", "alternative_names": ["sha_identifier", "commit_identifier"], "description": "The SHA hash of the commit to set the status for. This uniquely identifies the commit in the repository.", "endpoint_argument_name": "sha" }, { "name": "status_state", "alternative_names": ["commit_status_state", "github_commit_state"], "description": "The state of the status for the commit. Possible values are 'error', 'failure', 'pending', or 'success'.", "endpoint_argument_name": "state" }, { "name": "status_label", "alternative_names": ["status_context", "status_tag"], "description": "A case-insensitive string label to differentiate this status from other systems.", "endpoint_argument_name": "context" }, { "name": "status_description", "alternative_names": ["commit_status_description", "status_desc"], "description": "A short description of the commit status, providing context or details about the status.", "endpoint_argument_name": "description" }, { "name": "commit_status_target_url", "alternative_names": ["status_url", "build_output_url"], "description": "The URL associated with the status for easy navigation in GitHub. Example: a deep link to CI build output.", "endpoint_argument_name": "target_url" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/statuses/{sha}", "tags": ["repos"], "summary": "Create a commit status", "description": "Users with push access in a repository can create commit statuses for a given SHA.\n\nNote: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sha", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "context", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A string label to differentiate this status from the status of other systems. This field is case-insensitive." }, "description": "A string label to differentiate this status from the status of other systems. This field is case-insensitive.", "required": false, "deprecated": false, "default": "default", "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A string label to differentiate this status from the status of other systems. This field is case-insensitive." }, "schema_required": false }, { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the status." }, "description": "A short description of the status.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A short description of the status." }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["error", "failure", "pending", "success"], "properties": null, "inner_properties": null, "description": "The state of the status." }, "description": "The state of the status.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state of the status.", "enum": ["error", "failure", "pending", "success"] }, "schema_required": true }, { "name": "target_url", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \n`http://ci.example.com/user/repo/build/sha`" }, "description": "The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \n`http://ci.example.com/user/repo/build/sha`", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \n`http://ci.example.com/user/repo/build/sha`" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"context\": \"continuous-integration/jenkins\",\n \"description\": \"The build succeeded!\",\n \"state\": \"success\",\n \"target_url\": \"https://example.com/build/status\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"context\": {\n \"default\": \"default\",\n \"description\": \"A string label to differentiate this status from the status of other systems. This field is case-insensitive.\",\n \"type\": \"string\"\n },\n \"description\": {\n \"description\": \"A short description of the status.\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"state\": {\n \"description\": \"The state of the status.\",\n \"enum\": [\n \"error\",\n \"failure\",\n \"pending\",\n \"success\"\n ],\n \"type\": \"string\"\n },\n \"target_url\": {\n \"description\": \"The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \\nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \\n`http://ci.example.com/user/repo/build/sha`\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"state\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "activity/list-watchers-for-repo", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_watchers_for_repo", "description": { "tagline": "Retrieve the list of users watching a GitHub repository.", "detailed": "Use this tool to get a list of all users who are watching a specific GitHub repository. It provides the necessary information about the watchers for a given repository by its owner and repo name." }, "return_annotation": "List of users watching the specified repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. It's case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to list watchers for. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "output_page_number"], "description": "Page number of the results to fetch. Helps in paginating through results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/subscribers", "tags": ["activity"], "summary": "List watchers", "description": "Lists the people watching the specified repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/delete-repo-subscription", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unsubscribe_from_repo", "description": { "tagline": "Stop receiving notifications for a repository.", "detailed": "Use this tool to stop watching a GitHub repository and cease receiving notifications from it. This action will unsubscribe you from updates related to the specified repository." }, "return_annotation": "Confirmation of unsubscription from a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to unsubscribe from. It is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/subscription", "tags": ["activity"], "summary": "Delete a repository subscription", "description": "This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#set-a-repository-subscription).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/get-repo-subscription", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_subscription", "description": { "tagline": "Retrieve subscription status for a GitHub repository.", "detailed": "Use this tool to check if you are subscribed to a specific GitHub repository and receive notifications about its activity. It provides the subscription status and additional details." }, "return_annotation": "Repository subscription details.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the repository owner. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/subscription", "tags": ["activity"], "summary": "Get a repository subscription", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/set-repo-subscription", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_repo_subscription", "description": { "tagline": "Manage your GitHub repository subscription settings.", "detailed": "Use this tool to subscribe to or ignore notifications for a GitHub repository. Set `subscribed` to `true` to watch the repository, or set `ignored` to `true` to ignore notifications. This tool does not delete subscriptions; use a different endpoint for that." }, "return_annotation": "Confirmation of repository subscription status update.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The username of the repository owner. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "Specify the name of the GitHub repository to manage subscriptions. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "block_notifications", "alternative_names": ["suppress_repo_notifications", "mute_repo_notifications"], "description": "Set to true to block all notifications from this repository.", "endpoint_argument_name": "ignored" }, { "name": "receive_notifications", "alternative_names": ["subscribe_to_notifications", "watch_notifications"], "description": "Set to `true` to receive notifications from the repository.", "endpoint_argument_name": "subscribed" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/subscription", "tags": ["activity"], "summary": "Set a repository subscription", "description": "If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/enterprise-server@3.8/rest/reference/activity#delete-a-repository-subscription) completely.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "ignored", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if all notifications should be blocked from this repository." }, "description": "Determines if all notifications should be blocked from this repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Determines if all notifications should be blocked from this repository." }, "schema_required": false }, { "name": "subscribed", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Determines if notifications should be received from this repository." }, "description": "Determines if notifications should be received from this repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Determines if notifications should be received from this repository." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"ignored\": false,\n \"subscribed\": true\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"ignored\": {\n \"description\": \"Determines if all notifications should be blocked from this repository.\",\n \"type\": \"boolean\"\n },\n \"subscribed\": {\n \"description\": \"Determines if notifications should be received from this repository.\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/list-tags", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_repo_tags", "description": { "tagline": "Retrieve tags for a specified GitHub repository.", "detailed": "Use this tool to get a list of all tags for a particular GitHub repository. It's helpful when you need to see available versions or releases in the repository." }, "return_annotation": "List of tags for a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username or organization that owns the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the GitHub repository to retrieve tags from. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "The page number to fetch the results from for the list of repository tags.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/tags", "tags": ["repos"], "summary": "List repository tags", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-tag-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repository_tag_protection_states", "description": { "tagline": "Fetch the tag protection states of a GitHub repository.", "detailed": "Call this tool to retrieve the tag protection settings for a specific GitHub repository. This information is available only to repository administrators, providing insights into how tags are protected within the repository." }, "return_annotation": "Tag protection states of a repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub username of the account owner for the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/tags/protection", "tags": ["repos"], "summary": "List tag protection states for a repository", "description": "This returns the tag protection states of a repository.\n\nThis information is only available to repository administrators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-tag-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_repository_tag_protection", "description": { "tagline": "Create tag protection for a GitHub repository.", "detailed": "This tool creates a tag protection state for a repository on GitHub, available only to repository administrators." }, "return_annotation": "Confirmation of tag protection creation for the repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repository_id", "repo_name"], "description": "The name of the repository. This is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "tag_protection_pattern", "alternative_names": ["glob_pattern", "protection_pattern"], "description": "An optional glob pattern for matching when enforcing tag protection.", "endpoint_argument_name": "pattern" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/tags/protection", "tags": ["repos"], "summary": "Create a tag protection state for a repository", "description": "This creates a tag protection state for a repository.\nThis endpoint is only available to repository administrators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "pattern", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "An optional glob pattern to match against when enforcing tag protection." }, "description": "An optional glob pattern to match against when enforcing tag protection.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "An optional glob pattern to match against when enforcing tag protection." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"pattern\": \"v1.*\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"pattern\": {\n \"description\": \"An optional glob pattern to match against when enforcing tag protection.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"pattern\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/delete-tag-protection", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_repository_tag_protection", "description": { "tagline": "Deletes a tag protection from a GitHub repository.", "detailed": "This tool is used to delete a tag protection state within a specified GitHub repository. It is only accessible to repository administrators." }, "return_annotation": "Confirmation of tag protection deletion.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the repository. This field is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "tag_protection_identifier", "alternative_names": ["tag_protection_id_number", "tag_protect_id"], "description": "The unique identifier for the tag protection to be deleted. Required for identifying which tag protection state to remove.", "endpoint_argument_name": "tag_protection_id" } ] }, "method": "DELETE", "path": "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "tags": ["repos"], "summary": "Delete a tag protection state for a repository", "description": "This deletes a tag protection state for a repository.\nThis endpoint is only available to repository administrators.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "tag_protection_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the tag protection." }, "description": "The unique identifier of the tag protection.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/download-tarball-archive", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "download_github_repo_tarball", "description": { "tagline": "Retrieve a URL to download a GitHub repository tarball.", "detailed": "This tool provides a redirect URL for downloading a tar archive of a GitHub repository. If the `:ref` is omitted, it defaults to the repository\u2019s main branch. Note that for private repositories, the link expires after five minutes. Ensure your HTTP framework can follow redirects, or use the 'Location' header for a second GET request." }, "return_annotation": "Redirect URL to download a tar archive of a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The GitHub account owner of the repository. It is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. This input is not case sensitive. Specify the repository whose tarball you want to download.", "endpoint_argument_name": "repo" }, { "name": "branch_or_commit_ref", "alternative_names": ["reference_name", "git_ref"], "description": "Specify the branch name or commit SHA for the repository. If omitted, the default branch is used.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/tarball/{ref}", "tags": ["repos"], "summary": "Download a repository archive (tar)", "description": "Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository\u2019s default branch (usually\n`main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\nthe `Location` header to make a second `GET` request.\n**Note**: For private repositories, these links are temporary and expire after five minutes.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-teams", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_repository_teams", "description": { "tagline": "Retrieve a list of teams for a specified GitHub repository.", "detailed": "Use this tool to get all the teams associated with a specific GitHub repository by providing the repository owner and name." }, "return_annotation": "A list of teams associated with a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the repository. This is case-insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "limit_per_page"], "description": "The number of results to include per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "results_page"], "description": "The page number to fetch from the results. Use this to iterate through paginated data.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/teams", "tags": ["repos"], "summary": "List repository teams", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/get-all-topics", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_repo_topics", "description": { "tagline": "Retrieve all topics for a specific GitHub repository.", "detailed": "Call this tool to get a list of topics associated with a specific repository on GitHub. It can help understand the themes or categories the repository covers." }, "return_annotation": "List of topics associated with a GitHub repository.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. This is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "The page number of results to fetch. Useful for paginating through large data sets.", "endpoint_argument_name": "page" }, { "name": "results_per_page", "alternative_names": ["page_size", "results_limit"], "description": "The number of results to fetch per page, with a maximum of 100.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/topics", "tags": ["repos"], "summary": "Get all repository topics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/replace-all-topics", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_repo_topics", "description": { "tagline": "Replace topics for a specific GitHub repository.", "detailed": "Use this tool to replace all topics for a specified GitHub repository, allowing easy management and categorization of projects." }, "return_annotation": "Confirmation of updated repository topics.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. It is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "repository_topic_names", "alternative_names": ["repo_topic_list", "topic_names_array"], "description": "An array of topics to replace existing repository topics. To clear all topics, send an empty array. Topics must be lowercase.", "endpoint_argument_name": "names" } ] }, "method": "PUT", "path": "/repos/{owner}/{repo}/topics", "tags": ["repos"], "summary": "Replace all repository topics", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "names", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters." }, "description": "An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters.", "items": { "type": "string" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"names\": [\n \"octocat\",\n \"atom\",\n \"electron\",\n \"api\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"names\": {\n \"description\": \"An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"names\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/transfer", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "transfer_github_repository", "description": { "tagline": "Initiate the transfer of a GitHub repository to a new owner.", "detailed": "This tool starts the process of transferring a GitHub repository to another user. The new owner must accept the transfer when moving a personal repository. The response provides information about the original owner and continues the transfer asynchronously. For more details, refer to GitHub's documentation on repository transfers." }, "return_annotation": "Details of the original owner and transfer progress.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "account_owner"], "description": "The account owner of the repository. Case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_title", "repository_id"], "description": "The name of the repository to be transferred. Case-insensitive.", "endpoint_argument_name": "repo" }, { "name": "new_owner_username_or_org", "alternative_names": ["recipient_username_or_org", "transfer_target_username_or_org"], "description": "The username or organization name to which the repository will be transferred.", "endpoint_argument_name": "new_owner" }, { "name": "new_repository_name", "alternative_names": ["repository_new_name", "rename_repository"], "description": "The new name to be given to the repository. It should be a valid GitHub repository name.", "endpoint_argument_name": "new_name" }, { "name": "team_ids_to_add", "alternative_names": ["repository_team_ids", "add_teams_to_repo"], "description": "List of team IDs to add to the repository. Applicable only for organization-owned repositories.", "endpoint_argument_name": "team_ids" } ] }, "method": "POST", "path": "/repos/{owner}/{repo}/transfer", "tags": ["repos"], "summary": "Transfer a repository", "description": "A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/enterprise-server@3.8/articles/about-repository-transfers/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "new_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new name to be given to the repository." }, "description": "The new name to be given to the repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new name to be given to the repository." }, "schema_required": false }, { "name": "new_owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The username or organization name the repository will be transferred to." }, "description": "The username or organization name the repository will be transferred to.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The username or organization name the repository will be transferred to." }, "schema_required": true }, { "name": "team_ids", "value_schema": { "val_type": "array", "inner_val_type": "integer", "enum": null, "properties": null, "inner_properties": null, "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories." }, "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.", "items": { "type": "integer" } }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"new_name\": \"octorepo\",\n \"new_owner\": \"github\",\n \"team_ids\": [\n 12,\n 345\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"new_name\": {\n \"description\": \"The new name to be given to the repository.\",\n \"type\": \"string\"\n },\n \"new_owner\": {\n \"description\": \"The username or organization name the repository will be transferred to.\",\n \"type\": \"string\"\n },\n \"team_ids\": {\n \"description\": \"ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.\",\n \"items\": {\n \"type\": \"integer\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"new_owner\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/download-zipball-archive", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "download_github_repo_zip", "description": { "tagline": "Retrieve a URL to download a GitHub repository as a zip file.", "detailed": "This tool retrieves a redirect URL for downloading a zip archive of a specified GitHub repository. If no branch is specified, the repository's default branch will be used. Note that for private repositories, the links expire after five minutes, and empty repositories will return a 404 error." }, "return_annotation": "Redirect URL to download a repository zip archive.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "owner_name"], "description": "The account owner of the GitHub repository. Not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "repo" }, { "name": "repository_reference", "alternative_names": ["branch_or_commit", "repo_version"], "description": "Specify the branch, tag, or commit SHA to retrieve the zip archive from. Defaults to the repository's default branch if omitted.", "endpoint_argument_name": "ref" } ] }, "method": "GET", "path": "/repos/{owner}/{repo}/zipball/{ref}", "tags": ["repos"], "summary": "Download a repository archive (zip)", "description": "Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository\u2019s default branch (usually\n`main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\nthe `Location` header to make a second `GET` request.\n\n**Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "ref", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-using-template", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_repo_from_template", "description": { "tagline": "Create a new repository from a template.", "detailed": "Use this tool to create a new GitHub repository using an existing repository template. Specify the template by providing the template owner's and repository's names. Ensure the template is accessible and the necessary OAuth scopes are authorized. This tool is useful when needing to quickly start a new project with predefined settings and structure." }, "return_annotation": "Details of the newly created repository.", "arguments": [ { "name": "template_repository_owner", "alternative_names": ["template_owner_name", "owner_of_template_repo"], "description": "Username or organization name that owns the template repository.", "endpoint_argument_name": "template_owner" }, { "name": "template_repository_name", "alternative_names": ["template_repo_name", "repository_template_name"], "description": "The name of the repository template to use for creating the new repository.", "endpoint_argument_name": "template_repo" }, { "name": "new_repository_name", "alternative_names": ["repository_name", "repo_name"], "description": "The name of the new repository to be created using the template.", "endpoint_argument_name": "name" }, { "name": "repository_description", "alternative_names": ["repo_description", "new_repo_description"], "description": "A short description of the new GitHub repository to be created from the template.", "endpoint_argument_name": "description" }, { "name": "repository_owner", "alternative_names": ["repo_owner", "new_repo_owner"], "description": "The organization or user that will own the new repository. Must be a valid organization member if creating under an organization.", "endpoint_argument_name": "owner" }, { "name": "include_all_branches_from_template", "alternative_names": [ "include_branches_from_template", "fetch_all_branches_from_template" ], "description": "Set to true to include files from all branches in the template repository, not just the default branch. Default: false.", "endpoint_argument_name": "include_all_branches" }, { "name": "create_private_repository", "alternative_names": ["is_private", "set_private_repo"], "description": "Set to true to create a private repository, or false to create a public one.", "endpoint_argument_name": "private" } ] }, "method": "POST", "path": "/repos/{template_owner}/{template_repo}/generate", "tags": ["repos"], "summary": "Create a repository using a template", "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.8/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "template_owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "template_repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "description", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the new repository." }, "description": "A short description of the new repository.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A short description of the new repository." }, "schema_required": false }, { "name": "include_all_branches", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`." }, "description": "Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`." }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the new repository." }, "description": "The name of the new repository.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the new repository." }, "schema_required": true }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization." }, "description": "The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization." }, "schema_required": false }, { "name": "private", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Either `true` to create a new private repository or `false` to create a new public one." }, "description": "Either `true` to create a new private repository or `false` to create a new public one.", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Either `true` to create a new private repository or `false` to create a new public one." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"This is your first repository\",\n \"include_all_branches\": false,\n \"name\": \"Hello-World\",\n \"owner\": \"octocat\",\n \"private\": false\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"A short description of the new repository.\",\n \"type\": \"string\"\n },\n \"include_all_branches\": {\n \"default\": false,\n \"description\": \"Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`.\",\n \"type\": \"boolean\"\n },\n \"name\": {\n \"description\": \"The name of the new repository.\",\n \"type\": \"string\"\n },\n \"owner\": {\n \"description\": \"The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization.\",\n \"type\": \"string\"\n },\n \"private\": {\n \"default\": false,\n \"description\": \"Either `true` to create a new private repository or `false` to create a new public one.\",\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "repos/list-public", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_public_github_repositories", "description": { "tagline": "Retrieve all public GitHub repositories.", "detailed": "This tool lists all public repositories on GitHub, ordered by creation date. It uses pagination via the 'since' parameter and provides the Link header for navigating pages." }, "return_annotation": "A list of all public GitHub repositories.", "arguments": [ { "name": "starting_repository_id", "alternative_names": ["begin_after_repository_id", "repository_id_threshold"], "description": "Specify a repository ID to list only repositories with an ID greater than this value for pagination.", "endpoint_argument_name": "since" }, { "name": "repository_visibility", "alternative_names": ["repo_types", "visibility_filter"], "description": "Specify types of repositories to return, such as 'all' or 'public'.", "endpoint_argument_name": "visibility" } ] }, "method": "GET", "path": "/repositories", "tags": ["repos"], "summary": "List public repositories", "description": "Lists all public repositories in the order that they were created.\n\nNote:\n- For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise.\n- Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A repository ID. Only return repositories with an ID greater than this ID." }, "description": "A repository ID. Only return repositories with an ID greater than this ID.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "public"], "properties": null, "inner_properties": null, "description": "Specifies the types of repositories to return. This endpoint will only list repositories available to all users on the enterprise." }, "description": "Specifies the types of repositories to return. This endpoint will only list repositories available to all users on the enterprise.", "required": false, "deprecated": false, "default": "public", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "public"], "example": "all" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/list-environment-secrets", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_environment_secrets", "description": { "tagline": "Retrieve secrets for a GitHub environment.", "detailed": "Use this tool to list all secrets in a specific GitHub environment without revealing their encrypted values. Authentication with a token having `repo` scope is required. Best used for managing or auditing environment secrets." }, "return_annotation": "List of environment secrets without encrypted values", "arguments": [ { "name": "repository_unique_identifier", "alternative_names": ["repo_id", "repository_id_number"], "description": "The unique identifier of the repository. Required to fetch the environment secrets.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "environment"], "description": "The name of the environment whose secrets are to be listed. This is necessary to identify the specific environment in the repository.", "endpoint_argument_name": "environment_name" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_entries_per_page"], "description": "The number of results to display per page, with a maximum allowable value of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "page_of_results"], "description": "Page number of the results to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repositories/{repository_id}/environments/{environment_name}/secrets", "tags": ["actions"], "summary": "List environment secrets", "description": "Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-environment-public-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_environment_public_key", "description": { "tagline": "Fetch the public key for a GitHub environment.", "detailed": "This tool retrieves the public key needed to encrypt environment secrets for a specified GitHub repository and environment. Use it when you need to secure secrets before creating or updating them. Requires appropriate access permissions." }, "return_annotation": "Retrieves the public key for encrypting environment secrets.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the GitHub repository. It must be an integer value.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "environment"], "description": "The name of the GitHub environment for which to retrieve the public key.", "endpoint_argument_name": "environment_name" } ] }, "method": "GET", "path": "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "tags": ["actions"], "summary": "Get an environment public key", "description": "Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/delete-environment-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_environment_secret", "description": { "tagline": "Delete a GitHub environment secret by name.", "detailed": "This tool deletes a specific secret from an environment in a GitHub repository. It requires authentication with an access token having the `repo` scope or a GitHub App with `secrets` repository permission. Use this tool to securely manage and remove secrets from your environments." }, "return_annotation": "Confirmation of secret deletion.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the repository to delete the secret from.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "environment_identifier"], "description": "Specify the name of the GitHub environment from which the secret will be deleted.", "endpoint_argument_name": "environment_name" }, { "name": "secret_name_to_delete", "alternative_names": ["env_secret_name", "environment_secret_name"], "description": "The name of the secret to be deleted from the environment.", "endpoint_argument_name": "secret_name" } ] }, "method": "DELETE", "path": "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "tags": ["actions"], "summary": "Delete an environment secret", "description": "Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-environment-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_environment_secret_info", "description": { "tagline": "Retrieve details of an environment secret on GitHub.", "detailed": "Fetches metadata about a specific GitHub environment secret. This tool is useful for getting information like the name and existence of a secret without revealing its encrypted value. Authentication with a token having `repo` scope or `secrets` permission is required." }, "return_annotation": "Information about a specific environment secret.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_identifier", "repository_unique_id"], "description": "The unique identifier of the GitHub repository.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "environment_identifier"], "description": "The name of the environment to access the secret from. Required to specify which environment's secret details to retrieve.", "endpoint_argument_name": "environment_name" }, { "name": "secret_name", "alternative_names": ["secret_identifier", "secret_key_name"], "description": "The name of the environment secret to retrieve information about.", "endpoint_argument_name": "secret_name" } ] }, "method": "GET", "path": "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "tags": ["actions"], "summary": "Get an environment secret", "description": "Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-or-update-environment-secret", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "manage_github_environment_secret", "description": { "tagline": "Create or update an encrypted environment secret on GitHub.", "detailed": "This tool allows you to create or update an environment secret in a GitHub repository. It requires encryption of the secret value using LibSodium and authentication with a token that has the 'repo' scope. Ideal for automating secret management in deployment environments." }, "return_annotation": "Confirmation of secret creation or update.", "arguments": [ { "name": "repository_unique_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the GitHub repository where the secret will be managed.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment_name"], "description": "The name of the environment in the GitHub repository where the secret will be created or updated.", "endpoint_argument_name": "environment_name" }, { "name": "secret_name", "alternative_names": ["environment_secret_name", "configuration_secret_name"], "description": "The name of the secret to be created or updated in the GitHub environment.", "endpoint_argument_name": "secret_name" }, { "name": "encrypted_secret_value", "alternative_names": ["encrypted_env_secret_value", "encrypted_secret"], "description": "The secret value encrypted with LibSodium using a public key. Retrieve the key from the 'Get an environment public key' endpoint.", "endpoint_argument_name": "encrypted_value" }, { "name": "encryption_key_id", "alternative_names": ["key_encryption_id", "secret_key_id"], "description": "The identifier for the encryption key used to encrypt the secret. This is required to ensure the correct decryption of the secret on GitHub.", "endpoint_argument_name": "key_id" } ] }, "method": "PUT", "path": "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "tags": ["actions"], "summary": "Create or update an environment secret", "description": "Creates or updates an environment secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library.\n\n```\nconst sodium = require('libsodium-wrappers')\nconst secret = 'plain-text-secret' // replace with the secret you want to encrypt\nconst key = 'base64-encoded-public-key' // replace with the Base64 encoded public key\n\n//Check if libsodium is ready and then proceed.\nsodium.ready.then(() => {\n // Convert Secret & Base64 key to Uint8Array.\n let binkey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL)\n let binsec = sodium.from_string(secret)\n\n //Encrypt the secret using LibSodium\n let encBytes = sodium.crypto_box_seal(binsec, binkey)\n\n // Convert encrypted Uint8Array to Base64\n let output = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL)\n\n console.log(output)\n});\n```\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "secret_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the secret." }, "description": "The name of the secret.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "encrypted_value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-environment-public-key) endpoint." }, "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-environment-public-key) endpoint.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-environment-public-key) endpoint.", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" }, "schema_required": true }, { "name": "key_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "ID of the key you used to encrypt the secret." }, "description": "ID of the key you used to encrypt the secret.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "ID of the key you used to encrypt the secret." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"encrypted_value\": \"c2VjcmV0\",\n \"key_id\": \"012345678912345678\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"encrypted_value\": {\n \"description\": \"Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/enterprise-server@3.8/rest/reference/actions#get-an-environment-public-key) endpoint.\",\n \"pattern\": \"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\",\n \"type\": \"string\"\n },\n \"key_id\": {\n \"description\": \"ID of the key you used to encrypt the secret.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"encrypted_value\",\n \"key_id\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/list-environment-variables", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_environment_variables", "description": { "tagline": "Retrieve environment variables from a GitHub repository's environment.", "detailed": "Use this tool to list all environment variables for a specific environment within a GitHub repository. Requires authentication with a token having 'repo' scope or as a GitHub App with 'environments:read' permission." }, "return_annotation": "List of GitHub environment variables for a repository.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the GitHub repository to retrieve environment variables from.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "environment_identifier"], "description": "Specify the environment name to retrieve its variables within a GitHub repository.", "endpoint_argument_name": "environment_name" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results"], "description": "Specifies the number of environment variables to return per page, with a maximum allowed value of 30.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["pagination_page_number", "page_number"], "description": "Specify the page number to retrieve results from. Use for paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/repositories/{repository_id}/environments/{environment_name}/variables", "tags": ["actions"], "summary": "List environment variables", "description": "Lists all environment variables. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `environments:read` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 30)." }, "description": "The number of results per page (max 30).", "required": false, "deprecated": false, "default": 10, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/create-environment-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_env_variable", "description": { "tagline": "Create an environment variable for GitHub Actions workflows.", "detailed": "This tool creates an environment variable that can be referenced in a GitHub Actions workflow. Authentication with an access token and appropriate permissions is required." }, "return_annotation": "Confirmation of environment variable creation on GitHub.", "arguments": [ { "name": "repository_identifier", "alternative_names": ["repo_id", "repository_key"], "description": "The unique identifier of the repository for which the environment variable is being created.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "workflow_environment_name"], "description": "Specify the name of the environment where the variable will be created. This is required for defining the scope within GitHub Actions workflows.", "endpoint_argument_name": "environment_name" }, { "name": "variable_name", "alternative_names": ["env_variable_name", "github_variable_name"], "description": "The name of the environment variable to be created.", "endpoint_argument_name": "name" }, { "name": "variable_value", "alternative_names": ["env_variable_value", "github_variable_value"], "description": "The value assigned to the environment variable. Must be a string.", "endpoint_argument_name": "value" } ] }, "method": "POST", "path": "/repositories/{repository_id}/environments/{environment_name}/variables", "tags": ["actions"], "summary": "Create an environment variable", "description": "Create an environment variable that you can reference in a GitHub Actions workflow.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `environment:write` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the variable." }, "schema_required": true }, { "name": "value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The value of the variable." }, "description": "The value of the variable.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The value of the variable." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"USERNAME\",\n \"value\": \"octocat\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the variable.\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The value of the variable.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"value\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "actions/delete-environment-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_env_variable", "description": { "tagline": "Deletes an environment variable in a GitHub repository environment.", "detailed": "This tool is used to delete an environment variable from a specific environment in a GitHub repository. Authentication with an access token having the `repo` scope is required. GitHub Apps need the `environment:write` permission." }, "return_annotation": "Confirmation of the environment variable deletion.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the GitHub repository where the environment variable will be deleted.", "endpoint_argument_name": "repository_id" }, { "name": "variable_name", "alternative_names": ["env_variable_name", "environment_variable_name"], "description": "The name of the environment variable to delete.", "endpoint_argument_name": "name" }, { "name": "environment_name", "alternative_names": ["env_name", "environment_identifier"], "description": "The name of the environment from which the variable will be deleted.", "endpoint_argument_name": "environment_name" } ] }, "method": "DELETE", "path": "/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "tags": ["actions"], "summary": "Delete an environment variable", "description": "Deletes an environment variable using the variable name.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `environment:write` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/get-environment-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_env_variable", "description": { "tagline": "Retrieve specific environment variable details from GitHub.", "detailed": "Call this tool to get information about a specific environment variable within a specified environment of a GitHub repository. Requires authentication with an access token having 'repo' scope or GitHub App permissions." }, "return_annotation": "Details of a specific environment variable from a GitHub repository.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique identifier of the GitHub repository.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "environment_title"], "description": "The name of the environment to retrieve the variable from. Required for identifying the specific environment.", "endpoint_argument_name": "environment_name" }, { "name": "variable_name", "alternative_names": ["env_variable_name", "environment_variable_name"], "description": "The name of the environment variable to retrieve from the GitHub repository.", "endpoint_argument_name": "name" } ] }, "method": "GET", "path": "/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "tags": ["actions"], "summary": "Get an environment variable", "description": "Gets a specific variable in an environment. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `environments:read` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "actions/update-environment-variable", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_actions_env_var", "description": { "tagline": "Update an environment variable in GitHub Actions workflow.", "detailed": "Use this tool to update an environment variable within a specified GitHub Actions workflow environment. Requires authentication with a `repo` scope token or GitHub App with `environment:write` permissions." }, "return_annotation": "Confirmation of environment variable update.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_identifier", "repository_unique_id"], "description": "The unique identifier of the repository to update the environment variable in.", "endpoint_argument_name": "repository_id" }, { "name": "environment_name", "alternative_names": ["env_name", "deployment_environment_name"], "description": "The name of the GitHub Actions workflow environment to update.", "endpoint_argument_name": "environment_name" }, { "name": "variable_name", "alternative_names": ["env_variable_name", "workflow_variable_name"], "description": "The name of the environment variable to update in the GitHub Actions workflow.", "endpoint_argument_name": "name" }, { "name": "variable_identifier", "alternative_names": ["variable_identifier", "env_var_name"], "description": "The name of the environment variable to update.", "endpoint_argument_name": "name" }, { "name": "environment_variable_value", "alternative_names": ["env_var_value", "variable_value"], "description": "The new value for the GitHub Actions environment variable.", "endpoint_argument_name": "value" } ] }, "method": "PATCH", "path": "/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "tags": ["actions"], "summary": "Update an environment variable", "description": "Updates an environment variable that you can reference in a GitHub Actions workflow.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\nGitHub Apps must have the `environment:write` repository permission to use this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "environment_name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the environment." }, "description": "The name of the environment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the variable." }, "description": "The name of the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The name of the variable." }, "schema_required": false }, { "name": "value", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The value of the variable." }, "description": "The value of the variable.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The value of the variable." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"name\": \"USERNAME\",\n \"value\": \"octocat\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the variable.\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The value of the variable.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/list-provisioned-groups-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_provisioned_groups_for_enterprise", "description": { "tagline": "Retrieve provisioned SCIM groups for an enterprise.", "detailed": "This tool retrieves a list of provisioned SCIM groups within an enterprise account on GitHub. It is useful for administrators who need to manage or audit group provisions. For optimized performance, exclude 'members' from the response using the 'excludedAttributes' query parameter." }, "return_annotation": "List of provisioned SCIM groups in an enterprise.", "arguments": [ { "name": "filter_by_attribute", "alternative_names": ["attribute_filter", "group_filter"], "description": "Filter results by a specific attribute. Supported filters: `externalId`, `id`, `displayName`. Example: `externalId eq '9138790-10932-109120392-12321'`.", "endpoint_argument_name": "filter" }, { "name": "exclude_attribute_from_results", "alternative_names": ["omit_attribute_from_output", "exclude_from_response"], "description": "Specify an attribute to exclude from the results to speed up response time.", "endpoint_argument_name": "excludedAttributes" }, { "name": "start_index", "alternative_names": ["pagination_start_index", "start_page_index"], "description": "The starting index for pagination; specifies where to begin returning results.", "endpoint_argument_name": "startIndex" }, { "name": "results_per_page", "alternative_names": ["num_results_per_page", "page_size"], "description": "The number of SCIM group results to return per page for pagination.", "endpoint_argument_name": "count" } ] }, "method": "GET", "path": "/scim/v2/Groups", "tags": ["enterprise-admin"], "summary": "List provisioned SCIM groups for an enterprise", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nLists provisioned SCIM groups in an enterprise.\n\nYou can improve query search time by using the `excludedAttributes` query parameter with a value of `members` to exclude members from the response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are `externalId`, `id`, and `displayName`. For example, `?filter=\"externalId eq '9138790-10932-109120392-12321'\"`." }, "description": "If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are `externalId`, `id`, and `displayName`. For example, `?filter=\"externalId eq '9138790-10932-109120392-12321'\"`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "excludedAttributes", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time." }, "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "example": "members" }, "schema_required": false }, { "name": "startIndex", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the starting index of the first result to return when paginating through values." }, "description": "Used for pagination: the starting index of the first result to return when paginating through values.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer", "format": "int32", "example": 1 }, "schema_required": false }, { "name": "count", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the number of results to return per page." }, "description": "Used for pagination: the number of results to return per page.", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer", "format": "int32", "example": 1 }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/provision-enterprise-group", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_enterprise_scim_group", "description": { "tagline": "Create a SCIM group for a GitHub enterprise account.", "detailed": "Facilitates the creation of a SCIM group within a GitHub enterprise. This tool should be used when you need to establish a new group with optional member inclusion. Any specified members will be added as external group members, and it's important to maintain mapping of their identifiers." }, "return_annotation": "Details of the created SCIM group.", "arguments": [ { "name": "enterprise_scim_group_details", "alternative_names": ["group_creation_payload", "scim_group_configuration"], "description": "A JSON object containing group details: `displayName`, `externalId`, `members` (optional), and `schemas`. `members` is an array with `displayName` and `value` for each member.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/scim/v2/Groups", "tags": ["enterprise-admin"], "summary": "Provision a SCIM enterprise group", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nCreates a SCIM group for an enterprise.\n\nIf members are included as part of the group provisioning payload, they will be created as external group members. It is up to a provider to store a mapping between the `externalId` and `id` of each user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "displayName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A human-readable name for a security group." }, "externalId": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier for the resource as defined by the provisioning client." }, "members": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "displayName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The display name associated with the member" }, "value": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The local unique identifier for the member" } }, "description": "The group members." }, "schemas": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The URIs that are used to indicate the namespaces of the SCIM schemas." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "displayName": { "type": "string", "description": "A human-readable name for a security group.", "example": "Engineering" }, "externalId": { "type": "string", "description": "A unique identifier for the resource as defined by the provisioning client.", "example": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" }, "members": { "type": "array", "description": "The group members.", "items": { "type": "object", "properties": { "displayName": { "type": "string", "description": "The display name associated with the member", "example": "Monalisa Octocat" }, "value": { "type": "string", "description": "The local unique identifier for the member", "example": "23a35c27-23d3-4c03-b4c5-6443c09e7173" } }, "required": ["value", "displayName"] } }, "schemas": { "type": "array", "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { "type": "string", "enum": ["urn:ietf:params:scim:schemas:core:2.0:Group"] } } }, "required": ["schemas", "externalId", "displayName", "members"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"group\": {\n \"value\": {\n \"displayName\": \"Engineering\",\n \"externalId\": \"8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159\",\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"A human-readable name for a security group.\",\n \"example\": \"Engineering\",\n \"type\": \"string\"\n },\n \"externalId\": {\n \"description\": \"A unique identifier for the resource as defined by the provisioning client.\",\n \"example\": \"8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159\",\n \"type\": \"string\"\n },\n \"members\": {\n \"description\": \"The group members.\",\n \"items\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"The display name associated with the member\",\n \"example\": \"Monalisa Octocat\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The local unique identifier for the member\",\n \"example\": \"23a35c27-23d3-4c03-b4c5-6443c09e7173\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"value\",\n \"displayName\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"schemas\": {\n \"description\": \"The URIs that are used to indicate the namespaces of the SCIM schemas.\",\n \"example\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"items\": {\n \"enum\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"schemas\",\n \"externalId\",\n \"displayName\",\n \"members\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/delete-scim-group-from-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_scim_group_from_enterprise", "description": { "tagline": "Delete a SCIM group from an enterprise.", "detailed": "Use this tool to delete a SCIM group from an enterprise using the GitHub API. Ideal for managing user groups within enterprise accounts." }, "return_annotation": "Confirmation of SCIM group deletion from enterprise.", "arguments": [ { "name": "scim_group_id", "alternative_names": ["group_id", "scim_identifier"], "description": "The unique identifier of the SCIM group to delete from an enterprise.", "endpoint_argument_name": "scim_group_id" } ] }, "method": "DELETE", "path": "/scim/v2/Groups/{scim_group_id}", "tags": ["enterprise-admin"], "summary": "Delete a SCIM group from an enterprise", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\n Deletes a SCIM group from an enterprise.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_group_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier of the SCIM group." }, "description": "A unique identifier of the SCIM group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "example": "7fce0092-d52e-4f76-b727-3955bd72c939" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-provisioning-information-for-enterprise-group", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_scim_group_info", "description": { "tagline": "Retrieve provisioning information for a SCIM group in an enterprise.", "detailed": "Use this tool to get detailed provisioning information of a specific SCIM group within an enterprise account. This can be essential for managing and auditing group memberships and access within an organization." }, "return_annotation": "Provisioning information about a SCIM group.", "arguments": [ { "name": "scim_group_identifier", "alternative_names": ["group_id", "scim_unique_id"], "description": "A unique identifier for the SCIM group to retrieve its provisioning information.", "endpoint_argument_name": "scim_group_id" }, { "name": "exclude_attributes", "alternative_names": ["omit_attributes", "ignore_attributes"], "description": "Specify attributes to exclude from the response to speed up retrieval.", "endpoint_argument_name": "excludedAttributes" } ] }, "method": "GET", "path": "/scim/v2/Groups/{scim_group_id}", "tags": ["enterprise-admin"], "summary": "Get SCIM provisioning information for an enterprise group", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nGets information about a SCIM group.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "excludedAttributes", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time." }, "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "example": "members" }, "schema_required": false } ], "path": [ { "name": "scim_group_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier of the SCIM group." }, "description": "A unique identifier of the SCIM group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "example": "7fce0092-d52e-4f76-b727-3955bd72c939" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-attribute-for-enterprise-group", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_enterprise_group_attributes", "description": { "tagline": "Update attributes for a provisioned enterprise group.", "detailed": "This tool updates individual attributes of a provisioned group in an enterprise account using the SCIM API. Users can perform add, remove, or replace operations on group attributes or memberships. Useful for updating group values or managing memberships efficiently." }, "return_annotation": "Confirmation of updated group attributes and memberships.", "arguments": [ { "name": "scim_group_identifier", "alternative_names": ["group_scim_id", "enterprise_group_id"], "description": "A unique identifier for the SCIM group to be updated. This is required to specify which group's attributes or memberships are being modified.", "endpoint_argument_name": "scim_group_id" }, { "name": "group_attributes_operations", "alternative_names": ["group_operations_payload", "update_operations_list"], "description": "JSON object specifying SCIM operations for group attributes. Must include 'Operations' with at least one operation ('add', 'replace', 'remove'), and optionally 'schemas'.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/scim/v2/Groups/{scim_group_id}", "tags": ["enterprise-admin"], "summary": "Update an attribute for a SCIM enterprise group", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nUpdate a provisioned group\u2019s individual attributes.\n\nTo change a group\u2019s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). Update can also be used to add group memberships.\n\nGroup memberships can be sent one at a time or in batches for faster performance. **Note**: The memberships are referenced through a local user `id`, and the user will need to be created before they are referenced here.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_group_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier of the SCIM group." }, "description": "A unique identifier of the SCIM group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "example": "7fce0092-d52e-4f76-b727-3955bd72c939" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "Operations": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "op": { "val_type": "string", "inner_val_type": null, "enum": ["add", "replace", "remove"], "properties": null, "inner_properties": null, "description": null }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "value": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Corresponding 'value' of that field specified by 'path'" } }, "description": "patch operations list" }, "schemas": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "Operations": { "type": "array", "description": "patch operations list", "items": { "type": "object", "properties": { "op": { "type": "string", "enum": ["add", "replace", "remove"] }, "path": { "type": "string" }, "value": { "type": "string", "description": "Corresponding 'value' of that field specified by 'path'" } }, "required": ["op"] } }, "schemas": { "type": "array", "items": { "type": "string", "enum": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"] } } }, "required": ["Operations", "schemas"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"addMembers\": {\n \"summary\": \"Add Members\",\n \"value\": {\n \"Operations\": [\n {\n \"op\": \"add\",\n \"path\": \"members\",\n \"value\": [\n {\n \"value\": \"879db59-3bdf-4490-ad68-ab880a2694745\"\n },\n {\n \"value\": \"0db508eb-91e2-46e4-809c-30dcbda0c685\"\n }\n ]\n }\n ],\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ]\n }\n },\n \"updateGroup\": {\n \"summary\": \"Update Group\",\n \"value\": {\n \"Operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"displayName\",\n \"value\": \"Employees\"\n }\n ],\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"Operations\": {\n \"description\": \"patch operations list\",\n \"items\": {\n \"properties\": {\n \"op\": {\n \"enum\": [\n \"add\",\n \"replace\",\n \"remove\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"Corresponding 'value' of that field specified by 'path'\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"schemas\": {\n \"items\": {\n \"enum\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"Operations\",\n \"schemas\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/set-information-for-provisioned-enterprise-group", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_enterprise_group_info", "description": { "tagline": "Replace all information for a provisioned enterprise group.", "detailed": "Use this tool to replace an existing provisioned group's information entirely. All details must be provided anew, as any missing information will result in its removal, including membership. For partial updates, a different endpoint should be used." }, "return_annotation": "Updated provisioned group information.", "arguments": [ { "name": "scim_group_identifier", "alternative_names": ["group_id", "scim_id"], "description": "A unique identifier for the SCIM group to update. This is necessary for identifying the specific group to replace its information.", "endpoint_argument_name": "scim_group_id" }, { "name": "group_information_payload", "alternative_names": ["group_info_body", "group_data"], "description": "A JSON object containing the details of the provisioned group, including displayName, externalId, members, and schemas.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/scim/v2/Groups/{scim_group_id}", "tags": ["enterprise-admin"], "summary": "Set SCIM information for a provisioned enterprise group", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nReplaces an existing provisioned group\u2019s information.\n\nYou must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_group_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier of the SCIM group." }, "description": "A unique identifier of the SCIM group.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string", "example": "7fce0092-d52e-4f76-b727-3955bd72c939" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "displayName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A human-readable name for a security group." }, "externalId": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier for the resource as defined by the provisioning client." }, "members": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "displayName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The display name associated with the member" }, "value": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The local unique identifier for the member" } }, "description": "The group members." }, "schemas": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The URIs that are used to indicate the namespaces of the SCIM schemas." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "displayName": { "type": "string", "description": "A human-readable name for a security group.", "example": "Engineering" }, "externalId": { "type": "string", "description": "A unique identifier for the resource as defined by the provisioning client.", "example": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" }, "members": { "type": "array", "description": "The group members.", "items": { "type": "object", "properties": { "displayName": { "type": "string", "description": "The display name associated with the member", "example": "Monalisa Octocat" }, "value": { "type": "string", "description": "The local unique identifier for the member", "example": "23a35c27-23d3-4c03-b4c5-6443c09e7173" } }, "required": ["value", "displayName"] } }, "schemas": { "type": "array", "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { "type": "string", "enum": ["urn:ietf:params:scim:schemas:core:2.0:Group"] } } }, "required": ["schemas", "externalId", "displayName", "members"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"group\": {\n \"summary\": \"Group\",\n \"value\": {\n \"displayName\": \"Engineering\",\n \"externalId\": \"8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159\",\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ]\n }\n },\n \"groupWithMembers\": {\n \"summary\": \"Group with member\",\n \"value\": {\n \"displayName\": \"Engineering\",\n \"externalId\": \"8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159\",\n \"members\": [\n {\n \"displayName\": \"User 1\",\n \"value\": \"879db59-3bdf-4490-ad68-ab880a2694745\"\n },\n {\n \"displayName\": \"User 2\",\n \"value\": \"0db508eb-91e2-46e4-809c-30dcbda0c685\"\n }\n ],\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"A human-readable name for a security group.\",\n \"example\": \"Engineering\",\n \"type\": \"string\"\n },\n \"externalId\": {\n \"description\": \"A unique identifier for the resource as defined by the provisioning client.\",\n \"example\": \"8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159\",\n \"type\": \"string\"\n },\n \"members\": {\n \"description\": \"The group members.\",\n \"items\": {\n \"properties\": {\n \"displayName\": {\n \"description\": \"The display name associated with the member\",\n \"example\": \"Monalisa Octocat\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The local unique identifier for the member\",\n \"example\": \"23a35c27-23d3-4c03-b4c5-6443c09e7173\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"value\",\n \"displayName\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"schemas\": {\n \"description\": \"The URIs that are used to indicate the namespaces of the SCIM schemas.\",\n \"example\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"items\": {\n \"enum\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"schemas\",\n \"externalId\",\n \"displayName\",\n \"members\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/list-provisioned-identities-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_scim_enterprise_members", "description": { "tagline": "Lists provisioned SCIM enterprise members for GitHub enterprises.", "detailed": "This tool retrieves a list of provisioned SCIM enterprise members associated with a GitHub enterprise account. It is useful for managing enterprise users and understanding membership status. The tool allows you to exclude certain attributes to improve query performance." }, "return_annotation": "A list of provisioned SCIM enterprise members.", "arguments": [ { "name": "filter_criteria", "alternative_names": ["filter_condition", "filter_expression"], "description": "Filter results by `userName`, `externalId`, `id`, or `displayName`. Only one filter is supported. E.g., \"externalId eq '9138790-10932-109120392-12321'\".", "endpoint_argument_name": "filter" }, { "name": "exclude_attributes", "alternative_names": ["omit_attributes", "leave_out_attributes"], "description": "Specify attributes to exclude from the results to improve query performance. Commonly used values are 'groups'.", "endpoint_argument_name": "excludedAttributes" }, { "name": "pagination_start_index", "alternative_names": ["results_start_index", "page_start_index"], "description": "The starting index of the first result to return for paginated responses.", "endpoint_argument_name": "startIndex" }, { "name": "results_per_page", "alternative_names": ["page_size", "limit_results"], "description": "Specify the number of SCIM enterprise members to return per page for pagination.", "endpoint_argument_name": "count" } ] }, "method": "GET", "path": "/scim/v2/Users", "tags": ["enterprise-admin"], "summary": "List SCIM provisioned identities for an enterprise", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nLists provisioned SCIM enterprise members.\n\nWhen a user with a SCIM-provisioned external identity is removed from an enterprise through a `patch` with `active` flag set to `false`, the account's metadata is preserved to allow the user to re-join the enterprise in the future. However, the user's account will be suspended and the user will not be able to sign-in. In order to permanently suspend the users account with no ability to re-join the enterprise in the future, use the `delete` request. Users that were not permanently deleted will be visible in the returned results.\n\nYou can improve query search time by using the `excludedAttributes` query parameter with a value of `groups` to exclude groups from the response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are `userName`, `externalId`, `id`, and `displayName`. For example, `?filter=\"externalId eq '9138790-10932-109120392-12321'\"`." }, "description": "If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are `userName`, `externalId`, `id`, and `displayName`. For example, `?filter=\"externalId eq '9138790-10932-109120392-12321'\"`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "excludedAttributes", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time." }, "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "example": "members" }, "schema_required": false }, { "name": "startIndex", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the starting index of the first result to return when paginating through values." }, "description": "Used for pagination: the starting index of the first result to return when paginating through values.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer", "format": "int32", "example": 1 }, "schema_required": false }, { "name": "count", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Used for pagination: the number of results to return per page." }, "description": "Used for pagination: the number of results to return per page.", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer", "format": "int32", "example": 1 }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/provision-enterprise-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "provision_enterprise_user", "description": { "tagline": "Create a new SCIM enterprise user identity.", "detailed": "This tool creates an external identity for a new SCIM enterprise user. It's used for provisioning users in enterprises using SCIM before they can sign in through SAML. When converting an existing enterprise to use SCIM, the SCIM `userName` is utilized to match new users to existing enterprise users." }, "return_annotation": "Creates an external identity for a SCIM enterprise user.", "arguments": [ { "name": "user_provisioning_data", "alternative_names": ["scim_user_data", "provisioning_payload"], "description": "A JSON object containing details for the SCIM user, including active status, name, emails, externalId, roles, schemas, and userName.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/scim/v2/Users", "tags": ["enterprise-admin"], "summary": "Provision a SCIM enterprise user", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nCreates an external identity for a new SCIM enterprise user.\n\nSCIM does not authenticate users, it only provisions them. The authentication of users is done by SAML. However, when SCIM is enabled, all users need to be provisioned through SCIM before a user can sign in through SAML. The matching of a user to a SCIM provisioned user is done when the SAML assertion is consumed. The user will be matched on SAML response `NameID` to SCIM `userName`.\n\nWhen converting existing enterprise to use SCIM, the user handle (`userName`) from the SCIM payload will be used to match the provisioned user to an already existing user in the enterprise. Since the new identity record is created for newly provisioned users the matching for those records is done using a user's handle. Currently the matching will be performed to all of the users no matter if they were SAML JIT provisioned or created as local users.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "active": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the user active in the IdP." }, "displayName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A human-readable name for the user." }, "emails": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "primary": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether this email address is the primary address." }, "type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The type of email address." }, "value": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email address." } }, "description": "The emails for the user." }, "externalId": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier for the resource as defined by the provisioning client." }, "name": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "familyName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The family name of the user." }, "formatted": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display." }, "givenName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The given name of the user." }, "middleName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The middle name(s) of the user." } }, "inner_properties": null, "description": null }, "roles": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "display": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "primary": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Is the role a primary role for the user." }, "type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "value": { "val_type": "string", "inner_val_type": null, "enum": [ "User", "user", "27d9891d-2c17-4f45-a262-781a0e55c80a", "Restricted User", "restricted_user", "1ebc4a02-e56c-43a6-92a5-02ee09b90824", "Enterprise Owner", "enterprise_owner", "981df190-8801-4618-a08a-d91f6206c954", "ba4987ab-a1c3-412a-b58c-360fc407cb10", "Billing Manager", "billing_manager", "0e338b8c-cc7f-498a-928d-ea3470d7e7e3", "e6be2762-e4ad-4108-b72d-1bbe884a0f91" ], "properties": null, "inner_properties": null, "description": "The role value representing a user role in GitHub." } }, "description": "The roles assigned to the user." }, "schemas": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The URIs that are used to indicate the namespaces of the SCIM schemas." }, "userName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The username for the user." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Whether the user active in the IdP.", "example": true }, "displayName": { "type": "string", "description": "A human-readable name for the user.", "example": "Mona Lisa" }, "emails": { "type": "array", "description": "The emails for the user.", "items": { "type": "object", "properties": { "primary": { "type": "boolean", "description": "Whether this email address is the primary address.", "example": true }, "type": { "type": "string", "description": "The type of email address.", "example": "work" }, "value": { "type": "string", "description": "The email address.", "example": "mlisa@example.com" } }, "required": ["value", "type", "primary"] } }, "externalId": { "type": "string", "description": "A unique identifier for the resource as defined by the provisioning client.", "example": "E012345" }, "name": { "type": "object", "properties": { "familyName": { "type": "string", "description": "The family name of the user.", "example": "Octocat" }, "formatted": { "type": "string", "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", "example": "Ms. Mona Lisa Octocat" }, "givenName": { "type": "string", "description": "The given name of the user.", "example": "Mona" }, "middleName": { "type": "string", "description": "The middle name(s) of the user.", "example": "Lisa" } }, "required": ["familyName", "givenName"] }, "roles": { "type": "array", "description": "The roles assigned to the user.", "items": { "type": "object", "properties": { "display": { "type": "string" }, "primary": { "type": "boolean", "description": "Is the role a primary role for the user.", "example": false }, "type": { "type": "string" }, "value": { "type": "string", "description": "The role value representing a user role in GitHub.", "enum": [ "User", "user", "27d9891d-2c17-4f45-a262-781a0e55c80a", "Restricted User", "restricted_user", "1ebc4a02-e56c-43a6-92a5-02ee09b90824", "Enterprise Owner", "enterprise_owner", "981df190-8801-4618-a08a-d91f6206c954", "ba4987ab-a1c3-412a-b58c-360fc407cb10", "Billing Manager", "billing_manager", "0e338b8c-cc7f-498a-928d-ea3470d7e7e3", "e6be2762-e4ad-4108-b72d-1bbe884a0f91" ], "example": "user" } }, "required": ["value"] } }, "schemas": { "type": "array", "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { "type": "string", "enum": ["urn:ietf:params:scim:schemas:core:2.0:User"] } }, "userName": { "type": "string", "description": "The username for the user.", "example": "E012345" } }, "required": ["schemas", "externalId", "userName", "active", "displayName", "emails"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"enterpriseOwner\": {\n \"$ref\": \"#/components/examples/in-user-owner\"\n },\n \"user\": {\n \"$ref\": \"#/components/examples/in-user\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"description\": \"Whether the user active in the IdP.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"displayName\": {\n \"description\": \"A human-readable name for the user.\",\n \"example\": \"Mona Lisa\",\n \"type\": \"string\"\n },\n \"emails\": {\n \"description\": \"The emails for the user.\",\n \"items\": {\n \"properties\": {\n \"primary\": {\n \"description\": \"Whether this email address is the primary address.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"type\": {\n \"description\": \"The type of email address.\",\n \"example\": \"work\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The email address.\",\n \"example\": \"mlisa@example.com\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"value\",\n \"type\",\n \"primary\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"externalId\": {\n \"description\": \"A unique identifier for the resource as defined by the provisioning client.\",\n \"example\": \"E012345\",\n \"type\": \"string\"\n },\n \"name\": {\n \"properties\": {\n \"familyName\": {\n \"description\": \"The family name of the user.\",\n \"example\": \"Octocat\",\n \"type\": \"string\"\n },\n \"formatted\": {\n \"description\": \"The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.\",\n \"example\": \"Ms. Mona Lisa Octocat\",\n \"type\": \"string\"\n },\n \"givenName\": {\n \"description\": \"The given name of the user.\",\n \"example\": \"Mona\",\n \"type\": \"string\"\n },\n \"middleName\": {\n \"description\": \"The middle name(s) of the user.\",\n \"example\": \"Lisa\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"familyName\",\n \"givenName\"\n ],\n \"type\": \"object\"\n },\n \"roles\": {\n \"description\": \"The roles assigned to the user.\",\n \"items\": {\n \"properties\": {\n \"display\": {\n \"type\": \"string\"\n },\n \"primary\": {\n \"description\": \"Is the role a primary role for the user.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The role value representing a user role in GitHub.\",\n \"enum\": [\n \"User\",\n \"user\",\n \"27d9891d-2c17-4f45-a262-781a0e55c80a\",\n \"Restricted User\",\n \"restricted_user\",\n \"1ebc4a02-e56c-43a6-92a5-02ee09b90824\",\n \"Enterprise Owner\",\n \"enterprise_owner\",\n \"981df190-8801-4618-a08a-d91f6206c954\",\n \"ba4987ab-a1c3-412a-b58c-360fc407cb10\",\n \"Billing Manager\",\n \"billing_manager\",\n \"0e338b8c-cc7f-498a-928d-ea3470d7e7e3\",\n \"e6be2762-e4ad-4108-b72d-1bbe884a0f91\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"schemas\": {\n \"description\": \"The URIs that are used to indicate the namespaces of the SCIM schemas.\",\n \"example\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"items\": {\n \"enum\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"userName\": {\n \"description\": \"The username for the user.\",\n \"example\": \"E012345\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"schemas\",\n \"externalId\",\n \"userName\",\n \"active\",\n \"displayName\",\n \"emails\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/delete-user-from-enterprise", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_user_from_enterprise", "description": { "tagline": "Permanently delete a SCIM user from an enterprise account.", "detailed": "This tool permanently deletes a SCIM user from a GitHub enterprise account. It removes all user data, obfuscates personal information, and deletes associated credentials. This action is irreversible and should be used with caution." }, "return_annotation": "Confirmation of user deletion from the enterprise.", "arguments": [ { "name": "scim_user_identifier", "alternative_names": ["user_id_in_scim", "enterprise_scim_id"], "description": "The unique identifier of the SCIM user to be permanently deleted from the enterprise.", "endpoint_argument_name": "scim_user_id" } ] }, "method": "DELETE", "path": "/scim/v2/Users/{scim_user_id}", "tags": ["enterprise-admin"], "summary": "Delete a SCIM user from an enterprise", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nPermanently suspends a SCIM user from an enterprise, removes all data for the user, obfuscates the login, email, and display name of the user, removes all external-identity SCIM attributes, and deletes the emails, avatar, PATs, SSH keys, OAuth authorizations credentials, GPG keys, and SAML mappings for the user. You will not be able to undo this action.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_user_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the SCIM user." }, "description": "The unique identifier of the SCIM user.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-provisioning-information-for-enterprise-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_scim_user_info", "description": { "tagline": "Fetch SCIM user provisioning information.", "detailed": "Retrieves information about a SCIM user in an enterprise account. Suitable for obtaining detailed provisioning data of a user within the GitHub enterprise environment." }, "return_annotation": "SCIM user provisioning information.", "arguments": [ { "name": "scim_user_identifier", "alternative_names": ["user_scim_id", "enterprise_user_id"], "description": "The unique identifier for the SCIM user in the GitHub enterprise environment.", "endpoint_argument_name": "scim_user_id" } ] }, "method": "GET", "path": "/scim/v2/Users/{scim_user_id}", "tags": ["enterprise-admin"], "summary": "Get SCIM provisioning information for an enterprise user", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nGets information about a SCIM user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_user_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the SCIM user." }, "description": "The unique identifier of the SCIM user.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/update-attribute-for-enterprise-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_enterprise_user_attribute", "description": { "tagline": "Update individual attributes for a provisioned enterprise user.", "detailed": "Use this tool to modify attributes of a provisioned user in an enterprise setting using SCIM API operations. It allows adding, removing, or replacing user attributes. Note that complex path selectors and some operations like suspending a user may have specific caveats. Refer to the SCIM specification for operation format guidance." }, "return_annotation": "Confirmation of user attribute update or error message.", "arguments": [ { "name": "scim_user_id", "alternative_names": ["user_id_scim", "scim_id"], "description": "The unique identifier for the SCIM user whose attributes you want to update.", "endpoint_argument_name": "scim_user_id" }, { "name": "scim_operations_request", "alternative_names": ["scim_user_update_operations", "user_attribute_patch_request"], "description": "JSON object detailing SCIM operations (add, remove, replace) to update user attributes, formatted according to SCIM specification.", "endpoint_argument_name": "requestBody" } ] }, "method": "PATCH", "path": "/scim/v2/Users/{scim_user_id}", "tags": ["enterprise-admin"], "summary": "Update an attribute for a SCIM enterprise user", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nUpdate a provisioned user's individual attributes.\n\nTo change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** Setting `active: false` will suspend a user and obfuscate the user handle and user email. Since the implementation is a generic SCIM implementation and does not differentiate yet between different IdP providers, for Okta, the user GDPR data will not be purged and the credentials will not be removed.\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_user_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the SCIM user." }, "description": "The unique identifier of the SCIM user.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "Operations": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "op": { "val_type": "string", "inner_val_type": null, "enum": ["add", "replace", "remove"], "properties": null, "inner_properties": null, "description": null }, "path": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "value": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Corresponding 'value' of that field specified by 'path'" } }, "description": "patch operations list" }, "schemas": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "Operations": { "type": "array", "description": "patch operations list", "items": { "type": "object", "properties": { "op": { "type": "string", "enum": ["add", "replace", "remove"] }, "path": { "type": "string" }, "value": { "type": "string", "description": "Corresponding 'value' of that field specified by 'path'" } }, "required": ["op"] } }, "schemas": { "type": "array", "items": { "type": "string", "enum": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"] } } }, "required": ["Operations", "schemas"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"disableUser\": {\n \"summary\": \"Disable User\",\n \"value\": {\n \"Operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"active\",\n \"value\": false\n }\n ],\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ]\n }\n },\n \"userMultiValuedProperties\": {\n \"summary\": \"Multi Valued Property\",\n \"value\": {\n \"Operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"emails[type eq 'work'].value\",\n \"value\": \"updatedEmail@microsoft.com\"\n },\n {\n \"op\": \"replace\",\n \"path\": \"name.familyName\",\n \"value\": \"updatedFamilyName\"\n }\n ],\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ]\n }\n },\n \"userSingleValuedProperties\": {\n \"summary\": \"Single Valued Property\",\n \"value\": {\n \"Operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"userName\",\n \"value\": \"5b50642d-79fc-4410-9e90-4c077cdd1a59@testuser.com\"\n },\n {\n \"op\": \"replace\",\n \"path\": \"displayName\",\n \"value\": \"Monalisa Octocat\"\n }\n ],\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"Operations\": {\n \"description\": \"patch operations list\",\n \"items\": {\n \"properties\": {\n \"op\": {\n \"enum\": [\n \"add\",\n \"replace\",\n \"remove\"\n ],\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"Corresponding 'value' of that field specified by 'path'\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"op\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"schemas\": {\n \"items\": {\n \"enum\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"Operations\",\n \"schemas\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "enterprise-admin/set-information-for-provisioned-enterprise-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_provisioned_enterprise_user_info", "description": { "tagline": "Update all information for a provisioned enterprise user.", "detailed": "This tool updates the information of an existing provisioned user in an enterprise account using the SCIM API. It requires all user information to be provided as if provisioning the user for the first time. Existing information not included will be removed. Use this for comprehensive updates, and not for partial attribute changes. Note: Setting 'active: false' will suspend the user." }, "return_annotation": "Updated information for the provisioned enterprise user.", "arguments": [ { "name": "scim_user_identifier", "alternative_names": ["user_scim_id", "enterprise_user_id"], "description": "The unique identifier of the SCIM user for updating their information.", "endpoint_argument_name": "scim_user_id" }, { "name": "user_information_payload", "alternative_names": ["user_data", "provisioned_user_details"], "description": "Complete user information in JSON format for provisioned enterprise user, including active status, display name, emails, external ID, name details, roles, schemas, and username.", "endpoint_argument_name": "requestBody" } ] }, "method": "PUT", "path": "/scim/v2/Users/{scim_user_id}", "tags": ["enterprise-admin"], "summary": "Set SCIM information for a provisioned enterprise user", "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nReplaces an existing provisioned user's information.\n\nYou must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-a-scim-enterprise-user) endpoint instead.\n\n**Warning:** Setting `active: false` will suspend a user and obfuscate the user handle and user email. Since the implementation is a generic SCIM implementation and does not differentiate yet between different IdP providers, for Okta, the user GDPR data will not be purged and the credentials will not be removed.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "scim_user_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the SCIM user." }, "description": "The unique identifier of the SCIM user.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "active": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the user active in the IdP." }, "displayName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A human-readable name for the user." }, "emails": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "primary": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether this email address is the primary address." }, "type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The type of email address." }, "value": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The email address." } }, "description": "The emails for the user." }, "externalId": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A unique identifier for the resource as defined by the provisioning client." }, "name": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "familyName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The family name of the user." }, "formatted": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display." }, "givenName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The given name of the user." }, "middleName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The middle name(s) of the user." } }, "inner_properties": null, "description": null }, "roles": { "val_type": "array", "inner_val_type": "json", "enum": null, "properties": null, "inner_properties": { "display": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "primary": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Is the role a primary role for the user." }, "type": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null }, "value": { "val_type": "string", "inner_val_type": null, "enum": [ "User", "user", "27d9891d-2c17-4f45-a262-781a0e55c80a", "Restricted User", "restricted_user", "1ebc4a02-e56c-43a6-92a5-02ee09b90824", "Enterprise Owner", "enterprise_owner", "981df190-8801-4618-a08a-d91f6206c954", "ba4987ab-a1c3-412a-b58c-360fc407cb10", "Billing Manager", "billing_manager", "0e338b8c-cc7f-498a-928d-ea3470d7e7e3", "e6be2762-e4ad-4108-b72d-1bbe884a0f91" ], "properties": null, "inner_properties": null, "description": "The role value representing a user role in GitHub." } }, "description": "The roles assigned to the user." }, "schemas": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "The URIs that are used to indicate the namespaces of the SCIM schemas." }, "userName": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The username for the user." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Whether the user active in the IdP.", "example": true }, "displayName": { "type": "string", "description": "A human-readable name for the user.", "example": "Mona Lisa" }, "emails": { "type": "array", "description": "The emails for the user.", "items": { "type": "object", "properties": { "primary": { "type": "boolean", "description": "Whether this email address is the primary address.", "example": true }, "type": { "type": "string", "description": "The type of email address.", "example": "work" }, "value": { "type": "string", "description": "The email address.", "example": "mlisa@example.com" } }, "required": ["value", "type", "primary"] } }, "externalId": { "type": "string", "description": "A unique identifier for the resource as defined by the provisioning client.", "example": "E012345" }, "name": { "type": "object", "properties": { "familyName": { "type": "string", "description": "The family name of the user.", "example": "Octocat" }, "formatted": { "type": "string", "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", "example": "Ms. Mona Lisa Octocat" }, "givenName": { "type": "string", "description": "The given name of the user.", "example": "Mona" }, "middleName": { "type": "string", "description": "The middle name(s) of the user.", "example": "Lisa" } }, "required": ["familyName", "givenName"] }, "roles": { "type": "array", "description": "The roles assigned to the user.", "items": { "type": "object", "properties": { "display": { "type": "string" }, "primary": { "type": "boolean", "description": "Is the role a primary role for the user.", "example": false }, "type": { "type": "string" }, "value": { "type": "string", "description": "The role value representing a user role in GitHub.", "enum": [ "User", "user", "27d9891d-2c17-4f45-a262-781a0e55c80a", "Restricted User", "restricted_user", "1ebc4a02-e56c-43a6-92a5-02ee09b90824", "Enterprise Owner", "enterprise_owner", "981df190-8801-4618-a08a-d91f6206c954", "ba4987ab-a1c3-412a-b58c-360fc407cb10", "Billing Manager", "billing_manager", "0e338b8c-cc7f-498a-928d-ea3470d7e7e3", "e6be2762-e4ad-4108-b72d-1bbe884a0f91" ], "example": "user" } }, "required": ["value"] } }, "schemas": { "type": "array", "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { "type": "string", "enum": ["urn:ietf:params:scim:schemas:core:2.0:User"] } }, "userName": { "type": "string", "description": "The username for the user.", "example": "E012345" } }, "required": ["schemas", "externalId", "userName", "active", "displayName", "emails"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"user\": {\n \"$ref\": \"#/components/examples/in-user\"\n }\n },\n \"schema\": {\n \"properties\": {\n \"active\": {\n \"description\": \"Whether the user active in the IdP.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"displayName\": {\n \"description\": \"A human-readable name for the user.\",\n \"example\": \"Mona Lisa\",\n \"type\": \"string\"\n },\n \"emails\": {\n \"description\": \"The emails for the user.\",\n \"items\": {\n \"properties\": {\n \"primary\": {\n \"description\": \"Whether this email address is the primary address.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"type\": {\n \"description\": \"The type of email address.\",\n \"example\": \"work\",\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The email address.\",\n \"example\": \"mlisa@example.com\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"value\",\n \"type\",\n \"primary\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"externalId\": {\n \"description\": \"A unique identifier for the resource as defined by the provisioning client.\",\n \"example\": \"E012345\",\n \"type\": \"string\"\n },\n \"name\": {\n \"properties\": {\n \"familyName\": {\n \"description\": \"The family name of the user.\",\n \"example\": \"Octocat\",\n \"type\": \"string\"\n },\n \"formatted\": {\n \"description\": \"The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.\",\n \"example\": \"Ms. Mona Lisa Octocat\",\n \"type\": \"string\"\n },\n \"givenName\": {\n \"description\": \"The given name of the user.\",\n \"example\": \"Mona\",\n \"type\": \"string\"\n },\n \"middleName\": {\n \"description\": \"The middle name(s) of the user.\",\n \"example\": \"Lisa\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"familyName\",\n \"givenName\"\n ],\n \"type\": \"object\"\n },\n \"roles\": {\n \"description\": \"The roles assigned to the user.\",\n \"items\": {\n \"properties\": {\n \"display\": {\n \"type\": \"string\"\n },\n \"primary\": {\n \"description\": \"Is the role a primary role for the user.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"description\": \"The role value representing a user role in GitHub.\",\n \"enum\": [\n \"User\",\n \"user\",\n \"27d9891d-2c17-4f45-a262-781a0e55c80a\",\n \"Restricted User\",\n \"restricted_user\",\n \"1ebc4a02-e56c-43a6-92a5-02ee09b90824\",\n \"Enterprise Owner\",\n \"enterprise_owner\",\n \"981df190-8801-4618-a08a-d91f6206c954\",\n \"ba4987ab-a1c3-412a-b58c-360fc407cb10\",\n \"Billing Manager\",\n \"billing_manager\",\n \"0e338b8c-cc7f-498a-928d-ea3470d7e7e3\",\n \"e6be2762-e4ad-4108-b72d-1bbe884a0f91\"\n ],\n \"example\": \"user\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"value\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"schemas\": {\n \"description\": \"The URIs that are used to indicate the namespaces of the SCIM schemas.\",\n \"example\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"items\": {\n \"enum\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"userName\": {\n \"description\": \"The username for the user.\",\n \"example\": \"E012345\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"schemas\",\n \"externalId\",\n \"userName\",\n \"active\",\n \"displayName\",\n \"emails\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "search/code", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "search_code_in_github", "description": { "tagline": "Search for code in GitHub repositories.", "detailed": "Use this tool to search for specific terms within files in GitHub repositories. It supports queries by file content, language, and repository, returning highlighted matches when requested. Call this tool when you need to locate code definitions or usage across GitHub's repositories, limited to the default branch and files smaller than 384 KB." }, "return_annotation": "GitHub code search results with text match highlights.", "arguments": [ { "name": "search_query", "alternative_names": ["query_terms", "search_keywords"], "description": "A string containing search keywords and qualifiers to limit the search scope on GitHub. For more details, see the GitHub search query documentation.", "endpoint_argument_name": "q" }, { "name": "sort_by_recent_index", "alternative_names": ["index_sort", "recently_indexed_sort"], "description": "Sort the search results by most recently indexed files. The only valid value is `indexed`.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["results_order", "search_order"], "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). Ignored unless `sort` is provided.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["results_count_per_page", "page_results_limit"], "description": "Specifies the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "The page number of the results to fetch. Use this to navigate through search results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/code", "tags": ["search"], "summary": "Search code", "description": "Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this:\n\n`q=addClass+in:file+language:js+repo:jquery/jquery`\n\nThis query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository.\n\n#### Considerations for code search\n\nDue to the complexity of searching code, there are a few restrictions on how searches are performed:\n\n* Only the _default branch_ is considered. In most cases, this will be the `master` branch.\n* Only files smaller than 384 KB are searchable.\n* You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing\nlanguage:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching code](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-code)\" for a detailed list of qualifiers." }, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching code](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-code)\" for a detailed list of qualifiers.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["indexed"], "properties": null, "inner_properties": null, "description": "Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub Enterprise Server search infrastructure. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)" }, "description": "Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub Enterprise Server search infrastructure. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["indexed"] }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`." }, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "search/commits", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "search_github_commits", "description": { "tagline": "Search for GitHub commits using various criteria.", "detailed": "Use this tool to find specific commits in a GitHub repository's default branch based on search criteria. It's useful for retrieving commits by keywords, repository, or other parameters. The tool returns commit information, including text match metadata for messages." }, "return_annotation": "A list of matching GitHub commit details.", "arguments": [ { "name": "commit_search_query", "alternative_names": ["commit_query", "commit_search_keywords"], "description": "A string containing search keywords and qualifiers to find specific commits. Use qualifiers to narrow the search to specific areas of GitHub. See the API documentation for constructing queries with qualifiers.", "endpoint_argument_name": "q" }, { "name": "sort_results_by", "alternative_names": ["results_sort_order", "commit_sort_by"], "description": "Sort results by `author-date` or `committer-date`. Defaults to best match if not specified.", "endpoint_argument_name": "sort" }, { "name": "result_order", "alternative_names": ["sort_order", "search_order"], "description": "Determines whether the first search result returned has the highest number of matches ('desc') or the lowest ('asc'). Used only with 'sort'.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "pagination_page"], "description": "Page number of the results to fetch. Determines which set of results to retrieve in paginated requests.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/commits", "tags": ["search"], "summary": "Search commits", "description": "Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match\nmetadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this:\n\n`q=repo:octocat/Spoon-Knife+css`", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching commits](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-commits)\" for a detailed list of qualifiers." }, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching commits](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-commits)\" for a detailed list of qualifiers.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["author-date", "committer-date"], "properties": null, "inner_properties": null, "description": "Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)" }, "description": "Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["author-date", "committer-date"] }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`." }, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "search/issues-and-pull-requests", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "search_github_issues_and_prs", "description": { "tagline": "Search GitHub issues and pull requests by state and keyword.", "detailed": "Utilize this tool to find specific GitHub issues or pull requests using keywords and state filters. Ideal for investigating issues labeled as bugs, enhancing workflows by finding unresolved issues, or sorting issues by creation date. The tool supports searching using various qualifiers like language or labels, and can return up to 100 items per request. Note: To search both issues and pull requests, separate queries are required." }, "return_annotation": "A list of GitHub issues and pull requests based on search criteria.", "arguments": [ { "name": "search_query", "alternative_names": ["query_string", "keyword_qualifiers"], "description": "A string containing search keywords and qualifiers to limit search to specific areas. Supports various qualifiers for refined search.", "endpoint_argument_name": "q" }, { "name": "sort_by", "alternative_names": ["sort_results_by", "order_by_criteria"], "description": "Specifies the sorting criteria for the results, such as by comments, reactions, or date created. Defaults to best match if not specified.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["result_order", "order_results"], "description": "Determines whether the first search result returned is the highest number of matches (desc) or lowest number of matches (asc). This parameter is ignored unless you provide a sort value.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["page_size", "items_per_request"], "description": "The number of results to return per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "results_fetch_page"], "description": "Specify the page number of results to fetch (starting from 1).", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/issues", "tags": ["search"], "summary": "Search issues and pull requests", "description": "Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted\nsearch results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.\n\n`q=windows+label:bug+language:python+state:open&sort=created&order=asc`\n\nThis query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.\n\n**Note:** For [user-to-server](https://docs.github.com/enterprise-server@3.8/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see \"[Searching only issues or pull requests](https://docs.github.com/enterprise-server@3.8/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching issues and pull requests](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-issues-and-pull-requests)\" for a detailed list of qualifiers." }, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching issues and pull requests](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-issues-and-pull-requests)\" for a detailed list of qualifiers.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": [ "comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated" ], "properties": null, "inner_properties": null, "description": "Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)" }, "description": "Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": [ "comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated" ] }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`." }, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "search/labels", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "find_github_labels", "description": { "tagline": "Search for labels in a GitHub repository by keywords.", "detailed": "Use this tool to find labels in a specific GitHub repository whose names or descriptions match provided search keywords. Ideal for locating labels like 'bug' or 'enhancement' quickly. Returns up to 100 results per page, with optional text match metadata for enhanced search insights." }, "return_annotation": "A list of labels matching the search criteria.", "arguments": [ { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The ID of the repository where labels will be searched.", "endpoint_argument_name": "repository_id" }, { "name": "search_keywords", "alternative_names": ["keywords", "query_terms"], "description": "Keywords to search for in label names or descriptions. Excludes qualifiers.", "endpoint_argument_name": "q" }, { "name": "sort_labels_by", "alternative_names": ["label_sort_order", "sort_labels_option"], "description": "Specifies how to sort the query results by the timestamp fields 'created' or 'updated'. Defaults to 'best match'.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["result_order", "match_order"], "description": "Determines if the highest ('desc') or lowest ('asc') matches appear first. Requires 'sort' to be set.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "labels_per_page"], "description": "The number of label results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Specifies the page number of the search results to fetch. Useful for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/labels", "tags": ["search"], "summary": "Search labels", "description": "Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this:\n\n`q=bug+defect+enhancement&repository_id=64778136`\n\nThe labels that best match the query appear first in the search results.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The id of the repository." }, "description": "The id of the repository.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query)." }, "description": "The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query).", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)" }, "description": "Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`." }, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "search/repos", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "search_github_repositories", "description": { "tagline": "Search GitHub repositories using various criteria.", "detailed": "This tool finds GitHub repositories based on specific criteria such as keywords, language, and sort order. It can return up to 100 results per page and provides options for text match metadata to highlight search results in the name and description fields." }, "return_annotation": "Search results for GitHub repositories based on criteria.", "arguments": [ { "name": "search_query", "alternative_names": ["repository_search_keywords", "repo_search_criteria"], "description": "A string containing search keywords and qualifiers to find specific repositories. Supports qualifiers and keywords for targeted searches. Refer to GitHub's documentation for query construction details: https://docs.github.com/enterprise-server@3.8/articles/searching-for-repositories/.", "endpoint_argument_name": "q" }, { "name": "sort_by", "alternative_names": ["sort_criteria", "sort_option"], "description": "Sort results by `stars`, `forks`, `help-wanted-issues`, or `updated`. Default is best match.", "endpoint_argument_name": "sort" }, { "name": "result_order", "alternative_names": ["sort_order", "ranking_order"], "description": "Set to 'desc' for highest matches first or 'asc' for lowest matches first in search results. Ignored if 'sort' is not provided.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of repository results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specify the page number of the results to fetch in the search query. Useful for navigating through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/repositories", "tags": ["search"], "summary": "Search repositories", "description": "Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this:\n\n`q=tetris+language:assembly&sort=stars&order=desc`\n\nThis query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching for repositories](https://docs.github.com/enterprise-server@3.8/articles/searching-for-repositories/)\" for a detailed list of qualifiers." }, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching for repositories](https://docs.github.com/enterprise-server@3.8/articles/searching-for-repositories/)\" for a detailed list of qualifiers.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["stars", "forks", "help-wanted-issues", "updated"], "properties": null, "inner_properties": null, "description": "Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)" }, "description": "Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["stars", "forks", "help-wanted-issues", "updated"] }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`." }, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "search/topics", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "search_github_topics", "description": { "tagline": "Search and retrieve topics from GitHub using specific criteria.", "detailed": "This tool allows you to search for GitHub topics using various criteria, providing results sorted by best match. It can return up to 100 results per page and supports text match metadata for enhanced search capabilities. Use it to find topics related to specific keywords or qualifiers." }, "return_annotation": "Search results for GitHub topics sorted by best match.", "arguments": [ { "name": "search_query", "alternative_names": ["query_string", "search_keywords_and_qualifiers"], "description": "Search query containing keywords and qualifiers to filter GitHub topics. Supports the same qualifiers as GitHub's web interface.", "endpoint_argument_name": "q" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_count_per_page"], "description": "Specify the number of search results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_of_results", "results_page_index"], "description": "The page number to fetch in the search results. Maximum is 100 results per page.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/topics", "tags": ["search"], "summary": "Search topics", "description": "Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination). See \"[Searching topics](https://docs.github.com/enterprise-server@3.8/articles/searching-topics/)\" for a detailed list of qualifiers.\n\nWhen searching for topics, you can get text match metadata for the topic's **short\\_description**, **description**, **name**, or **display\\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this:\n\n`q=ruby+is:featured`\n\nThis query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query)." }, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query).", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "search/users", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "github_search_users", "description": { "tagline": "Search for GitHub users based on specific criteria.", "detailed": "This tool allows you to find GitHub users by using various search parameters like login, email, name, repositories, and followers count. It can return up to 100 users per page and includes options for retrieving text match metadata for highlighted results." }, "return_annotation": "List of GitHub users matching search criteria.", "arguments": [ { "name": "search_query", "alternative_names": ["query_string", "user_search_keywords"], "description": "Contains search keywords and qualifiers to find GitHub users. Supports multiple qualifiers to narrow the search. See GitHub's query format documentation for details.", "endpoint_argument_name": "q" }, { "name": "sort_by_criterion", "alternative_names": ["sort_users_by", "order_results_by"], "description": "Sort the search results by 'followers', 'repositories', or 'joined'. Defaults to best match if not specified.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["result_order", "order_criteria"], "description": "Specifies the order of search results: 'desc' for highest matches or 'asc' for lowest. Requires 'sort'.", "endpoint_argument_name": "order" }, { "name": "results_per_page", "alternative_names": ["per_page_results", "items_per_page"], "description": "The number of GitHub user results returned per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Page number to fetch results, used for accessing subsequent pages of search results. Maximum supported is 100.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/search/users", "tags": ["search"], "summary": "Search users", "description": "Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/enterprise-server@3.8/rest/reference/search#text-match-metadata).\n\nFor example, if you're looking for a list of popular users, you might try this query:\n\n`q=tom+repos:%3E42+followers:%3E1000`\n\nThis query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "q", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching users](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-users)\" for a detailed list of qualifiers." }, "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub Enterprise Server. The REST API supports the same qualifiers as the web interface for GitHub Enterprise Server. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/enterprise-server@3.8/rest/reference/search#constructing-a-search-query). See \"[Searching users](https://docs.github.com/enterprise-server@3.8/search-github/searching-on-github/searching-users)\" for a detailed list of qualifiers.", "required": true, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["followers", "repositories", "joined"], "properties": null, "inner_properties": null, "description": "Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub Enterprise Server. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)" }, "description": "Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub Enterprise Server. Default: [best match](https://docs.github.com/enterprise-server@3.8/rest/reference/search#ranking-search-results)", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["followers", "repositories", "joined"] }, "schema_required": false }, { "name": "order", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["desc", "asc"], "properties": null, "inner_properties": null, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`." }, "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["desc", "asc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-configuration-status", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_config_status", "description": { "tagline": "Check the status of the most recent configuration process.", "detailed": "Use this tool to determine whether the latest configuration process is pending, configuring, done, or failed. It may take several seconds after starting the process to check its status." }, "return_annotation": "The status of the most recent configuration process.", "arguments": [] }, "method": "GET", "path": "/setup/api/configcheck", "tags": ["enterprise-admin"], "summary": "Get the configuration status", "description": "This endpoint allows you to check the status of the most recent configuration process:\n\nNote that you may need to wait several seconds after you start a process before you can check its status.\n\nThe different statuses are:\n\n| Status | Description |\n| ------------- | --------------------------------- |\n| `PENDING` | The job has not started yet |\n| `CONFIGURING` | The job is running |\n| `DONE` | The job has finished correctly |\n| `FAILED` | The job has finished unexpectedly |", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/start-configuration-process", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "start_github_configuration", "description": { "tagline": "Initiate the GitHub configuration process.", "detailed": "Use this tool to start the configuration process for updated GitHub Enterprise settings. It should be called when you need changes to your GitHub settings to take effect." }, "return_annotation": "Confirmation that the configuration process has started.", "arguments": [] }, "method": "POST", "path": "/setup/api/configure", "tags": ["enterprise-admin"], "summary": "Start a configuration process", "description": "This endpoint allows you to start a configuration process at any time for your updated settings to take effect:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/get-maintenance-status", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_maintenance_status", "description": { "tagline": "Retrieve the maintenance status of your GitHub installation.", "detailed": "Use this tool to check the maintenance status of your GitHub installation. It's useful for determining if the installation is currently under maintenance." }, "return_annotation": "The maintenance status of the GitHub installation.", "arguments": [] }, "method": "GET", "path": "/setup/api/maintenance", "tags": ["enterprise-admin"], "summary": "Get the maintenance status", "description": "Check your installation's maintenance status:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/enable-or-disable-maintenance-mode", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "toggle_maintenance_mode", "description": { "tagline": "Toggle GitHub Enterprise maintenance mode.", "detailed": "This tool enables or disables maintenance mode for a GitHub Enterprise instance. It should be called when you want to toggle the maintenance mode setting. The response indicates whether the operation was successful." }, "return_annotation": "Indicates if maintenance mode was successfully toggled.", "arguments": [ { "name": "maintenance_mode_settings", "alternative_names": ["maintenance_configuration", "maintenance_options"], "description": "A JSON string defining `enabled` (true/false) and `when` (e.g., 'now' or a chronic-parseable date) to set maintenance mode status and timing.", "endpoint_argument_name": "maintenance" } ] }, "method": "POST", "path": "/setup/api/maintenance", "tags": ["enterprise-admin"], "summary": "Enable or disable maintenance mode", "description": "**Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "maintenance", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A JSON string with the attributes `enabled` and `when`.\n\nThe possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled.\n\nThe possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic)." }, "description": "A JSON string with the attributes `enabled` and `when`.\n\nThe possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled.\n\nThe possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic).", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/x-www-form-urlencoded", "json_schema": { "type": "string", "description": "A JSON string with the attributes `enabled` and `when`.\n\nThe possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled.\n\nThe possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic)." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/x-www-form-urlencoded\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"maintenance\": \"{\\\"enabled\\\":true, \\\"when\\\":\\\"now\\\"}\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"maintenance\": {\n \"description\": \"A JSON string with the attributes `enabled` and `when`.\\n\\nThe possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled.\\n\\nThe possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic).\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"maintenance\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/get-settings", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_enterprise_settings", "description": { "tagline": "Retrieve the current settings of your GitHub Enterprise instance.", "detailed": "" }, "return_annotation": "Current settings of a GitHub Enterprise instance.", "arguments": [] }, "method": "GET", "path": "/setup/api/settings", "tags": ["enterprise-admin"], "summary": "Get settings", "description": "Gets the settings for your instance. To change settings, see the [Set settings endpoint](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#set-settings).\n\n**Note:** You cannot retrieve the management console password with the Enterprise administration API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/set-settings", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "set_github_enterprise_settings", "description": { "tagline": "Apply configuration settings to GitHub Enterprise instance.", "detailed": "This tool applies a set of customizable settings to a GitHub Enterprise instance. It should be called when there is a need to update configuration parameters. Refer to the documentation for a list of settings that can be changed through this tool." }, "return_annotation": "Confirmation of settings applied to GitHub Enterprise instance.", "arguments": [ { "name": "new_settings_json_string", "alternative_names": ["modified_settings_json", "enterprise_settings_json"], "description": "A JSON string specifying new settings to apply to the GitHub Enterprise instance. Only include settings you wish to change.", "endpoint_argument_name": "settings" } ] }, "method": "PUT", "path": "/setup/api/settings", "tags": ["enterprise-admin"], "summary": "Set settings", "description": "Applies settings on your instance. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#get-settings).\n\n**Notes:**\n\n- The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode).\n- You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see \"[Command-line utilities](https://docs.github.com/enterprise-server@3.8/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "settings", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#get-settings)." }, "description": "A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#get-settings).", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/x-www-form-urlencoded", "json_schema": { "type": "string", "description": "A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#get-settings)." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/x-www-form-urlencoded\": {\n \"examples\": {\n \"204\": {\n \"value\": {\n \"settings\": \"{ \\\"enterprise\\\": { \\\"public_pages\\\": true }}\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"settings\": {\n \"description\": \"A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#get-settings).\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"settings\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/remove-authorized-ssh-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_authorized_ssh_key", "description": { "tagline": "Remove an authorized SSH key from GitHub Enterprise.", "detailed": "Use this tool to remove an authorized SSH key from the GitHub Enterprise server. Useful for revoking access when a key is compromised or no longer needed." }, "return_annotation": "Confirmation of SSH key removal.", "arguments": [ { "name": "public_ssh_key", "alternative_names": ["ssh_key", "key"], "description": "The public SSH key to be removed from GitHub Enterprise.", "endpoint_argument_name": "authorized_key" } ] }, "method": "DELETE", "path": "/setup/api/settings/authorized-keys", "tags": ["enterprise-admin"], "summary": "Remove an authorized SSH key", "description": "**Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "authorized_key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The public SSH key." }, "description": "The public SSH key.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/x-www-form-urlencoded", "json_schema": { "type": "string", "description": "The public SSH key." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/x-www-form-urlencoded\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"authorized_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCssTL/Vtu/ODLTj0VtZoRAbvf7uiv5997GyDq0MoAZUjb5jmA5wYe2/wF6sFuhiZTnZoF1ZtCHunPp0hM/GHrn6VySBhNncx14YO8FPt1CIhEeRMSEjUK9cY3xAbS365oXY8vnUHJsS9+1tr/2bx/+4NJfcUt/Ezf1OR/0LStQXw==\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"authorized_key\": {\n \"description\": \"The public SSH key.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"authorized_key\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/get-all-authorized-ssh-keys", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_all_authorized_ssh_keys", "description": { "tagline": "Retrieve all authorized SSH keys for enterprise admin.", "detailed": "Use this tool to fetch a comprehensive list of all SSH keys authorized within an enterprise GitHub environment. Useful for administrators managing access and security." }, "return_annotation": "List of all authorized SSH keys for enterprise admin.", "arguments": [] }, "method": "GET", "path": "/setup/api/settings/authorized-keys", "tags": ["enterprise-admin"], "summary": "Get all authorized SSH keys", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/add-authorized-ssh-key", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_github_authorized_ssh_key", "description": { "tagline": "Add an authorized SSH key to GitHub Enterprise.", "detailed": "This tool adds an authorized SSH key to a GitHub Enterprise account. It is useful when you want to securely access your GitHub repositories using SSH. Make sure to provide the SSH key in the required format." }, "return_annotation": "Confirmation of SSH key addition to GitHub enterprise.", "arguments": [ { "name": "public_ssh_key", "alternative_names": ["ssh_key", "authorized_ssh_key"], "description": "The public SSH key to add to GitHub Enterprise. Ensure it is in the correct format.", "endpoint_argument_name": "authorized_key" } ] }, "method": "POST", "path": "/setup/api/settings/authorized-keys", "tags": ["enterprise-admin"], "summary": "Add an authorized SSH key", "description": "**Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "authorized_key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The public SSH key." }, "description": "The public SSH key.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/x-www-form-urlencoded", "json_schema": { "type": "string", "description": "The public SSH key." }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/x-www-form-urlencoded\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"authorized_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCssTL/Vtu/ODLTj0VtZoRAbvf7uiv5997GyDq0MoAZUjb5jmA5wYe2/wF6sFuhiZTnZoF1ZtCHunPp0hM/GHrn6VySBhNncx14YO8FPt1CIhEeRMSEjUK9cY3xAbS365oXY8vnUHJsS9+1tr/2bx/+4NJfcUt/Ezf1OR/0LStQXw==\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"authorized_key\": {\n \"description\": \"The public SSH key.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"authorized_key\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/create-enterprise-server-license", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Only file-related content types available: multipart/form-data", "wrapper_tool": null, "method": "POST", "path": "/setup/api/start", "tags": ["enterprise-admin"], "summary": "Create a GitHub license", "description": "When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license.\n\nNote that you need to `POST` to [`/setup/api/configure`](https://docs.github.com/enterprise-server@3.8/rest/reference/enterprise-admin#start-a-configuration-process) to start the actual configuration process.\n\nWhen using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways:\n\n1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password.\n2. If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter.\n\n**Note:** The request body for this operation must be submitted as `multipart/form-data` data. You can can reference the license file by prefixing the filename with the `@` symbol using `curl`. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#-F).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/upgrade-license", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Only file-related content types available: multipart/form-data", "wrapper_tool": null, "method": "POST", "path": "/setup/api/upgrade", "tags": ["enterprise-admin"], "summary": "Upgrade a license", "description": "This API upgrades your license and also triggers the configuration process.\n\n**Note:** The request body for this operation must be submitted as `multipart/form-data` data. You can can reference the license file by prefixing the filename with the `@` symbol using `curl`. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#-F).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/delete-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}", "tags": ["teams"], "summary": "Delete a team (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#delete-a-team) endpoint.\n\nTo delete a team, the authenticated user must be an organization owner or team maintainer.\n\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}", "tags": ["teams"], "summary": "Get a team (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#get-a-team-by-name) endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/update-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PATCH", "path": "/teams/{team_id}", "tags": ["teams"], "summary": "Update a team (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#update-a-team) endpoint.\n\nTo edit a team, the authenticated user must either be an organization owner or a team maintainer.\n\n**Note:** With nested teams, the `privacy` for parent teams cannot be `secret`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The description of the team." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the team." }, "parent_team_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The ID of a team to set as the parent team." }, "permission": { "val_type": "string", "inner_val_type": null, "enum": ["pull", "push", "admin"], "properties": null, "inner_properties": null, "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified." }, "privacy": { "val_type": "string", "inner_val_type": null, "enum": ["secret", "closed"], "properties": null, "inner_properties": null, "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \n**For a parent or child team:** \n * `closed` - visible to all members of this organization." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "description": { "type": "string", "description": "The description of the team." }, "name": { "type": "string", "description": "The name of the team." }, "parent_team_id": { "type": "integer", "description": "The ID of a team to set as the parent team." }, "permission": { "type": "string", "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified.", "enum": ["pull", "push", "admin"] }, "privacy": { "type": "string", "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \n**For a parent or child team:** \n * `closed` - visible to all members of this organization.", "enum": ["secret", "closed"] } }, "required": ["name"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-discussions-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/discussions", "tags": ["teams"], "summary": "List discussions (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#list-discussions) endpoint.\n\nList all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/create-discussion-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "POST", "path": "/teams/{team_id}/discussions", "tags": ["teams"], "summary": "Create a discussion (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#create-a-discussion) endpoint.\n\nCreates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's body text." }, "private": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post." }, "title": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's title." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "body": { "type": "string", "description": "The discussion post's body text." }, "private": { "type": "boolean", "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post." }, "title": { "type": "string", "description": "The discussion post's title." } }, "required": ["title", "body"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/delete-discussion-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}/discussions/{discussion_number}", "tags": ["teams"], "summary": "Delete a discussion (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#delete-a-discussion) endpoint.\n\nDelete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-discussion-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/discussions/{discussion_number}", "tags": ["teams"], "summary": "Get a discussion (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#get-a-discussion) endpoint.\n\nGet a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/update-discussion-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PATCH", "path": "/teams/{team_id}/discussions/{discussion_number}", "tags": ["teams"], "summary": "Update a discussion (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#update-a-discussion) endpoint.\n\nEdits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's body text." }, "title": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion post's title." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "body": { "type": "string", "description": "The discussion post's body text." }, "title": { "type": "string", "description": "The discussion post's title." } } }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-discussion-comments-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/discussions/{discussion_number}/comments", "tags": ["teams"], "summary": "List discussion comments (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#list-discussion-comments) endpoint.\n\nList all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/create-discussion-comment-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "POST", "path": "/teams/{team_id}/discussions/{discussion_number}/comments", "tags": ["teams"], "summary": "Create a discussion comment (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#create-a-discussion-comment) endpoint.\n\nCreates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://docs.github.com/enterprise-server@3.8/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See \"[Secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#secondary-rate-limits)\" and \"[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.8/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)\" for details.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion comment's body text." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "body": { "type": "string", "description": "The discussion comment's body text." } }, "required": ["body"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/delete-discussion-comment-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "tags": ["teams"], "summary": "Delete a discussion comment (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#delete-a-discussion-comment) endpoint.\n\nDeletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-discussion-comment-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "tags": ["teams"], "summary": "Get a discussion comment (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#get-a-discussion-comment) endpoint.\n\nGet a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/update-discussion-comment-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PATCH", "path": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "tags": ["teams"], "summary": "Update a discussion comment (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#update-a-discussion-comment) endpoint.\n\nEdits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "body": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The discussion comment's body text." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "body": { "type": "string", "description": "The discussion comment's body text." } }, "required": ["body"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/list-for-team-discussion-comment-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "tags": ["reactions"], "summary": "List reactions for a team discussion comment (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint.\n\nList the reactions to a [team discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-team-discussion-comment-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "POST", "path": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "tags": ["reactions"], "summary": "Create reaction for a team discussion comment (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Create reaction for a team discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)\" endpoint.\n\nCreate a reaction to a [team discussion comment](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "comment_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the comment." }, "description": "The number that identifies the comment.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion comment." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "content": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion comment.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] } }, "required": ["content"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/list-for-team-discussion-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/discussions/{discussion_number}/reactions", "tags": ["reactions"], "summary": "List reactions for a team discussion (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint.\n\nList the reactions to a [team discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "content", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion." }, "description": "Returns a single [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "reactions/create-for-team-discussion-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "POST", "path": "/teams/{team_id}/discussions/{discussion_number}/reactions", "tags": ["reactions"], "summary": "Create reaction for a team discussion (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint.\n\nCreate a reaction to a [team discussion](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "discussion_number", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number that identifies the discussion." }, "description": "The number that identifies the discussion.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "content": { "val_type": "string", "inner_val_type": null, "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], "properties": null, "inner_properties": null, "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "content": { "type": "string", "description": "The [reaction type](https://docs.github.com/enterprise-server@3.8/rest/reference/reactions#reaction-types) to add to the team discussion.", "enum": ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"] } }, "required": ["content"] }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-members-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/members", "tags": ["teams"], "summary": "List team members (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#list-team-members) endpoint.\n\nTeam members will include the members of child teams.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "role", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["member", "maintainer", "all"], "properties": null, "inner_properties": null, "description": "Filters members returned by their role in the team." }, "description": "Filters members returned by their role in the team.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["member", "maintainer", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-member-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}/members/{username}", "tags": ["teams"], "summary": "Remove team member (Legacy)", "description": "The \"Remove team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Remove team membership for a user](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.8/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-member-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/members/{username}", "tags": ["teams"], "summary": "Get team member (Legacy)", "description": "The \"Get team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Get team membership for a user](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.\n\nTo list members in a team, the team must be visible to the authenticated user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-member-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PUT", "path": "/teams/{team_id}/members/{username}", "tags": ["teams"], "summary": "Add team member (Legacy)", "description": "The \"Add team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Add or update team membership for a user](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.8/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nNote that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-membership-for-user-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}/memberships/{username}", "tags": ["teams"], "summary": "Remove team membership for a user (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#remove-team-membership-for-a-user) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.8/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/get-membership-for-user-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/memberships/{username}", "tags": ["teams"], "summary": "Get team membership for a user (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#get-team-membership-for-a-user) endpoint.\n\nTeam members will include the members of child teams.\n\nTo get a user's membership with a team, the team must be visible to the authenticated user.\n\n**Note:**\nThe response contains the `state` of the membership and the member's `role`.\n\nThe `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#create-a-team).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-or-update-membership-for-user-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PUT", "path": "/teams/{team_id}/memberships/{username}", "tags": ["teams"], "summary": "Add or update team membership for a user (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.8/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nIf the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.8/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nIf the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the \"pending\" state until the user accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner.\n\nIf the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "role": { "val_type": "string", "inner_val_type": null, "enum": ["member", "maintainer"], "properties": null, "inner_properties": null, "description": "The role that this user should have in the team." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "role": { "type": "string", "description": "The role that this user should have in the team.", "enum": ["member", "maintainer"] } } }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-projects-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/projects", "tags": ["teams"], "summary": "List team projects (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#list-team-projects) endpoint.\n\nLists the organization projects for a team.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-project-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}/projects/{project_id}", "tags": ["teams"], "summary": "Remove a project from a team (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#remove-a-project-from-a-team) endpoint.\n\nRemoves an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/check-permissions-for-project-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/projects/{project_id}", "tags": ["teams"], "summary": "Check team permissions for a project (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#check-team-permissions-for-a-project) endpoint.\n\nChecks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-or-update-project-permissions-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PUT", "path": "/teams/{team_id}/projects/{project_id}", "tags": ["teams"], "summary": "Add or update team project permissions (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#add-or-update-team-project-permissions) endpoint.\n\nAdds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "project_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the project." }, "description": "The unique identifier of the project.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "permission": { "val_type": "string", "inner_val_type": null, "enum": ["read", "write", "admin"], "properties": null, "inner_properties": null, "description": "The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"" } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "permission": { "type": "string", "description": "The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "enum": ["read", "write", "admin"] } } }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-repos-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/repos", "tags": ["teams"], "summary": "List team repositories (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#list-team-repositories) endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/remove-repo-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "DELETE", "path": "/teams/{team_id}/repos/{owner}/{repo}", "tags": ["teams"], "summary": "Remove a repository from a team (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#remove-a-repository-from-a-team) endpoint.\n\nIf the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/check-permissions-for-repo-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/repos/{owner}/{repo}", "tags": ["teams"], "summary": "Check team permissions for a repository (Legacy)", "description": "**Note**: Repositories inherited through a parent team will also be checked.\n\n**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#check-team-permissions-for-a-repository) endpoint.\n\nYou can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/) via the `Accept` header:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/add-or-update-repo-permissions-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "PUT", "path": "/teams/{team_id}/repos/{owner}/{repo}", "tags": ["teams"], "summary": "Add or update team repository permissions (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Add or update team repository permissions](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#add-or-update-team-repository-permissions)\" endpoint.\n\nTo add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "permission": { "val_type": "string", "inner_val_type": null, "enum": ["pull", "push", "admin"], "properties": null, "inner_properties": null, "description": "The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository." } }, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "permission": { "type": "string", "description": "The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.", "enum": ["pull", "push", "admin"] } } }, "schema_required": false } ] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-child-legacy", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": false, "should_skip": true, "skip_reason": "Endpoint is marked as deprecated", "wrapper_tool": null, "method": "GET", "path": "/teams/{team_id}/teams", "tags": ["teams"], "summary": "List child teams (Legacy)", "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/enterprise-server@3.8/rest/reference/teams#list-child-teams) endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "team_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the team." }, "description": "The unique identifier of the team.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/get-authenticated", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_user_profile", "description": { "tagline": "Retrieve authenticated user's GitHub profile information.", "detailed": "Fetches public and private profile information for the authenticated GitHub user if authenticated with the `user` scope. Returns only public information otherwise." }, "return_annotation": "Authenticated user's profile information from GitHub.", "arguments": [] }, "method": "GET", "path": "/user", "tags": ["users"], "summary": "Get the authenticated user", "description": "If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.\n\nIf the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/update-authenticated", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_profile", "description": { "tagline": "Update your authenticated GitHub user profile.", "detailed": "Use this tool to update the profile information of your authenticated GitHub account. Note that if your email is private and included in the update, it will remain hidden according to your privacy settings." }, "return_annotation": "Confirmation of the profile update on GitHub.", "arguments": [ { "name": "new_user_biography", "alternative_names": ["updated_bio", "profile_biography"], "description": "The new short biography of the user for the GitHub profile update.", "endpoint_argument_name": "bio" }, { "name": "new_blog_url", "alternative_names": ["updated_blog_url", "blog_website_url"], "description": "The new blog URL to update on your GitHub profile.", "endpoint_argument_name": "blog" }, { "name": "new_company_name", "alternative_names": ["company_name_update", "updated_company_info"], "description": "The new company name to update on the GitHub profile.", "endpoint_argument_name": "company" }, { "name": "public_visible_email_address", "alternative_names": ["visible_email", "public_email_address"], "description": "The email address you want to be publicly visible on your GitHub profile. If your privacy settings hide your email, it will remain hidden.", "endpoint_argument_name": "email" }, { "name": "new_location", "alternative_names": ["updated_location", "user_location"], "description": "The location to update in the user\u2019s GitHub profile.", "endpoint_argument_name": "location" }, { "name": "new_user_name", "alternative_names": ["update_user_name", "change_user_name"], "description": "The new name to update on the user's GitHub profile.", "endpoint_argument_name": "name" }, { "name": "new_twitter_username", "alternative_names": ["twitter_handle", "twitter_id"], "description": "The new Twitter username for the user to update in their GitHub profile.", "endpoint_argument_name": "twitter_username" }, { "name": "is_hireable", "alternative_names": ["hiring_availability", "available_for_hire"], "description": "Set to true if the user is available for hire, false otherwise.", "endpoint_argument_name": "hireable" } ] }, "method": "PATCH", "path": "/user", "tags": ["users"], "summary": "Update the authenticated user", "description": "**Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "bio", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new short biography of the user." }, "description": "The new short biography of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new short biography of the user." }, "schema_required": false }, { "name": "blog", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new blog URL of the user." }, "description": "The new blog URL of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new blog URL of the user.", "example": "blog.example.com" }, "schema_required": false }, { "name": "company", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new company of the user." }, "description": "The new company of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new company of the user.", "example": "Acme corporation" }, "schema_required": false }, { "name": "email", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The publicly visible email address of the user." }, "description": "The publicly visible email address of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The publicly visible email address of the user.", "example": "omar@example.com" }, "schema_required": false }, { "name": "hireable", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new hiring availability of the user." }, "description": "The new hiring availability of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "The new hiring availability of the user." }, "schema_required": false }, { "name": "location", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new location of the user." }, "description": "The new location of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new location of the user.", "example": "Berlin, Germany" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new name of the user." }, "description": "The new name of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new name of the user.", "example": "Omar Jahandar" }, "schema_required": false }, { "name": "twitter_username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The new Twitter username of the user." }, "description": "The new Twitter username of the user.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The new Twitter username of the user.", "example": "therealomarj" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example of updating blog and name\",\n \"value\": {\n \"blog\": \"https://github.com/blog\",\n \"name\": \"monalisa octocat\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"bio\": {\n \"description\": \"The new short biography of the user.\",\n \"type\": \"string\"\n },\n \"blog\": {\n \"description\": \"The new blog URL of the user.\",\n \"example\": \"blog.example.com\",\n \"type\": \"string\"\n },\n \"company\": {\n \"description\": \"The new company of the user.\",\n \"example\": \"Acme corporation\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"The publicly visible email address of the user.\",\n \"example\": \"omar@example.com\",\n \"type\": \"string\"\n },\n \"hireable\": {\n \"description\": \"The new hiring availability of the user.\",\n \"type\": \"boolean\"\n },\n \"location\": {\n \"description\": \"The new location of the user.\",\n \"example\": \"Berlin, Germany\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The new name of the user.\",\n \"example\": \"Omar Jahandar\",\n \"type\": \"string\"\n },\n \"twitter_username\": {\n \"description\": \"The new Twitter username of the user.\",\n \"example\": \"therealomarj\",\n \"nullable\": true,\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "users/delete-email-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_user_email", "description": { "tagline": "Delete an email for the authenticated GitHub user.", "detailed": "Use this tool to delete an email address associated with the authenticated user's GitHub account. This action requires user authentication and appropriate permissions." }, "return_annotation": "A confirmation of email deletion for the authenticated user.", "arguments": [ { "name": "email_details", "alternative_names": ["email_information", "email_payload"], "description": "JSON object containing the details of the email to be deleted for the authenticated user.", "endpoint_argument_name": "requestBody" } ] }, "method": "DELETE", "path": "/user/emails", "tags": ["users"], "summary": "Delete an email address for the authenticated user", "description": "This endpoint is accessible with the `user` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "description": "Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.", "properties": { "emails": { "type": "array", "description": "Email addresses associated with the GitHub user account.", "items": { "type": "string", "example": "username@example.com" } } }, "required": ["emails"] }, { "type": "array", "items": { "type": "string", "example": "username@example.com" } }, { "type": "string" } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example deleting multiple email accounts\",\n \"value\": {\n \"emails\": [\n \"octocat@github.com\",\n \"mona@github.com\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"description\": \"Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.\",\n \"example\": {\n \"emails\": [\n \"octocat@github.com\",\n \"mona@github.com\"\n ]\n },\n \"properties\": {\n \"emails\": {\n \"description\": \"Email addresses associated with the GitHub user account.\",\n \"items\": {\n \"example\": \"username@example.com\",\n \"minItems\": 1,\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"emails\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"example\": \"username@example.com\",\n \"minItems\": 1,\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"string\"\n }\n ]\n }\n }\n }\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "users/list-emails-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_email_addresses", "description": { "tagline": "Retrieve all email addresses of the authenticated user.", "detailed": "Fetches all email addresses associated with the authenticated GitHub user, indicating which are public. Useful for managing email visibility or account settings. Requires `user:email` scope." }, "return_annotation": "List of user's email addresses and their public status.", "arguments": [ { "name": "results_per_page", "alternative_names": ["emails_per_page", "page_size"], "description": "The number of email results to retrieve per page, maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "page_number"], "description": "Specify the page number to fetch results for user email addresses.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/emails", "tags": ["users"], "summary": "List email addresses for the authenticated user", "description": "Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/add-email-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_email_to_github_account", "description": { "tagline": "Add a new email to the authenticated GitHub user's account.", "detailed": "Use this tool to add an email address to the authenticated GitHub account of the user. This action requires user scope authentication." }, "return_annotation": "Confirmation of email addition to GitHub account.", "arguments": [ { "name": "email_address", "alternative_names": ["user_email", "github_email"], "description": "The email address to add to the authenticated GitHub account. Must be a valid email format.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/user/emails", "tags": ["users"], "summary": "Add an email address for the authenticated user", "description": "This endpoint is accessible with the `user` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": {}, "oneOf": [ { "type": "object", "properties": { "emails": { "type": "array", "description": "Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.", "items": { "type": "string", "example": "username@example.com" } } }, "required": ["emails"] }, { "type": "array", "items": { "type": "string", "example": "username@example.com" } }, { "type": "string" } ] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Example adding multiple email addresses\",\n \"value\": {\n \"emails\": [\n \"octocat@github.com\",\n \"mona@github.com\",\n \"octocat@octocat.org\"\n ]\n }\n }\n },\n \"schema\": {\n \"oneOf\": [\n {\n \"example\": {\n \"emails\": [\n \"octocat@github.com\",\n \"mona@github.com\"\n ]\n },\n \"properties\": {\n \"emails\": {\n \"description\": \"Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.\",\n \"example\": [],\n \"items\": {\n \"example\": \"username@example.com\",\n \"minItems\": 1,\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"emails\"\n ],\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"example\": \"username@example.com\",\n \"minItems\": 1,\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "users/list-followers-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_followers", "description": { "tagline": "Retrieve followers of the authenticated user on GitHub.", "detailed": "This tool retrieves a list of people who are following the authenticated GitHub user. Use it to access follower information for engagement or insights." }, "return_annotation": "A list of followers for the authenticated user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["num_results_per_page", "followers_per_page"], "description": "Specify the number of followers to list per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "page_index"], "description": "Specifies which page of followers to fetch. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/followers", "tags": ["users"], "summary": "List followers of the authenticated user", "description": "Lists the people following the authenticated user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-followed-by-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_followed_users", "description": { "tagline": "Lists the people the authenticated user follows.", "detailed": "" }, "return_annotation": "List of users followed by the authenticated user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["max_results_per_page", "items_per_page"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page"], "description": "Specify the page number of the results you want to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/following", "tags": ["users"], "summary": "List the people the authenticated user follows", "description": "Lists the people who the authenticated user follows.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/unfollow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unfollow_github_user", "description": { "tagline": "Unfollow a user on GitHub.", "detailed": "Use this tool to unfollow a user on GitHub. Ensure the user is authenticated with basic auth or OAuth with the `user:follow` scope." }, "return_annotation": "Confirmation of user unfollow action.", "arguments": [ { "name": "github_user_handle_to_unfollow", "alternative_names": ["github_username_to_unfollow", "target_github_user_handle"], "description": "The GitHub user's handle you want to unfollow. The user must be logged in and authenticated.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/user/following/{username}", "tags": ["users"], "summary": "Unfollow a user", "description": "Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/check-person-is-followed-by-authenticated", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_if_user_is_followed", "description": { "tagline": "Check if a user is followed by the authenticated GitHub user.", "detailed": "Use this tool to verify if the authenticated GitHub user is following another specified user. It determines the follow status between the authenticated user and the target user." }, "return_annotation": "Indicates if the authenticated user follows the specified person.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_user_username", "target_user_handle"], "description": "The handle for the GitHub user account to check if they are followed by the authenticated user.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/user/following/{username}", "tags": ["users"], "summary": "Check if a person is followed by the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/follow", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "follow_github_user", "description": { "tagline": "Follow a specified user on GitHub.", "detailed": "This tool allows you to follow a GitHub user. Ensure you are authenticated with the necessary permissions ('user:follow' scope) to execute this action. Useful when you want to keep up with updates from specific users on GitHub." }, "return_annotation": "Confirms the follow action for the specified GitHub user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_user_username", "github_username"], "description": "The GitHub username of the account you want to follow. Ensure it is a valid GitHub user handle.", "endpoint_argument_name": "username" } ] }, "method": "PUT", "path": "/user/following/{username}", "tags": ["users"], "summary": "Follow a user", "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\nFollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-gpg-keys-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_gpg_keys", "description": { "tagline": "Retrieve authenticated user's GPG keys from GitHub.", "detailed": "Use this tool to obtain a list of the authenticated user's GPG keys on GitHub. Authentication via Basic Auth or OAuth with 'read:gpg_key' scope is required. This tool is useful for managing or verifying keys associated with a GitHub account." }, "return_annotation": "List of the authenticated user's GPG keys.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "number_of_results"], "description": "Specify the number of results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Specifies which page of results to retrieve for the GPG keys list. Use integers starting from 1.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/gpg_keys", "tags": ["users"], "summary": "List GPG keys for the authenticated user", "description": "Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/create-gpg-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_gpg_key_to_github", "description": { "tagline": "Add a GPG key to your authenticated GitHub account.", "detailed": "This tool allows you to add a GPG key to your GitHub account after authenticating via Basic Auth or OAuth with the appropriate scope. Use it to enhance security by managing GPG keys on GitHub." }, "return_annotation": "Confirmation of GPG key addition to GitHub account.", "arguments": [ { "name": "gpg_key_ascii_armored_format", "alternative_names": ["ascii_armored_gpg_key", "gpg_key_armored_string"], "description": "A GPG key in ASCII-armored format to be added to your GitHub account.", "endpoint_argument_name": "armored_public_key" }, { "name": "new_gpg_key_name", "alternative_names": ["gpg_key_description", "gpg_key_label"], "description": "A descriptive name for the new GPG key to be added to your GitHub account.", "endpoint_argument_name": "name" } ] }, "method": "POST", "path": "/user/gpg_keys", "tags": ["users"], "summary": "Create a GPG key for the authenticated user", "description": "Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "armored_public_key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A GPG key in ASCII-armored format." }, "description": "A GPG key in ASCII-armored format.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A GPG key in ASCII-armored format." }, "schema_required": true }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A descriptive name for the new key." }, "description": "A descriptive name for the new key.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A descriptive name for the new key." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"armored_public_key\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\nVersion: GnuPG v1\\n\\nmQINBFnZ2ZIBEADQ2Z7Z7\\n-----END PGP PUBLIC KEY BLOCK-----\",\n \"name\": \"Octocat's GPG Key\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"armored_public_key\": {\n \"description\": \"A GPG key in ASCII-armored format.\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"A descriptive name for the new key.\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"armored_public_key\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "users/delete-gpg-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_gpg_key", "description": { "tagline": "Remove a GPG key from your GitHub account.", "detailed": "Use this tool to delete a GPG key associated with your authenticated GitHub account. Ensure you have the required authentication with `admin:gpg_key` scope." }, "return_annotation": "Confirmation that the GPG key was removed.", "arguments": [ { "name": "gpg_key_identifier", "alternative_names": ["gpg_key_unique_id", "gpg_key_id_number"], "description": "The unique identifier of the GPG key to be removed from the authenticated user's account.", "endpoint_argument_name": "gpg_key_id" } ] }, "method": "DELETE", "path": "/user/gpg_keys/{gpg_key_id}", "tags": ["users"], "summary": "Delete a GPG key for the authenticated user", "description": "Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gpg_key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the GPG key." }, "description": "The unique identifier of the GPG key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/get-gpg-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_gpg_key_details", "description": { "tagline": "Retrieve extended details for a user's GPG key.", "detailed": "Use this tool to fetch detailed information about a specific GPG key for an authenticated user. Requires authentication via Basic Auth or OAuth with 'read:gpg_key' scope." }, "return_annotation": "Extended details for a user's GPG key.", "arguments": [ { "name": "gpg_key_identifier", "alternative_names": ["gpg_key_id_number", "gpg_key_unique_id"], "description": "The unique identifier of the GPG key to retrieve details for.", "endpoint_argument_name": "gpg_key_id" } ] }, "method": "GET", "path": "/user/gpg_keys/{gpg_key_id}", "tags": ["users"], "summary": "Get a GPG key for the authenticated user", "description": "View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "gpg_key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the GPG key." }, "description": "The unique identifier of the GPG key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/list-installations-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_app_installations", "description": { "tagline": "Retrieve GitHub App installations for the authenticated user.", "detailed": "Lists GitHub App installations that the authenticated user can access with permissions such as `:read`, `:write`, or `:admin`. This requires a user-to-server OAuth access token, valid for a user who authorized the app. Useful for accessing repositories owned, collaborated on, or accessible through organization membership." }, "return_annotation": "Information about GitHub App installations for the authenticated user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["max_results_per_page", "number_of_results_per_page"], "description": "Specifies the number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page"], "description": "Page number of the results to fetch for GitHub App installations.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/installations", "tags": ["apps"], "summary": "List app installations accessible to the user access token", "description": "Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n\nYou must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n\nYou can find the permissions for the installation under the `permissions` key.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/list-installation-repos-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_accessible_repos", "description": { "tagline": "List repositories accessible to the authenticated user.", "detailed": "Retrieve a list of repositories that the authenticated user can access with specific permissions for a GitHub app installation. Useful for determining the user's access level to various repositories." }, "return_annotation": "List of repositories accessible by the user with permissions.", "arguments": [ { "name": "installation_identifier", "alternative_names": ["installation_id_number", "installation_unique_id"], "description": "The unique identifier for the GitHub app installation required to list the repositories.", "endpoint_argument_name": "installation_id" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "repos_per_page"], "description": "Specify the number of repository results to return per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Specify the page number of results to fetch, starting from 1.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/installations/{installation_id}/repositories", "tags": ["apps"], "summary": "List repositories accessible to the user access token", "description": "List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n\nYou must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n\nThe access the user has to each repository is included in the hash under the `permissions` key.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/remove-repo-from-installation-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_repo_from_installation", "description": { "tagline": "Remove a repository from a GitHub app installation.", "detailed": "This tool removes a single repository from a GitHub app installation. The user must have admin access and be authenticated via a personal access token." }, "return_annotation": "Confirmation of the repository removal from the installation.", "arguments": [ { "name": "installation_unique_identifier", "alternative_names": ["installation_id_number", "installation_id_code"], "description": "The unique identifier for the installation, needed to specify which installation to modify.", "endpoint_argument_name": "installation_id" }, { "name": "repository_id", "alternative_names": ["repo_id", "repository_identifier"], "description": "The unique integer identifier of the repository to be removed from the installation.", "endpoint_argument_name": "repository_id" } ] }, "method": "DELETE", "path": "/user/installations/{installation_id}/repositories/{repository_id}", "tags": ["apps"], "summary": "Remove a repository from an app installation", "description": "Remove a single repository from an installation. The authenticated user must have admin access to the repository.\n\nYou must use a personal access token (which you can create via the [command line](https://docs.github.com/enterprise-server@3.8/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/add-repo-to-installation-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_repository_to_github_installation", "description": { "tagline": "Add a repository to a GitHub installation for the authenticated user.", "detailed": "Use this tool to add a specific repository to a GitHub installation. The authenticated user must have admin access to the repository. A personal access token is required to authenticate the user." }, "return_annotation": "Confirmation of repository addition to installation.", "arguments": [ { "name": "installation_id", "alternative_names": ["install_id", "installation_identifier"], "description": "The unique identifier of the GitHub installation.", "endpoint_argument_name": "installation_id" }, { "name": "repository_id", "alternative_names": ["repo_identifier", "repository_identifier"], "description": "Provide the unique integer identifier of the repository to add to the installation.", "endpoint_argument_name": "repository_id" } ] }, "method": "PUT", "path": "/user/installations/{installation_id}/repositories/{repository_id}", "tags": ["apps"], "summary": "Add a repository to an app installation", "description": "Add a single repository to an installation. The authenticated user must have admin access to the repository.\n\nYou must use a personal access token (which you can create via the [command line](https://docs.github.com/enterprise-server@3.8/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "installation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the installation." }, "description": "The unique identifier of the installation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "repository_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the repository." }, "description": "The unique identifier of the repository.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "issues/list-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_issues", "description": { "tagline": "Fetch issues and pull requests assigned to you.", "detailed": "Lists issues and pull requests across owned and member repositories assigned to the authenticated GitHub user. Useful for tracking tasks assigned to you. Includes both issues and pull requests, distinguishable by the `pull_request` key." }, "return_annotation": "A list of issues and pull requests assigned to the authenticated user.", "arguments": [ { "name": "issue_filter_type", "alternative_names": ["filter_type", "issue_selection_filter"], "description": "Specifies the type of issues to return. Options: 'assigned', 'created', 'mentioned', 'subscribed', 'all'.", "endpoint_argument_name": "filter" }, { "name": "issue_state", "alternative_names": ["issue_status", "state_filter"], "description": "Specifies whether to return open, closed, or all issues.", "endpoint_argument_name": "state" }, { "name": "label_filter", "alternative_names": ["issue_labels", "labels_list"], "description": "Comma-separated list of label names to filter issues by. Example: 'bug,ui,@high'.", "endpoint_argument_name": "labels" }, { "name": "sort_by", "alternative_names": ["order_by", "arrange_by"], "description": "Choose sorting method for results: 'created', 'updated', or 'comments'.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["results_sort_order", "output_sort_direction"], "description": "Specifies the sorting direction of the results, either ascending (`asc`) or descending (`desc`).", "endpoint_argument_name": "direction" }, { "name": "updated_since", "alternative_names": ["notifications_since_date", "issues_since_date"], "description": "Show issues updated after this timestamp. Use ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "records_per_page"], "description": "Specify the number of issues or pull requests to return per page. The maximum allowed value is 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specifies the page number of the results to fetch. Use for paginating through result sets.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/issues", "tags": ["issues"], "summary": "List user account issues assigned to the authenticated user", "description": "List issues across owned and member repositories assigned to the authenticated user.\n\n**Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/enterprise-server@3.8/rest/reference/pulls#list-pull-requests)\" endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "filter", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["assigned", "created", "mentioned", "subscribed", "repos", "all"], "properties": null, "inner_properties": null, "description": "Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation." }, "description": "Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation.", "required": false, "deprecated": false, "default": "assigned", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["assigned", "created", "mentioned", "subscribed", "repos", "all"] }, "schema_required": false }, { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the issues to return." }, "description": "Indicates the state of the issues to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "labels", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A list of comma separated label names. Example: `bug,ui,@high`" }, "description": "A list of comma separated label names. Example: `bug,ui,@high`", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "comments"], "properties": null, "inner_properties": null, "description": "What to sort results by." }, "description": "What to sort results by.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "comments"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-public-ssh-keys-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_public_ssh_keys", "description": { "tagline": "Retrieve public SSH keys for the authenticated GitHub user.", "detailed": "Call this tool to get a list of public SSH keys associated with the authenticated user's GitHub account. Requires authentication with `read:public_key` scope." }, "return_annotation": "A list of public SSH keys for the authenticated GitHub user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "keys_per_page"], "description": "The number of SSH key results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Specifies which page of results to fetch, starting from 1.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/keys", "tags": ["users"], "summary": "List public SSH keys for the authenticated user", "description": "Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/create-public-ssh-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "add_ssh_key_to_github_account", "description": { "tagline": "Add a public SSH key to your GitHub account.", "detailed": "Use this tool to add a public SSH key to the authenticated user's GitHub account, enabling SSH access. Authentication is required via Basic Auth or OAuth with the appropriate scope." }, "return_annotation": "Confirmation of SSH key addition to GitHub.", "arguments": [ { "name": "public_ssh_key", "alternative_names": ["ssh_key_content", "key_data"], "description": "The public SSH key content to add to your GitHub account. Ensure it is in the correct format.", "endpoint_argument_name": "key" }, { "name": "ssh_key_title", "alternative_names": ["key_name", "ssh_key_description"], "description": "A descriptive name for the new SSH key added to the GitHub account.", "endpoint_argument_name": "title" } ] }, "method": "POST", "path": "/user/keys", "tags": ["users"], "summary": "Create a public SSH key for the authenticated user", "description": "Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The public SSH key to add to your GitHub account." }, "description": "The public SSH key to add to your GitHub account.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The public SSH key to add to your GitHub account.", "pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) " }, "schema_required": true }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A descriptive name for the new key." }, "description": "A descriptive name for the new key.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A descriptive name for the new key.", "example": "Personal MacBook Air" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"key\": \"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234\",\n \"title\": \"ssh-rsa AAAAB3NzaC1yc2EAAA\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"key\": {\n \"description\": \"The public SSH key to add to your GitHub account.\",\n \"pattern\": \"^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) \",\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"A descriptive name for the new key.\",\n \"example\": \"Personal MacBook Air\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "users/delete-public-ssh-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "remove_github_ssh_key", "description": { "tagline": "Removes a public SSH key from your GitHub account.", "detailed": "Use this tool to remove a public SSH key from the authenticated user's GitHub account. Authentication must be done via Basic Auth or OAuth with the `admin:public_key` scope." }, "return_annotation": "Confirms the deletion of the specified SSH key.", "arguments": [ { "name": "ssh_key_unique_identifier", "alternative_names": ["key_identifier", "public_key_id"], "description": "The unique identifier for the SSH key to be removed from the GitHub account.", "endpoint_argument_name": "key_id" } ] }, "method": "DELETE", "path": "/user/keys/{key_id}", "tags": ["users"], "summary": "Delete a public SSH key for the authenticated user", "description": "Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the key." }, "description": "The unique identifier of the key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/get-public-ssh-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_public_ssh_key_details", "description": { "tagline": "Retrieve details for a specified public SSH key.", "detailed": "This tool fetches extended details for a single public SSH key of the authenticated user. It requires authentication via Basic Auth or OAuth with 'read:public_key' scope." }, "return_annotation": "Detailed information about the specified public SSH key.", "arguments": [ { "name": "ssh_key_identifier", "alternative_names": ["key_unique_id", "identifier_for_key"], "description": "The unique identifier for the public SSH key to retrieve details.", "endpoint_argument_name": "key_id" } ] }, "method": "GET", "path": "/user/keys/{key_id}", "tags": ["users"], "summary": "Get a public SSH key for the authenticated user", "description": "View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the key." }, "description": "The unique identifier of the key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-memberships-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_organization_memberships", "description": { "tagline": "Retrieve organization memberships for the authenticated user.", "detailed": "This tool retrieves a list of organization memberships for the authenticated user on GitHub, detailing their involvement in various organizations." }, "return_annotation": "List of the user's organization memberships.", "arguments": [ { "name": "membership_state", "alternative_names": ["org_membership_status", "membership_filter"], "description": "Filter memberships by state: 'active' or 'pending'. Returns both if unspecified.", "endpoint_argument_name": "state" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit"], "description": "Number of results per page. Maximum allowed is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specify the page number of results to fetch, for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/memberships/orgs", "tags": ["orgs"], "summary": "List organization memberships for the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["active", "pending"], "properties": null, "inner_properties": null, "description": "Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships." }, "description": "Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["active", "pending"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/get-membership-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_org_membership_status", "description": { "tagline": "Retrieve the user's organization membership status.", "detailed": "Use this tool to get the membership details of an authenticated user within a specified organization on GitHub. It is useful for checking the user's roles and permissions in the organization." }, "return_annotation": "Organization membership details for the user.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_id"], "description": "The name of the organization. It is not case sensitive and should be provided as a string.", "endpoint_argument_name": "org" } ] }, "method": "GET", "path": "/user/memberships/orgs/{org}", "tags": ["orgs"], "summary": "Get an organization membership for the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/update-membership-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "update_github_org_membership", "description": { "tagline": "Update your GitHub organization membership settings.", "detailed": "This tool updates the membership status for the authenticated user in a specified GitHub organization. It is useful for changing your role or settings within an organization." }, "return_annotation": "Status of the organization membership update.", "arguments": [ { "name": "organization_name", "alternative_names": ["org_name", "organization_identifier"], "description": "The name of the GitHub organization. This should not be case sensitive.", "endpoint_argument_name": "org" }, { "name": "membership_state", "alternative_names": ["org_membership_state", "organization_membership_state"], "description": "Set the state of the membership. Only accepts \"active\".", "endpoint_argument_name": "state" } ] }, "method": "PATCH", "path": "/user/memberships/orgs/{org}", "tags": ["orgs"], "summary": "Update an organization membership for the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["active"], "properties": null, "inner_properties": null, "description": "The state that the membership should be in. Only `\"active\"` will be accepted." }, "description": "The state that the membership should be in. Only `\"active\"` will be accepted.", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The state that the membership should be in. Only `\"active\"` will be accepted.", "enum": ["active"] }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"state\": \"active\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"state\": {\n \"description\": \"The state that the membership should be in. Only `\\\"active\\\"` will be accepted.\",\n \"enum\": [\n \"active\"\n ],\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"state\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "migrations/list-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_migrations", "description": { "tagline": "Lists all migrations a user has started.", "detailed": "Use this tool to retrieve a list of all the migrations initiated by an authenticated user on GitHub." }, "return_annotation": "A list of migrations started by the user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["results_page_size", "migrations_per_page"], "description": "The number of migration results per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page"], "description": "The specific page of migration results to retrieve, starting from 1.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/migrations", "tags": ["migrations"], "summary": "List user migrations", "description": "Lists all migrations a user has started.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/start-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "initiate_user_migration", "description": { "tagline": "Begin the creation of a user migration archive.", "detailed": "This tool is used to initiate the generation of a migration archive for an authenticated GitHub user. Call this when you want to start the process of exporting your data for transfer or backup purposes." }, "return_annotation": "Confirmation of user migration archive initiation.", "arguments": [ { "name": "repository_list", "alternative_names": ["repo_list", "repositories_to_migrate"], "description": "A list of repository names to be included in the migration. Expect an array of strings representing repository names.", "endpoint_argument_name": "repositories" }, { "name": "exclude_attributes", "alternative_names": ["omit_attributes", "skip_attributes"], "description": "List of attributes to exclude from the API response for better performance.", "endpoint_argument_name": "exclude" }, { "name": "exclude_attachments", "alternative_names": ["omit_attachments", "skip_attachments"], "description": "Set to true to exclude attachments from the migration.", "endpoint_argument_name": "exclude_attachments" }, { "name": "exclude_repository_git_data", "alternative_names": ["omit_git_data", "skip_repository_git_data"], "description": "Set to true to exclude repository git data from the migration.", "endpoint_argument_name": "exclude_git_data" }, { "name": "exclude_metadata", "alternative_names": ["skip_metadata_in_migration", "omit_metadata_in_migration"], "description": "Set to true to exclude metadata and include only git source in the migration.", "endpoint_argument_name": "exclude_metadata" }, { "name": "exclude_owner_projects", "alternative_names": ["ignore_organization_user_projects", "omit_user_owned_projects"], "description": "Set to true to exclude projects owned by the organization or users from the migration process.", "endpoint_argument_name": "exclude_owner_projects" }, { "name": "exclude_releases", "alternative_names": ["omit_releases", "skip_releases"], "description": "Set to true to exclude releases from the migration process.", "endpoint_argument_name": "exclude_releases" }, { "name": "lock_repositories", "alternative_names": ["lock_repos_on_migration_start", "initial_lock_repositories"], "description": "Set to true to lock the repositories at the start of the migration.", "endpoint_argument_name": "lock_repositories" }, { "name": "org_metadata_only", "alternative_names": ["organization_metadata_only", "metadata_exclusive_to_org"], "description": "Set to true to include only organization metadata. Repositories array will be empty and other flags are ignored.", "endpoint_argument_name": "org_metadata_only" } ] }, "method": "POST", "path": "/user/migrations", "tags": ["migrations"], "summary": "Start a user migration", "description": "Initiates the generation of a user migration archive.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "exclude", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "Exclude attributes from the API response to improve performance" }, "description": "Exclude attributes from the API response to improve performance", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "description": "Exclude attributes from the API response to improve performance", "items": { "type": "string", "description": "Allowed values that can be passed to the exclude param.", "enum": ["repositories"], "example": "repositories" } }, "schema_required": false }, { "name": "exclude_attachments", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Do not include attachments in the migration" }, "description": "Do not include attachments in the migration", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Do not include attachments in the migration", "example": true }, "schema_required": false }, { "name": "exclude_git_data", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether the repository git data should be excluded from the migration." }, "description": "Indicates whether the repository git data should be excluded from the migration.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether the repository git data should be excluded from the migration.", "example": true }, "schema_required": false }, { "name": "exclude_metadata", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether metadata should be excluded and only git source should be included for the migration." }, "description": "Indicates whether metadata should be excluded and only git source should be included for the migration.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether metadata should be excluded and only git source should be included for the migration.", "example": true }, "schema_required": false }, { "name": "exclude_owner_projects", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether projects owned by the organization or users should be excluded." }, "description": "Indicates whether projects owned by the organization or users should be excluded.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether projects owned by the organization or users should be excluded.", "example": true }, "schema_required": false }, { "name": "exclude_releases", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Do not include releases in the migration" }, "description": "Do not include releases in the migration", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Do not include releases in the migration", "example": true }, "schema_required": false }, { "name": "lock_repositories", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Lock the repositories being migrated at the start of the migration" }, "description": "Lock the repositories being migrated at the start of the migration", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Lock the repositories being migrated at the start of the migration", "example": true }, "schema_required": false }, { "name": "org_metadata_only", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags)." }, "description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).", "required": false, "deprecated": false, "default": false, "location": "body", "content_type": "application/json", "json_schema": { "type": "boolean", "description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).", "example": true }, "schema_required": false }, { "name": "repositories", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "array", "items": { "type": "string", "description": "Repository path, owner and name", "example": "acme/widgets" } }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"lock_repositories\": true,\n \"repositories\": [\n \"octocat/Hello-World\"\n ]\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"exclude\": {\n \"description\": \"Exclude attributes from the API response to improve performance\",\n \"example\": [\n \"repositories\"\n ],\n \"items\": {\n \"description\": \"Allowed values that can be passed to the exclude param.\",\n \"enum\": [\n \"repositories\"\n ],\n \"example\": \"repositories\",\n \"type\": \"string\"\n },\n \"readOnly\": false,\n \"type\": \"array\"\n },\n \"exclude_attachments\": {\n \"description\": \"Do not include attachments in the migration\",\n \"example\": true,\n \"readOnly\": false,\n \"type\": \"boolean\"\n },\n \"exclude_git_data\": {\n \"description\": \"Indicates whether the repository git data should be excluded from the migration.\",\n \"example\": true,\n \"readOnly\": false,\n \"type\": \"boolean\"\n },\n \"exclude_metadata\": {\n \"description\": \"Indicates whether metadata should be excluded and only git source should be included for the migration.\",\n \"example\": true,\n \"readOnly\": false,\n \"type\": \"boolean\"\n },\n \"exclude_owner_projects\": {\n \"description\": \"Indicates whether projects owned by the organization or users should be excluded.\",\n \"example\": true,\n \"readOnly\": false,\n \"type\": \"boolean\"\n },\n \"exclude_releases\": {\n \"description\": \"Do not include releases in the migration\",\n \"example\": true,\n \"readOnly\": false,\n \"type\": \"boolean\"\n },\n \"lock_repositories\": {\n \"description\": \"Lock the repositories being migrated at the start of the migration\",\n \"example\": true,\n \"readOnly\": false,\n \"type\": \"boolean\"\n },\n \"org_metadata_only\": {\n \"default\": false,\n \"description\": \"Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"repositories\": {\n \"items\": {\n \"description\": \"Repository path, owner and name\",\n \"example\": \"acme/widgets\",\n \"type\": \"string\"\n },\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"repositories\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "migrations/get-archive-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "download_github_migration_archive", "description": { "tagline": "Fetch the URL to download a GitHub migration archive.", "detailed": "Use this tool to obtain the URL for downloading a GitHub migration archive as a `tar.gz` file. It includes various repository data and attachments, useful for backing up or migrating GitHub data." }, "return_annotation": "URL to download a migration archive for a GitHub account.", "arguments": [ { "name": "migration_unique_id", "alternative_names": ["migration_id_number", "migration_identifier"], "description": "The unique identifier for the GitHub migration. This ID is required to fetch the migration archive URL.", "endpoint_argument_name": "migration_id" } ] }, "method": "GET", "path": "/user/migrations/{migration_id}/archive", "tags": ["migrations"], "summary": "Download a user migration archive", "description": "Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:\n\n* attachments\n* bases\n* commit\\_comments\n* issue\\_comments\n* issue\\_events\n* issues\n* milestones\n* organizations\n* projects\n* protected\\_branches\n* pull\\_request\\_reviews\n* pull\\_requests\n* releases\n* repositories\n* review\\_comments\n* schema\n* users\n\nThe archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "migrations/list-repos-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_migration_repos", "description": { "tagline": "Retrieve repositories for a user's migration.", "detailed": "This tool lists all the repositories associated with a user's migration on GitHub. Use it when you need to access the repositories involved in a specific migration." }, "return_annotation": "A list of repositories for the user's migration.", "arguments": [ { "name": "migration_unique_identifier", "alternative_names": ["migration_id_number", "migration_identifier"], "description": "The unique identifier for the user migration to retrieve repositories.", "endpoint_argument_name": "migration_id" }, { "name": "results_per_page", "alternative_names": ["limit_per_page", "repos_per_page"], "description": "The number of repository results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "Specify the page number of results to retrieve. Use this to paginate through multiple pages of repository data.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/migrations/{migration_id}/repositories", "tags": ["migrations"], "summary": "List repositories for a user migration", "description": "Lists all the repositories for this user migration.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "migration_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the migration." }, "description": "The unique identifier of the migration.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_organizations", "description": { "tagline": "List organizations for the authenticated GitHub user.", "detailed": "This tool retrieves a list of organizations that the authenticated user can interact with on GitHub. It requires OAuth scope such as `user` or `read:org` to access this information. Use this tool to find out which organizations a user is part of and can manage." }, "return_annotation": "A list of organizations the authenticated user can operate on.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "results_page_limit"], "description": "The number of organizations listed per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["results_page", "fetch_results_page"], "description": "Page number of the results to fetch for user organizations.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/orgs", "tags": ["orgs"], "summary": "List organizations for the authenticated user", "description": "List organizations for the authenticated user.\n\n**OAuth scope requirements**\n\nThis only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/create-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_user_project_board", "description": { "tagline": "Create a project board for a GitHub user.", "detailed": "This tool creates a project board for an authenticated GitHub user. It returns a `410 Gone` status if the user does not have existing classic projects, or `401 Unauthorized` if privileges are insufficient." }, "return_annotation": "Status of the project board creation.", "arguments": [ { "name": "project_name", "alternative_names": ["board_name", "user_project_name"], "description": "The name for the GitHub project board to be created. It should be a string representing the desired name.", "endpoint_argument_name": "name" }, { "name": "project_body", "alternative_names": ["project_content", "board_description"], "description": "The content or description of the GitHub project board. It should be a concise string summarizing the project's purpose or details.", "endpoint_argument_name": "body" } ] }, "method": "POST", "path": "/user/projects", "tags": ["projects"], "summary": "Create a user project", "description": "Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "body", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Body of the project" }, "description": "Body of the project", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Body of the project", "example": "This project represents the sprint of the first week in January" }, "schema_required": false }, { "name": "name", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Name of the project" }, "description": "Name of the project", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "Name of the project", "example": "Week One Sprint" }, "schema_required": true } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"summary\": \"Create a new project\",\n \"value\": {\n \"body\": \"A board to manage my personal projects.\",\n \"name\": \"My Projects\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"body\": {\n \"description\": \"Body of the project\",\n \"example\": \"This project represents the sprint of the first week in January\",\n \"nullable\": true,\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"Name of the project\",\n \"example\": \"Week One Sprint\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "users/list-public-emails-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_public_emails", "description": { "tagline": "Retrieve publicly visible GitHub emails for the authenticated user.", "detailed": "This tool retrieves the publicly visible email addresses for the authenticated GitHub user. It's useful for applications needing to display or verify public contact details. Requires the `user:email` scope." }, "return_annotation": "Publicly visible GitHub email addresses.", "arguments": [ { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "emails_per_page"], "description": "The number of email results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "email_results_page_number"], "description": "The page number of email results to retrieve. Use this to navigate through paginated email results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/public_emails", "tags": ["users"], "summary": "List public email addresses for the authenticated user", "description": "Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/enterprise-server@3.8/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_repositories", "description": { "tagline": "Retrieve repositories accessible to the authenticated user.", "detailed": "This tool lists repositories that the authenticated user can access with explicit permissions like `:read`, `:write`, or `:admin`. It includes repositories owned by the user, those where they are collaborators, and those accessible through organization membership." }, "return_annotation": "List of repositories the authenticated user has access to.", "arguments": [ { "name": "repository_visibility", "alternative_names": ["repo_visibility", "visibility_filter"], "description": "Limit results to repositories with the specified visibility: 'all', 'public', or 'private'.", "endpoint_argument_name": "visibility" }, { "name": "repository_affiliation_filter", "alternative_names": ["repo_affiliation_list", "access_type_filter"], "description": "Specify affiliations for repositories to list. Options: `owner`, `collaborator`, `organization_member`. Provide as a comma-separated string.", "endpoint_argument_name": "affiliation" }, { "name": "repository_type", "alternative_names": ["repo_category", "repository_category"], "description": "Limit results to repositories of the specified type: 'all', 'owner', 'public', 'private', or 'member'. Avoid using with 'visibility' or 'affiliation'.", "endpoint_argument_name": "type" }, { "name": "sort_property", "alternative_names": ["sort_by", "order_by"], "description": "Property by which to sort repositories, such as `created`, `updated`, `pushed`, or `full_name`.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["order_direction", "sorting_direction"], "description": "Specify the order to sort repositories. Use 'asc' for ascending or 'desc' for descending. Default is 'asc' for 'full_name' sort and 'desc' otherwise.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "repos_per_page"], "description": "The maximum number of repositories to display per page. Accepts an integer up to 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["result_page", "page_number"], "description": "Specify the page number of the results to fetch.", "endpoint_argument_name": "page" }, { "name": "updated_after_timestamp", "alternative_names": ["since_timestamp", "updated_after_time"], "description": "Filter repositories updated after the specified ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SSZ).", "endpoint_argument_name": "since" }, { "name": "filter_repositories_before_timestamp", "alternative_names": [ "limit_repositories_by_date_before", "repositories_updated_before" ], "description": "Only show repositories updated before the specified timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "before" } ] }, "method": "GET", "path": "/user/repos", "tags": ["repos"], "summary": "List repositories for the authenticated user", "description": "Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "visibility", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "public", "private"], "properties": null, "inner_properties": null, "description": "Limit results to repositories with the specified visibility." }, "description": "Limit results to repositories with the specified visibility.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "public", "private"] }, "schema_required": false }, { "name": "affiliation", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Comma-separated list of values. Can include: \n * `owner`: Repositories that are owned by the authenticated user. \n * `collaborator`: Repositories that the user has been added to as a collaborator. \n * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on." }, "description": "Comma-separated list of values. Can include: \n * `owner`: Repositories that are owned by the authenticated user. \n * `collaborator`: Repositories that the user has been added to as a collaborator. \n * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on.", "required": false, "deprecated": false, "default": "owner,collaborator,organization_member", "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "owner", "public", "private", "member"], "properties": null, "inner_properties": null, "description": "Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**." }, "description": "Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**.", "required": false, "deprecated": false, "default": "all", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "owner", "public", "private", "member"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "pushed", "full_name"], "properties": null, "inner_properties": null, "description": "The property to sort the results by." }, "description": "The property to sort the results by.", "required": false, "deprecated": false, "default": "full_name", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "pushed", "full_name"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`." }, "description": "The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "before", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/create-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_github_repo_for_user", "description": { "tagline": "Create a new GitHub repository for the authenticated user.", "detailed": "This tool creates a new repository for the authenticated user. It requires appropriate OAuth scopes: `public_repo` or `repo` for public repositories, and `repo` for private repositories." }, "return_annotation": "Details of the newly created GitHub repository.", "arguments": [ { "name": "repository_creation_details", "alternative_names": ["repo_creation_payload", "new_repo_details"], "description": "JSON object with details like name, description, privacy settings, and other configurations for the new repository.", "endpoint_argument_name": "requestBody" } ] }, "method": "POST", "path": "/user/repos", "tags": ["repos"], "summary": "Create a repository for the authenticated user", "description": "Creates a new repository for the authenticated user.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "requestBody", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "allow_auto_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to allow Auto-merge to be used on pull requests." }, "allow_merge_commit": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to allow merge commits for pull requests." }, "allow_rebase_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to allow rebase merges for pull requests." }, "allow_squash_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to allow squash merges for pull requests." }, "auto_init": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the repository is initialized with a minimal README." }, "delete_branch_on_merge": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether to delete head branches when pull requests are merged" }, "description": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A short description of the repository." }, "gitignore_template": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The desired language or platform to apply to the .gitignore." }, "has_discussions": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether discussions are enabled." }, "has_downloads": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether downloads are enabled." }, "has_issues": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether issues are enabled." }, "has_projects": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether projects are enabled." }, "has_wiki": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the wiki is enabled." }, "homepage": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A URL with more information about the repository." }, "is_template": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether this repository acts as a template that can be used to generate new repositories." }, "license_template": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The license keyword of the open source license for this repository." }, "merge_commit_message": { "val_type": "string", "inner_val_type": null, "enum": ["PR_BODY", "PR_TITLE", "BLANK"], "properties": null, "inner_properties": null, "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message." }, "merge_commit_title": { "val_type": "string", "inner_val_type": null, "enum": ["PR_TITLE", "MERGE_MESSAGE"], "properties": null, "inner_properties": null, "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)." }, "name": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository." }, "private": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Whether the repository is private." }, "squash_merge_commit_message": { "val_type": "string", "inner_val_type": null, "enum": ["PR_BODY", "COMMIT_MESSAGES", "BLANK"], "properties": null, "inner_properties": null, "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message." }, "squash_merge_commit_title": { "val_type": "string", "inner_val_type": null, "enum": ["PR_TITLE", "COMMIT_OR_PR_TITLE"], "properties": null, "inner_properties": null, "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)." }, "team_id": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization." } }, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "object", "properties": { "allow_auto_merge": { "type": "boolean", "description": "Whether to allow Auto-merge to be used on pull requests.", "example": false }, "allow_merge_commit": { "type": "boolean", "description": "Whether to allow merge commits for pull requests.", "example": true }, "allow_rebase_merge": { "type": "boolean", "description": "Whether to allow rebase merges for pull requests.", "example": true }, "allow_squash_merge": { "type": "boolean", "description": "Whether to allow squash merges for pull requests.", "example": true }, "auto_init": { "type": "boolean", "description": "Whether the repository is initialized with a minimal README." }, "delete_branch_on_merge": { "type": "boolean", "description": "Whether to delete head branches when pull requests are merged", "example": false }, "description": { "type": "string", "description": "A short description of the repository." }, "gitignore_template": { "type": "string", "description": "The desired language or platform to apply to the .gitignore.", "example": "Haskell" }, "has_discussions": { "type": "boolean", "description": "Whether discussions are enabled.", "example": true }, "has_downloads": { "type": "boolean", "description": "Whether downloads are enabled.", "example": true }, "has_issues": { "type": "boolean", "description": "Whether issues are enabled.", "example": true }, "has_projects": { "type": "boolean", "description": "Whether projects are enabled.", "example": true }, "has_wiki": { "type": "boolean", "description": "Whether the wiki is enabled.", "example": true }, "homepage": { "type": "string", "description": "A URL with more information about the repository." }, "is_template": { "type": "boolean", "description": "Whether this repository acts as a template that can be used to generate new repositories.", "example": true }, "license_template": { "type": "string", "description": "The license keyword of the open source license for this repository.", "example": "mit" }, "merge_commit_message": { "type": "string", "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message.", "enum": ["PR_BODY", "PR_TITLE", "BLANK"] }, "merge_commit_title": { "type": "string", "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).", "enum": ["PR_TITLE", "MERGE_MESSAGE"] }, "name": { "type": "string", "description": "The name of the repository.", "example": "Team Environment" }, "private": { "type": "boolean", "description": "Whether the repository is private." }, "squash_merge_commit_message": { "type": "string", "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message.", "enum": ["PR_BODY", "COMMIT_MESSAGES", "BLANK"] }, "squash_merge_commit_title": { "type": "string", "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).", "enum": ["PR_TITLE", "COMMIT_OR_PR_TITLE"] }, "team_id": { "type": "integer", "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization." } }, "required": ["name"] }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"description\": \"This is your first repo!\",\n \"homepage\": \"https://github.com\",\n \"is_template\": true,\n \"name\": \"Hello-World\",\n \"private\": false\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"allow_auto_merge\": {\n \"default\": false,\n \"description\": \"Whether to allow Auto-merge to be used on pull requests.\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"allow_merge_commit\": {\n \"default\": true,\n \"description\": \"Whether to allow merge commits for pull requests.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"allow_rebase_merge\": {\n \"default\": true,\n \"description\": \"Whether to allow rebase merges for pull requests.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"allow_squash_merge\": {\n \"default\": true,\n \"description\": \"Whether to allow squash merges for pull requests.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"auto_init\": {\n \"default\": false,\n \"description\": \"Whether the repository is initialized with a minimal README.\",\n \"type\": \"boolean\"\n },\n \"delete_branch_on_merge\": {\n \"default\": false,\n \"description\": \"Whether to delete head branches when pull requests are merged\",\n \"example\": false,\n \"type\": \"boolean\"\n },\n \"description\": {\n \"description\": \"A short description of the repository.\",\n \"type\": \"string\"\n },\n \"gitignore_template\": {\n \"description\": \"The desired language or platform to apply to the .gitignore.\",\n \"example\": \"Haskell\",\n \"type\": \"string\"\n },\n \"has_discussions\": {\n \"default\": false,\n \"description\": \"Whether discussions are enabled.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"has_downloads\": {\n \"default\": true,\n \"description\": \"Whether downloads are enabled.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"has_issues\": {\n \"default\": true,\n \"description\": \"Whether issues are enabled.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"has_projects\": {\n \"default\": true,\n \"description\": \"Whether projects are enabled.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"has_wiki\": {\n \"default\": true,\n \"description\": \"Whether the wiki is enabled.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"homepage\": {\n \"description\": \"A URL with more information about the repository.\",\n \"type\": \"string\"\n },\n \"is_template\": {\n \"default\": false,\n \"description\": \"Whether this repository acts as a template that can be used to generate new repositories.\",\n \"example\": true,\n \"type\": \"boolean\"\n },\n \"license_template\": {\n \"description\": \"The license keyword of the open source license for this repository.\",\n \"example\": \"mit\",\n \"type\": \"string\"\n },\n \"merge_commit_message\": {\n \"description\": \"The default value for a merge commit message.\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `PR_BODY` - default to the pull request's body.\\n- `BLANK` - default to a blank commit message.\",\n \"enum\": [\n \"PR_BODY\",\n \"PR_TITLE\",\n \"BLANK\"\n ],\n \"type\": \"string\"\n },\n \"merge_commit_title\": {\n \"description\": \"The default value for a merge commit title.\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).\",\n \"enum\": [\n \"PR_TITLE\",\n \"MERGE_MESSAGE\"\n ],\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"The name of the repository.\",\n \"example\": \"Team Environment\",\n \"type\": \"string\"\n },\n \"private\": {\n \"default\": false,\n \"description\": \"Whether the repository is private.\",\n \"type\": \"boolean\"\n },\n \"squash_merge_commit_message\": {\n \"description\": \"The default value for a squash merge commit message:\\n\\n- `PR_BODY` - default to the pull request's body.\\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\\n- `BLANK` - default to a blank commit message.\",\n \"enum\": [\n \"PR_BODY\",\n \"COMMIT_MESSAGES\",\n \"BLANK\"\n ],\n \"type\": \"string\"\n },\n \"squash_merge_commit_title\": {\n \"description\": \"The default value for a squash merge commit title:\\n\\n- `PR_TITLE` - default to the pull request's title.\\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).\",\n \"enum\": [\n \"PR_TITLE\",\n \"COMMIT_OR_PR_TITLE\"\n ],\n \"type\": \"string\"\n },\n \"team_id\": {\n \"description\": \"The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": true, "validate_request_body_schema": true, "use_flatten_mode": false }, { "name": "repos/list-invitations-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "fetch_open_repo_invitations", "description": { "tagline": "List open repository invitations for the authenticated user.", "detailed": "This tool retrieves all open repository invitations for the currently authenticated GitHub user. It's useful for checking pending repository collaborations." }, "return_annotation": "Open repository invitations for the authenticated user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "invites_per_page"], "description": "Specify the number of results to display per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Specify the page number of results to retrieve for open repository invitations.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/repository_invitations", "tags": ["repos"], "summary": "List repository invitations for the authenticated user", "description": "When authenticating as a user, this endpoint will list all currently open repository invitations for that user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/decline-invitation-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "decline_repo_invitation", "description": { "tagline": "Decline an invitation to join a GitHub repository.", "detailed": "Use this tool to decline an invitation for an authenticated user to join a specific GitHub repository. It should be called when a user decides not to accept a repository invitation." }, "return_annotation": "Confirmation of invitation decline.", "arguments": [ { "name": "invitation_id", "alternative_names": ["invitation_identifier", "repo_invitation_id"], "description": "The unique identifier of the GitHub repository invitation to decline.", "endpoint_argument_name": "invitation_id" } ] }, "method": "DELETE", "path": "/user/repository_invitations/{invitation_id}", "tags": ["repos"], "summary": "Decline a repository invitation", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "invitation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the invitation." }, "description": "The unique identifier of the invitation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/accept-invitation-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "accept_github_repo_invitation", "description": { "tagline": "Accept a GitHub repository invitation.", "detailed": "This tool accepts an invitation to join a GitHub repository for the authenticated user. Use it when you need to confirm participation in a repo after receiving an invitation." }, "return_annotation": "Confirmation of acceptance for a GitHub repository invitation.", "arguments": [ { "name": "invitation_id", "alternative_names": ["repo_invitation_id", "github_invitation_id"], "description": "The unique identifier for the GitHub invitation to be accepted.", "endpoint_argument_name": "invitation_id" } ] }, "method": "PATCH", "path": "/user/repository_invitations/{invitation_id}", "tags": ["repos"], "summary": "Accept a repository invitation", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "invitation_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the invitation." }, "description": "The unique identifier of the invitation.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-ssh-signing-keys-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_ssh_signing_keys", "description": { "tagline": "Retrieve SSH signing keys for the authenticated GitHub user.", "detailed": "This tool lists the SSH signing keys associated with the authenticated GitHub user's account. It requires authentication via Basic Auth or OAuth with `read:ssh_signing_key` scope." }, "return_annotation": "SSH signing keys for the authenticated user.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "limit_per_page"], "description": "The number of SSH signing key results to display per page. The maximum allowed is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Page number of the results to fetch. Use this to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/ssh_signing_keys", "tags": ["users"], "summary": "List SSH signing keys for the authenticated user", "description": "Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/create-ssh-signing-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "create_ssh_signing_key_github", "description": { "tagline": "Create an SSH signing key for your GitHub account.", "detailed": "This tool allows authenticated users to create an SSH signing key for their GitHub account. Authentication is required via Basic Authentication or OAuth with the `write:ssh_signing_key` scope. It should be used when you need to add SSH signing keys to your GitHub profile." }, "return_annotation": "Details of the newly created SSH signing key.", "arguments": [ { "name": "public_ssh_key", "alternative_names": ["ssh_key", "user_ssh_key"], "description": "The public SSH key to add to your GitHub account. Check for existing SSH keys before adding.", "endpoint_argument_name": "key" }, { "name": "ssh_key_title", "alternative_names": ["ssh_key_name", "key_description"], "description": "A descriptive name for the new SSH signing key.", "endpoint_argument_name": "title" } ] }, "method": "POST", "path": "/user/ssh_signing_keys", "tags": ["users"], "summary": "Create a SSH signing key for the authenticated user", "description": "Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [ { "name": "key", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The public SSH key to add to your GitHub account. For more information, see \"[Checking for existing SSH keys](https://docs.github.com/enterprise-server@3.8/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys).\"" }, "description": "The public SSH key to add to your GitHub account. For more information, see \"[Checking for existing SSH keys](https://docs.github.com/enterprise-server@3.8/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys).\"", "required": true, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The public SSH key to add to your GitHub account. For more information, see \"[Checking for existing SSH keys](https://docs.github.com/enterprise-server@3.8/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys).\"", "pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) |^(sk-ssh-ed25519|sk-ecdsa-sha2-nistp256)@openssh.com " }, "schema_required": true }, { "name": "title", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A descriptive name for the new key." }, "description": "A descriptive name for the new key.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "A descriptive name for the new key.", "example": "Personal MacBook Air" }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"default\": {\n \"value\": {\n \"key\": \"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234\",\n \"title\": \"ssh-rsa AAAAB3NzaC1yc2EAAA\"\n }\n }\n },\n \"schema\": {\n \"properties\": {\n \"key\": {\n \"description\": \"The public SSH key to add to your GitHub account. For more information, see \\\"[Checking for existing SSH keys](https://docs.github.com/enterprise-server@3.8/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys).\\\"\",\n \"pattern\": \"^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) |^(sk-ssh-ed25519|sk-ecdsa-sha2-nistp256)@openssh.com \",\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"A descriptive name for the new key.\",\n \"example\": \"Personal MacBook Air\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"key\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "users/delete-ssh-signing-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "delete_github_ssh_signing_key", "description": { "tagline": "Delete an SSH signing key from your GitHub account.", "detailed": "Call this tool to remove an SSH signing key from the authenticated user's GitHub account. Authentication is required via Basic Authentication or OAuth with the `admin:ssh_signing_key` scope." }, "return_annotation": "Confirmation of deletion of the SSH signing key.", "arguments": [ { "name": "ssh_signing_key_identifier", "alternative_names": ["ssh_key_id", "ssh_signing_id"], "description": "The unique identifier of the SSH signing key to delete. It must be an integer.", "endpoint_argument_name": "ssh_signing_key_id" } ] }, "method": "DELETE", "path": "/user/ssh_signing_keys/{ssh_signing_key_id}", "tags": ["users"], "summary": "Delete an SSH signing key for the authenticated user", "description": "Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "ssh_signing_key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the SSH signing key." }, "description": "The unique identifier of the SSH signing key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/get-ssh-signing-key-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_ssh_signing_key_details", "description": { "tagline": "Retrieve extended details for an SSH signing key.", "detailed": "Use this tool to get detailed information of an SSH signing key for an authenticated GitHub user. Requires authentication with either Basic Authentication or OAuth with `read:ssh_signing_key` scope." }, "return_annotation": "Extended details of an SSH signing key.", "arguments": [ { "name": "ssh_signing_key_identifier", "alternative_names": ["ssh_key_id", "signing_key_id"], "description": "The unique identifier of the SSH signing key to retrieve details for the authenticated user.", "endpoint_argument_name": "ssh_signing_key_id" } ] }, "method": "GET", "path": "/user/ssh_signing_keys/{ssh_signing_key_id}", "tags": ["users"], "summary": "Get an SSH signing key for the authenticated user", "description": "Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "ssh_signing_key_id", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The unique identifier of the SSH signing key." }, "description": "The unique identifier of the SSH signing key.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-repos-starred-by-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_starred_repositories", "description": { "tagline": "Retrieve repositories starred by the authenticated user.", "detailed": "This tool fetches a list of repositories that the authenticated user has starred on GitHub. It can also provide information on when the stars were created if desired." }, "return_annotation": "List of repositories starred by the user.", "arguments": [ { "name": "sort_by", "alternative_names": ["sorting_property", "order_by"], "description": "The property to sort the results by. Use 'created' for sorting by the star creation date or 'updated' for the last push date.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["sort_order", "results_direction"], "description": "The direction to sort the results by. Use 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "repositories_per_page"], "description": "The number of repositories to return per page, maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number_to_fetch", "alternative_names": ["results_page_number", "fetch_page_number"], "description": "Specify the page number of results to retrieve. Use for pagination of starred repositories.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/starred", "tags": ["activity"], "summary": "List repositories starred by the authenticated user", "description": "Lists repositories the authenticated user has starred.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to." }, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/unstar-repo-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unstar_github_repo", "description": { "tagline": "Unstar a GitHub repository for the authenticated user.", "detailed": "Use this tool to remove a star from a repository on GitHub for the currently authenticated user. This action is useful when a user wants to unmark a repository as a favorite or remove it from a list of starred repositories." }, "return_annotation": "Confirmation of repository unstarred status.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the GitHub repository. The name is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository_id"], "description": "The name of the repository to unstar, not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "DELETE", "path": "/user/starred/{owner}/{repo}", "tags": ["activity"], "summary": "Unstar a repository for the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/check-repo-is-starred-by-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_repo_starred_by_user", "description": { "tagline": "Check if a repository is starred by the authenticated user.", "detailed": "This tool verifies whether the authenticated user has starred a specific GitHub repository, identified by its owner and repository name." }, "return_annotation": "Indicates if the repository is starred by the user.", "arguments": [ { "name": "repository_owner_account", "alternative_names": ["repo_owner_name", "repository_owner"], "description": "The account owner of the repository. This value is not case sensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "repository"], "description": "The name of the GitHub repository to check. This is case insensitive.", "endpoint_argument_name": "repo" } ] }, "method": "GET", "path": "/user/starred/{owner}/{repo}", "tags": ["activity"], "summary": "Check if a repository is starred by the authenticated user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/star-repo-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "star_github_repository", "description": { "tagline": "Star a GitHub repository for the authenticated user.", "detailed": "Use this tool to star a specific GitHub repository on behalf of the authenticated user. This action can be used to bookmark important repositories or show appreciation for the work. Ensure the `Content-Length` is set to zero when making the request." }, "return_annotation": "Confirms if the repository was starred successfully.", "arguments": [ { "name": "repository_owner", "alternative_names": ["repo_owner", "repository_account_owner"], "description": "The account owner of the repository, case insensitive.", "endpoint_argument_name": "owner" }, { "name": "repository_name", "alternative_names": ["repo_name", "git_repo_name"], "description": "The name of the GitHub repository to star. This name is not case sensitive.", "endpoint_argument_name": "repo" } ] }, "method": "PUT", "path": "/user/starred/{owner}/{repo}", "tags": ["activity"], "summary": "Star a repository for the authenticated user", "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "owner", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The account owner of the repository. The name is not case sensitive." }, "description": "The account owner of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "repo", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The name of the repository. The name is not case sensitive." }, "description": "The name of the repository. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-watched-repos-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_watched_repositories", "description": { "tagline": "Retrieve repositories watched by the authenticated user.", "detailed": "Use this tool to obtain a list of repositories that the authenticated GitHub user is currently watching. It's useful for managing or displaying watched repositories." }, "return_annotation": "List of repositories the user is watching.", "arguments": [ { "name": "results_per_page", "alternative_names": ["max_results_per_page", "items_per_page"], "description": "The number of repository results displayed per page (maximum 100).", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "pagination_page"], "description": "Specify the page number of the results to fetch. Used for pagination of results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/subscriptions", "tags": ["activity"], "summary": "List repositories watched by the authenticated user", "description": "Lists repositories the authenticated user is watching.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "teams/list-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_github_teams", "description": { "tagline": "Retrieve teams the authenticated GitHub user belongs to.", "detailed": "This tool lists all teams across organizations that the authenticated user is a part of on GitHub. Requires appropriate OAuth scope." }, "return_annotation": "List of teams the user belongs to across organizations.", "arguments": [ { "name": "results_per_page", "alternative_names": ["items_per_page", "num_results_per_page"], "description": "Number of results to display per page, maximum value is 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page_number"], "description": "Page number to specify which set of results to fetch. Useful for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/user/teams", "tags": ["teams"], "summary": "List teams for the authenticated user", "description": "List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/enterprise-server@3.8/apps/building-oauth-apps/).", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_users", "description": { "tagline": "Retrieve a list of all GitHub users by signup order.", "detailed": "This tool retrieves a list of all users from GitHub Enterprise Server, including both personal and organization accounts, sorted by their signup date. Pagination is controlled using the 'since' parameter." }, "return_annotation": "A list of GitHub users in signup order.", "arguments": [ { "name": "user_id_threshold", "alternative_names": ["starting_user_id", "minimum_user_id"], "description": "A user ID. Only return users with an ID greater than this number.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["number_of_users_per_page", "users_page_limit"], "description": "The number of results to return per page, with a maximum of 100 allowed.", "endpoint_argument_name": "per_page" } ] }, "method": "GET", "path": "/users", "tags": ["users"], "summary": "List users", "description": "Lists all users, in the order that they signed up on GitHub Enterprise Server. This list includes personal user accounts and organization accounts.\n\nNote: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "A user ID. Only return users with an ID greater than this ID." }, "description": "A user ID. Only return users with an ID greater than this ID.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/get-by-username", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_user_info", "description": { "tagline": "Fetch public details of a GitHub user using their username.", "detailed": "This tool retrieves publicly available information about a GitHub user's account. It is useful for obtaining details such as username, profile information, and publicly visible email addresses if set by the user. Ideal for applications needing GitHub user data." }, "return_annotation": "Public information about a GitHub user.", "arguments": [ { "name": "github_username", "alternative_names": ["github_user_handle", "github_account_name"], "description": "The GitHub user's handle. Used to fetch their public profile information.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/users/{username}", "tags": ["users"], "summary": "Get a user", "description": "Provides publicly available information about someone with a GitHub account.\n\nGitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub Enterprise Server plan. The GitHub App must be authenticated as a user. See \"[Identifying and authorizing users for GitHub Apps](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)\" for details about authentication. For an example response, see 'Response with GitHub Enterprise Server plan information' below\"\n\nThe `email` key in the following response is the publicly visible email address from your GitHub Enterprise Server [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be \u201cpublic\u201d which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub Enterprise Server. For more information, see [Authentication](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#authentication).\n\nThe Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see \"[Emails API](https://docs.github.com/enterprise-server@3.8/rest/reference/users#emails)\".", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-events-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_github_events", "description": { "tagline": "Retrieve a user's GitHub events, including private if authenticated.", "detailed": "This tool retrieves GitHub events for a specified user. If authenticated, it includes private events; otherwise, only public events are shown." }, "return_annotation": "User's GitHub events, including private if authenticated.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_user_account", "git_user_handle"], "description": "The GitHub username for which to retrieve events. Use the handle of the user account.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "Number of results to return per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "events_page"], "description": "The page number of results to fetch for the user's GitHub events.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/events", "tags": ["activity"], "summary": "List events for the authenticated user", "description": "If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-org-events-for-authenticated-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_org_events", "description": { "tagline": "Retrieve organization events for an authenticated GitHub user.", "detailed": "Use this tool to get the events related to a user's organization activities on GitHub. It requires authentication as the user to access the details of the organization dashboard." }, "return_annotation": "List of organization events for the authenticated user.", "arguments": [ { "name": "github_username", "alternative_names": ["user_handle", "github_user_handle"], "description": "The GitHub handle of the user account for whom events are being retrieved. Authentication is required to access user-specific details.", "endpoint_argument_name": "username" }, { "name": "organization_name", "alternative_names": ["org_name", "organization"], "description": "The name of the GitHub organization. This parameter is not case sensitive.", "endpoint_argument_name": "org" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "Specify the number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "current_page"], "description": "The specific page of results to retrieve. Provides pagination for fetching events.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/events/orgs/{org}", "tags": ["activity"], "summary": "List organization events for the authenticated user", "description": "This is the user's organization dashboard. You must be authenticated as the user to view this.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "org", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The organization name. The name is not case sensitive." }, "description": "The organization name. The name is not case sensitive.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-public-events-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_github_user_public_events", "description": { "tagline": "Retrieve a GitHub user's public events.", "detailed": "This tool retrieves the list of public events for a specified GitHub user. Use it to check user activity on GitHub, such as recent contributions and interactions." }, "return_annotation": "List of public events for the specified GitHub user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["gh_user_handle", "github_username"], "description": "The GitHub user's handle to retrieve public events for.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["page_size", "per_page_results"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["result_page", "fetch_page"], "description": "The page number of the results to retrieve. Use to navigate through paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/events/public", "tags": ["activity"], "summary": "List public events for a user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-followers-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_followers", "description": { "tagline": "Retrieve a list of followers for a specific GitHub user.", "detailed": "Use this tool to get the list of people following a specified GitHub user. It should be called when you need information about who is following a particular user." }, "return_annotation": "A list of followers for a specified user on GitHub.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_github_handle"], "description": "The GitHub user handle to list followers for.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["number_of_results_per_page", "max_results_per_page"], "description": "The number of follower results to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["followers_page_number", "page_number_of_results"], "description": "Specify the page number of results to retrieve followers for the specified user. Use this to paginate through results if there are many followers.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/followers", "tags": ["users"], "summary": "List followers of a user", "description": "Lists the people following the specified user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-following-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "user_following_list", "description": { "tagline": "Retrieve users followed by a specified GitHub user.", "detailed": "Call this tool to get a list of users that a specific GitHub user is following. It is useful for analyzing social connections or activity on GitHub." }, "return_annotation": "List of users followed by the specified user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "github_account_handle"], "description": "The GitHub username of the account whose followings you want to list.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["per_page_count", "items_per_page"], "description": "Specify the number of results to display per page. Maximum is 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["fetch_page_number", "results_page_index"], "description": "The page number of the result set to retrieve. Use this to paginate results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/following", "tags": ["users"], "summary": "List the people a user follows", "description": "Lists the people who the specified user follows.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/check-following-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "check_user_following_status", "description": { "tagline": "Verify if a user follows another GitHub user.", "detailed": "This tool checks if one GitHub user follows another. Use it to determine follow relationships between two users on GitHub." }, "return_annotation": "Indicates if a user follows another user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The handle for the GitHub user account initiating the following request.", "endpoint_argument_name": "username" }, { "name": "target_username", "alternative_names": ["target_user_handle", "following_target"], "description": "The username of the GitHub account you want to check if the main user follows.", "endpoint_argument_name": "target_user" } ] }, "method": "GET", "path": "/users/{username}/following/{target_user}", "tags": ["users"], "summary": "Check if a user follows another user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false }, { "name": "target_user", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "" }, "description": "", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "gists/list-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_gists", "description": { "tagline": "Retrieve a user's public gists from GitHub.", "detailed": "This tool is used to list all public gists for a specified GitHub user. It should be called when you want to retrieve code snippets or files shared publicly by the user." }, "return_annotation": "List of public gists for a user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["user_handle", "gh_username"], "description": "The GitHub username whose public gists you want to retrieve.", "endpoint_argument_name": "username" }, { "name": "updated_after_timestamp", "alternative_names": ["updated_since_timestamp", "notifications_since"], "description": "Show notifications updated after the specified timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", "endpoint_argument_name": "since" }, { "name": "results_per_page", "alternative_names": ["results_page_size", "page_result_count"], "description": "The number of gists to display per page, with a maximum limit of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "pagination_page"], "description": "Page number of the gist results to fetch. Used for paginating results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/gists", "tags": ["gists"], "summary": "List gists for a user", "description": "Lists public gists for the specified user:", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "since", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." }, "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "format": "date-time" }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-gpg-keys-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_gpg_keys_for_user", "description": { "tagline": "Retrieve public GPG keys for a GitHub user.", "detailed": "Use this tool to list the public GPG keys associated with a GitHub user. This information is publicly accessible and can be used to verify the integrity of a user's signed content." }, "return_annotation": "A list of GPG keys for the specified user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The GitHub username of the account to retrieve GPG keys for.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["page_size", "results_limit"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["result_page_number", "pagination_page"], "description": "Page number of the results to fetch. Used for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/gpg_keys", "tags": ["users"], "summary": "List GPG keys for a user", "description": "Lists the GPG keys for a user. This information is accessible by anyone.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/get-context-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_user_hovercard_info", "description": { "tagline": "Retrieve detailed hovercard info for a GitHub user.", "detailed": "Fetches hovercard information about a specified GitHub user, offering insights related to their pull requests, issues, repositories, and organizations. Requires authentication through basic auth or OAuth with the `repo` scope. Enhanced details can be obtained by specifying `subject_type` and `subject_id` parameters." }, "return_annotation": "Hovercard information related to a GitHub user.", "arguments": [ { "name": "github_username", "alternative_names": ["user_handle", "account_name"], "description": "The GitHub username for which to retrieve hovercard information.", "endpoint_argument_name": "username" }, { "name": "additional_info_type", "alternative_names": ["context_type", "detailed_info_focus"], "description": "Specifies the type of related information for the user's hovercard. Options: `organization`, `repository`, `issue`, `pull_request`. Required with `subject_id`.", "endpoint_argument_name": "subject_type" }, { "name": "subject_identifier", "alternative_names": ["subject_id_value", "subject_type_id"], "description": "The ID corresponding to the specified `subject_type` (e.g., organization, repository). Required if `subject_type` is used.", "endpoint_argument_name": "subject_id" } ] }, "method": "GET", "path": "/users/{username}/hovercard", "tags": ["users"], "summary": "Get contextual information for a user", "description": "Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.\n\nThe `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this:\n\n```shell\n curl -u username:token\n https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192\n```", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "subject_type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["organization", "repository", "issue", "pull_request"], "properties": null, "inner_properties": null, "description": "Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`." }, "description": "Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["organization", "repository", "issue", "pull_request"] }, "schema_required": false }, { "name": "subject_id", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`." }, "description": "Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "apps/get-user-installation", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_github_user_installation", "description": { "tagline": "Retrieve a user's GitHub App installation information.", "detailed": "Use to find installation details for a user authenticated with a GitHub App using a JWT." }, "return_annotation": "User's GitHub App installation details.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The handle (username) of the GitHub user account to retrieve installation details for.", "endpoint_argument_name": "username" } ] }, "method": "GET", "path": "/users/{username}/installation", "tags": ["apps"], "summary": "Get a user installation for the authenticated app", "description": "Enables an authenticated GitHub App to find the user\u2019s installation information.\n\nYou must use a [JWT](https://docs.github.com/enterprise-server@3.8/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-public-keys-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_public_ssh_keys", "description": { "tagline": "Retrieve verified public SSH keys for a specified GitHub user.", "detailed": "Use this tool to access the verified public SSH keys associated with a GitHub user's account. This information is publicly accessible and can help in identifying trusted keys for secure connections." }, "return_annotation": "List of verified public SSH keys for a user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_handle"], "description": "The GitHub user's handle to retrieve their verified public SSH keys.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "entries_per_page"], "description": "Specify the number of results per page, with a maximum allowed value of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "result_page"], "description": "Specify the page number of results to retrieve for pagination purposes.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/keys", "tags": ["users"], "summary": "List public keys for a user", "description": "Lists the _verified_ public SSH keys for a user. This is accessible by anyone.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "orgs/list-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_public_orgs_for_user", "description": { "tagline": "Retrieve public organization memberships for a GitHub user.", "detailed": "Use this tool to obtain a list of public organization memberships for a specified GitHub user. It does not require authentication and only retrieves public memberships. For private memberships, use an authenticated method." }, "return_annotation": "A list of public organization memberships for a user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["user_handle", "github_username"], "description": "The GitHub user account handle to retrieve public organization memberships for.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "results_limit_per_page"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "results_page"], "description": "Specify the page number of the results to fetch, for paginated results.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/orgs", "tags": ["orgs"], "summary": "List organizations for a user", "description": "List [public organization memberships](https://docs.github.com/enterprise-server@3.8/articles/publicizing-or-concealing-organization-membership) for the specified user.\n\nThis method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/enterprise-server@3.8/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "projects/list-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_projects", "description": { "tagline": "Retrieve a list of GitHub projects for a specific user.", "detailed": "Call this tool to get the projects associated with a specified GitHub username." }, "return_annotation": "A list of a user's GitHub projects.", "arguments": [ { "name": "github_username", "alternative_names": ["username_handle", "github_user_handle"], "description": "The GitHub username of the account whose projects are to be listed.", "endpoint_argument_name": "username" }, { "name": "project_state", "alternative_names": ["projects_status", "filter_projects_state"], "description": "Specify the state of projects to return. Options are 'open', 'closed', or 'all'.", "endpoint_argument_name": "state" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "page_size"], "description": "The number of projects to display per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["result_page_index", "project_page"], "description": "Specify the page number of the results to fetch when listing user projects.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/projects", "tags": ["projects"], "summary": "List user projects", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "state", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["open", "closed", "all"], "properties": null, "inner_properties": null, "description": "Indicates the state of the projects to return." }, "description": "Indicates the state of the projects to return.", "required": false, "deprecated": false, "default": "open", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["open", "closed", "all"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-received-events-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_received_github_events", "description": { "tagline": "Retrieve events received by a GitHub user.", "detailed": "Fetches events that a specified user has received on GitHub by watching repositories and following users. Access includes private events if authenticated as the user, or public events otherwise." }, "return_annotation": "User's received GitHub events.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["user_account_handle", "github_username"], "description": "The handle of the GitHub user account for which to retrieve events.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "max_results_per_page"], "description": "Specify the number of results per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "result_page_number", "alternative_names": ["page_number_results", "fetch_page_number"], "description": "Specifies the page number of results to retrieve from the GitHub events list.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/received_events", "tags": ["activity"], "summary": "List events received by the authenticated user", "description": "These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-received-public-events-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_user_received_public_events", "description": { "tagline": "Retrieve public events received by a GitHub user.", "detailed": "This tool fetches a list of public events received by a specified GitHub user. It should be called when there is a need to understand the public activities involving the user." }, "return_annotation": "A list of public events received by the user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["user_github_username", "github_username"], "description": "The GitHub handle for the user account whose public events are to be listed.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["max_results_per_page", "number_of_results_page"], "description": "The number of results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "page_index"], "description": "Specify the page number of the results you wish to fetch.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/received_events/public", "tags": ["activity"], "summary": "List public events received by a user", "description": "", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "repos/list-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_user_repos", "description": { "tagline": "Retrieve public repositories of a GitHub user.", "detailed": "This tool retrieves a list of public repositories for a specified GitHub user. It can also list internal repositories for GitHub AE. Use this tool to explore the projects a user has made publicly available on GitHub." }, "return_annotation": "A list of public repositories for the specified user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "github_user_account"], "description": "The handle for the GitHub user whose repositories you want to retrieve.", "endpoint_argument_name": "username" }, { "name": "repository_type", "alternative_names": ["repo_type", "repository_category"], "description": "Limit results to repositories of the specified type: 'all', 'owner', or 'member'.", "endpoint_argument_name": "type" }, { "name": "sort_results_by", "alternative_names": ["sorting_criteria", "order_by_property"], "description": "Specify the property to sort the repository results by. Options: 'created', 'updated', 'pushed', or 'full_name'.", "endpoint_argument_name": "sort" }, { "name": "sort_order", "alternative_names": ["order_direction", "result_order"], "description": "Specifies the order to sort the repositories. Use 'asc' for ascending and 'desc' for descending order.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["results_per_page_count", "repos_per_page"], "description": "Specify the number of repository results to be returned per page, up to a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "fetch_page_number"], "description": "The page number of results to fetch, starting from 1.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/repos", "tags": ["repos"], "summary": "List repositories for a user", "description": "Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "type", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["all", "owner", "member"], "properties": null, "inner_properties": null, "description": "Limit results to repositories of the specified type." }, "description": "Limit results to repositories of the specified type.", "required": false, "deprecated": false, "default": "owner", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["all", "owner", "member"] }, "schema_required": false }, { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated", "pushed", "full_name"], "properties": null, "inner_properties": null, "description": "The property to sort the results by." }, "description": "The property to sort the results by.", "required": false, "deprecated": false, "default": "full_name", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated", "pushed", "full_name"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`." }, "description": "The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`.", "required": false, "deprecated": false, "default": null, "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/demote-site-administrator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "demote_github_site_administrator", "description": { "tagline": "Demote a GitHub site administrator.", "detailed": "This tool is used to demote a GitHub site administrator account. It cannot be used to demote your own account. Call this tool when you need to reduce the administrative privileges of a user on GitHub Enterprise." }, "return_annotation": "Confirms the demotion of a GitHub site administrator.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_handle"], "description": "The GitHub user account handle to be demoted.", "endpoint_argument_name": "username" } ] }, "method": "DELETE", "path": "/users/{username}/site_admin", "tags": ["enterprise-admin"], "summary": "Demote a site administrator", "description": "You can demote any user account except your own.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/promote-user-to-be-site-administrator", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "promote_user_to_site_admin", "description": { "tagline": "Promote a user to site administrator on GitHub Enterprise.", "detailed": "Use this tool to elevate a user's role to site administrator within a GitHub Enterprise instance. Ensure the 'Content-Length' is set to zero when invoking this endpoint." }, "return_annotation": "Confirmation of successful promotion to site administrator.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The handle for the GitHub user account to be promoted to site administrator.", "endpoint_argument_name": "username" } ] }, "method": "PUT", "path": "/users/{username}/site_admin", "tags": ["enterprise-admin"], "summary": "Promote a user to be a site administrator", "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "users/list-ssh-signing-keys-for-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_ssh_signing_keys_for_user", "description": { "tagline": "Retrieve SSH signing keys for a specific GitHub user.", "detailed": "Use this tool to obtain the SSH signing keys associated with a given GitHub username. This operation can be performed by anyone." }, "return_annotation": "List of SSH signing keys for the specified user.", "arguments": [ { "name": "github_username", "alternative_names": ["user_handle", "user_account_handle"], "description": "The GitHub username whose SSH signing keys you want to retrieve.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["results_page_size", "items_per_page"], "description": "The number of results to display per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["page_number", "fetch_page"], "description": "Page number of the results to fetch when listing SSH signing keys.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/ssh_signing_keys", "tags": ["users"], "summary": "List SSH signing keys for a user", "description": "Lists the SSH signing keys for a user. This operation is accessible by anyone.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-repos-starred-by-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_starred_repos", "description": { "tagline": "Retrieve repositories starred by a user on GitHub.", "detailed": "Use this tool to get a list of repositories that a specified GitHub user has starred, including the option to find out when stars were created." }, "return_annotation": "A list of repositories starred by a user.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["git_user_name", "user_handle"], "description": "The GitHub user's handle (username) to retrieve starred repositories for.", "endpoint_argument_name": "username" }, { "name": "sort_repositories_by", "alternative_names": ["repositories_sort_order", "repos_sort_criteria"], "description": "Property to sort the repositories by: 'created' for star date or 'updated' for last push date.", "endpoint_argument_name": "sort" }, { "name": "sort_direction", "alternative_names": ["order_direction", "results_sort_order"], "description": "Specify the direction to sort the results: 'asc' for ascending or 'desc' for descending.", "endpoint_argument_name": "direction" }, { "name": "results_per_page", "alternative_names": ["items_per_page", "repos_per_page"], "description": "The number of repository results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "page_number", "alternative_names": ["results_page", "fetch_page"], "description": "The page number of the results to fetch, useful for pagination.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/starred", "tags": ["activity"], "summary": "List repositories starred by a user", "description": "Lists repositories a user has starred.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/enterprise-server@3.8/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "sort", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["created", "updated"], "properties": null, "inner_properties": null, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to." }, "description": "The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to.", "required": false, "deprecated": false, "default": "created", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["created", "updated"] }, "schema_required": false }, { "name": "direction", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": ["asc", "desc"], "properties": null, "inner_properties": null, "description": "The direction to sort the results by." }, "description": "The direction to sort the results by.", "required": false, "deprecated": false, "default": "desc", "location": "query", "content_type": null, "json_schema": { "type": "string", "enum": ["asc", "desc"] }, "schema_required": false }, { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "activity/list-repos-watched-by-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "list_watched_repos", "description": { "tagline": "Retrieve a list of repositories a user watches on GitHub.", "detailed": "Use this tool to obtain the repositories that a specified GitHub user is watching." }, "return_annotation": "A list of repositories the user is watching.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_github_handle"], "description": "The GitHub handle of the user whose watched repositories are to be retrieved.", "endpoint_argument_name": "username" }, { "name": "results_per_page", "alternative_names": ["repos_per_page", "items_per_page"], "description": "Specify the number of repository results to return per page, with a maximum of 100.", "endpoint_argument_name": "per_page" }, { "name": "results_page_number", "alternative_names": ["fetch_page_number", "repository_page_number"], "description": "Page number of the results to fetch for the user's watched repositories.", "endpoint_argument_name": "page" } ] }, "method": "GET", "path": "/users/{username}/subscriptions", "tags": ["activity"], "summary": "List repositories watched by a user", "description": "Lists repositories a user is watching.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [ { "name": "per_page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The number of results per page (max 100)." }, "description": "The number of results per page (max 100).", "required": false, "deprecated": false, "default": 30, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false }, { "name": "page", "value_schema": { "val_type": "integer", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Page number of the results to fetch." }, "description": "Page number of the results to fetch.", "required": false, "deprecated": false, "default": 1, "location": "query", "content_type": null, "json_schema": { "type": "integer" }, "schema_required": false } ], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false }, { "name": "enterprise-admin/unsuspend-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "unsuspend_github_user", "description": { "tagline": "Unsuspend a user on GitHub Enterprise.", "detailed": "This tool unsuspends a user on a GitHub Enterprise instance. It is disabled if the GitHub instance uses LDAP Sync with Active Directory LDAP servers, in which case it returns a `403` response. It should be called to restore access to a suspended user." }, "return_annotation": "Confirmation of unsuspension or error information.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_account_name", "git_user_identifier"], "description": "The GitHub user handle to identify the user account to unsuspend.", "endpoint_argument_name": "username" }, { "name": "unsuspension_reason", "alternative_names": ["user_unsuspension_reason", "unsuspend_reason"], "description": "The reason for unsuspending the user, logged in the audit log. Defaults to \"Unsuspended via API by _SITE_ADMINISTRATOR_\" if not provided.", "endpoint_argument_name": "reason" } ] }, "method": "DELETE", "path": "/users/{username}/suspended", "tags": ["enterprise-admin"], "summary": "Unsuspend a user", "description": "If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API.", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "reason", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The reason the user is being unsuspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \"Unsuspended via API by _SITE\\_ADMINISTRATOR_\", where _SITE\\_ADMINISTRATOR_ is the person who performed the action." }, "description": "The reason the user is being unsuspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \"Unsuspended via API by _SITE\\_ADMINISTRATOR_\", where _SITE\\_ADMINISTRATOR_ is the person who performed the action.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The reason the user is being unsuspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \"Unsuspended via API by _SITE\\_ADMINISTRATOR_\", where _SITE\\_ADMINISTRATOR_ is the person who performed the action." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"reason\": {\n \"value\": {\n \"reason\": \"Unsuspended after leave of absence.\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"reason\": {\n \"description\": \"The reason the user is being unsuspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \\\"Unsuspended via API by _SITE\\\\_ADMINISTRATOR_\\\", where _SITE\\\\_ADMINISTRATOR_ is the person who performed the action.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n }\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "enterprise-admin/suspend-user", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "suspend_github_user", "description": { "tagline": "Suspend a user on a GitHub Enterprise instance.", "detailed": "Use this tool to suspend a non-Active Directory LDAP-authenticated user on a GitHub Enterprise instance. Ensure the user is not authenticated via Active Directory LDAP as the API will not support it and will return a 403 response. This action cannot be performed on your own account." }, "return_annotation": "Confirmation of user suspension on GitHub.", "arguments": [ { "name": "github_user_handle", "alternative_names": ["github_username", "user_account_handle"], "description": "The GitHub username to suspend, excluding Active Directory LDAP-authenticated users.", "endpoint_argument_name": "username" }, { "name": "suspension_reason", "alternative_names": ["user_suspension_reason", "suspension_cause"], "description": "A string detailing why the user is being suspended, which will be logged in the audit log. If omitted, a default message is used.", "endpoint_argument_name": "reason" } ] }, "method": "PUT", "path": "/users/{username}/suspended", "tags": ["enterprise-admin"], "summary": "Suspend a user", "description": "If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.8/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response.\n\nYou can suspend any user account except your own.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/enterprise-server@3.8/rest/overview/resources-in-the-rest-api#http-verbs).\"", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [ { "name": "username", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The handle for the GitHub user account." }, "description": "The handle for the GitHub user account.", "required": true, "deprecated": false, "default": null, "location": "path", "content_type": null, "json_schema": { "type": "string" }, "schema_required": false } ], "header": [], "cookie": [], "body": [ { "name": "reason", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "The reason the user is being suspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \"Suspended via API by _SITE\\_ADMINISTRATOR_\", where _SITE\\_ADMINISTRATOR_ is the person who performed the action." }, "description": "The reason the user is being suspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \"Suspended via API by _SITE\\_ADMINISTRATOR_\", where _SITE\\_ADMINISTRATOR_ is the person who performed the action.", "required": false, "deprecated": false, "default": null, "location": "body", "content_type": "application/json", "json_schema": { "type": "string", "description": "The reason the user is being suspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \"Suspended via API by _SITE\\_ADMINISTRATOR_\", where _SITE\\_ADMINISTRATOR_ is the person who performed the action." }, "schema_required": false } ] }, "request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"examples\": {\n \"reason\": {\n \"value\": {\n \"reason\": \"Suspended during leave of absence.\"\n }\n }\n },\n \"schema\": {\n \"nullable\": true,\n \"properties\": {\n \"reason\": {\n \"description\": \"The reason the user is being suspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.8/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to \\\"Suspended via API by _SITE\\\\_ADMINISTRATOR_\\\", where _SITE\\\\_ADMINISTRATOR_ is the person who performed the action.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n }\n },\n \"required\": false\n}", "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": true }, { "name": "meta/get-zen", "selected_for_wrapping": false, "spec_built": true, "wrap_finished": true, "should_skip": false, "skip_reason": null, "wrapper_tool": { "name": "get_random_github_zen", "description": { "tagline": "Fetch a random Zen of GitHub sentence.", "detailed": "Retrieves a random inspirational sentence from GitHub's Zen collection, useful for inspiration or fun." }, "return_annotation": "A random sentence from the Zen of GitHub.", "arguments": [] }, "method": "GET", "path": "/zen", "tags": ["meta"], "summary": "Get the Zen of GitHub", "description": "Get a random sentence from the Zen of GitHub", "requires_security": false, "oauth_scopes": [], "security_schemes": [], "parameters": { "query": [], "path": [], "header": [], "cookie": [], "body": [] }, "request_body_spec": null, "use_request_body_schema_mode": false, "validate_request_body_schema": false, "use_flatten_mode": false } ], "security_scheme_key_selected": null, "security_scheme_selected": {} }