arcade-mcp/toolkits/github_api/arcade_github_api/wrapper_tools/CreateGithubDeployKey.json
jottakka de742ff4f1
[MOAR][Asana][Github] Adding GitHub and Asana starter toolkits (#663)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-30 18:21:34 -03:00

249 lines
11 KiB
JSON

{
"name": "CreateGithubDeployKey",
"fully_qualified_name": "GithubApi.CreateGithubDeployKey@0.1.0",
"description": "Create a read-only deploy key for a GitHub repository.\n\nUse this tool to generate a read-only deploy key for a specified GitHub repository. Ideal for automating and securing repository access.",
"toolkit": {
"name": "ArcadeGithubApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "repository_owner",
"required": true,
"description": "The account owner of the GitHub repository. Name is not case sensitive.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account owner of the repository. The name is not case sensitive."
},
"inferrable": true,
"http_endpoint_parameter_name": "owner"
},
{
"name": "repository_name",
"required": true,
"description": "The case-insensitive name of the GitHub repository.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the repository. The name is not case sensitive."
},
"inferrable": true,
"http_endpoint_parameter_name": "repo"
},
{
"name": "deploy_key_contents",
"required": true,
"description": "The public key contents to be added as a deploy key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The contents of the key."
},
"inferrable": true,
"http_endpoint_parameter_name": "key"
},
{
"name": "key_title",
"required": false,
"description": "A name for the deploy key for identification purposes.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A name for the key."
},
"inferrable": true,
"http_endpoint_parameter_name": "title"
},
{
"name": "read_only_access",
"required": false,
"description": "Set to `true` for read-only access. `False` allows both read and write access.",
"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/).\""
},
"inferrable": true,
"http_endpoint_parameter_name": "read_only"
}
]
},
"output": {
"description": "Response from the API endpoint 'repos/create-deploy-key'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-github",
"provider_type": "oauth2",
"id": null,
"oauth2": null
},
"secrets": [
{
"key": "GIT_SERVER_URL"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the GitHub API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "{git_server_url}/api/v3/repos/{owner}/{repo}/keys",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "owner",
"tool_parameter_name": "repository_owner",
"description": "The account owner of the repository. The name is not case sensitive.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account owner of the repository. The name is not case sensitive."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "repo",
"tool_parameter_name": "repository_name",
"description": "The name of the repository. The name is not case sensitive.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the repository. The name is not case sensitive."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "key",
"tool_parameter_name": "deploy_key_contents",
"description": "The contents of the key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The contents of the key."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "read_only",
"tool_parameter_name": "read_only_access",
"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/).\"",
"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/).\""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "title",
"tool_parameter_name": "key_title",
"description": "A name for the key.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A name for the key."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "GIT_SERVER_URL",
"parameter_name": "git_server_url",
"accepted_as": "path",
"formatted_value": null,
"description": "",
"is_auth_token": false
},
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
],
"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
}
}