Open Context Protocol is live! 🚀 Read the launch post
reposUpdateRelease

reposUpdateRelease

Update a release

Details

  • Method: PATCH
  • Path: /repos/{owner}/{repo}/releases/{release_id}
  • Operation ID: repos/update-release

Parameters

{
  "owner": {
    "description": "The account owner of the repository. The name is not case sensitive.",
    "required": true,
    "location": "path",
    "type": "string"
  },
  "repo": {
    "description": "The name of the repository without the `.git` extension. The name is not case sensitive.",
    "required": true,
    "location": "path",
    "type": "string"
  },
  "release_id": {
    "description": "The unique identifier of the release.",
    "required": true,
    "location": "path",
    "type": "integer"
  },
  "tag_name": {
    "description": "The name of the tag.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "target_commitish": {
    "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.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "name": {
    "description": "The name of the release.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "body": {
    "description": "Text describing the contents of the tag.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "draft": {
    "description": "`true` makes the release a draft, and `false` publishes the release.",
    "required": false,
    "location": "body",
    "type": "boolean"
  },
  "prerelease": {
    "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release.",
    "required": false,
    "location": "body",
    "type": "boolean"
  },
  "make_latest": {
    "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,
    "location": "body",
    "type": "string",
    "enum": [
      "true",
      "false",
      "legacy"
    ]
  },
  "discussion_category_name": {
    "description": "If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see \"[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository).\"",
    "required": false,
    "location": "body",
    "type": "string"
  }
}

Response Schema

{
  "title": "Release",
  "description": "A release.",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri"
    },
    "html_url": {
      "type": "string",
      "format": "uri"
    },
    "assets_url": {
      "type": "string",
      "format": "uri"
    },
    "upload_url": {
      "type": "string"
    },
    "tarball_url": {
      "type": "string",
      "format": "uri",
      "nullable": true
    },
    "zipball_url": {
      "type": "string",
      "format": "uri",
      "nullable": true
    },
    "id": {
      "type": "integer"
    },
    "node_id": {
      "type": "string"
    },
    "tag_name": {
      "description": "The name of the tag.",
      "example": "v1.0.0",
      "type": "string"
    },
    "target_commitish": {
      "description": "Specifies the commitish value that determines where the Git tag is created from.",
      "example": "master",
      "type": "string"
    },
    "name": {
      "type": "string",
      "nullable": true
    },
    "body": {
      "type": "string",
      "nullable": true
    },
    "draft": {
      "description": "true to create a draft (unpublished) release, false to create a published one.",
      "example": false,
      "type": "boolean"
    },
    "prerelease": {
      "description": "Whether to identify the release as a prerelease or a full release.",
      "example": false,
      "type": "boolean"
    },
    "immutable": {
      "description": "Whether or not the release is immutable.",
      "example": false,
      "type": "boolean"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "published_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "updated_at": {
      "type": "string",
      "nullable": true,
      "format": "date-time"
    },
    "author": {
      "title": "Simple User",
      "description": "A GitHub user.",
      "type": "object",
      "properties": {
        "name": {
          "nullable": true,
          "type": "string"
        },
        "email": {
          "nullable": true,
          "type": "string"
        },
        "login": {
          "type": "string",
          "example": "octocat"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "example": 1
        },
        "node_id": {
          "type": "string",
          "example": "MDQ6VXNlcjE="
        },
        "avatar_url": {
          "type": "string",
          "format": "uri",
          "example": "https://github.com/images/error/octocat_happy.gif"
        },
        "gravatar_id": {
          "type": "string",
          "example": "41d064eb2195891e12d0413f63227ea7",
          "nullable": true
        },
        "url": {
          "type": "string",
          "format": "uri",
          "example": "https://api.github.com/users/octocat"
        },
        "html_url": {
          "type": "string",
          "format": "uri",
          "example": "https://github.com/octocat"
        },
        "followers_url": {
          "type": "string",
          "format": "uri",
          "example": "https://api.github.com/users/octocat/followers"
        },
        "following_url": {
          "type": "string",
          "example": "https://api.github.com/users/octocat/following{/other_user}"
        },
        "gists_url": {
          "type": "string",
          "example": "https://api.github.com/users/octocat/gists{/gist_id}"
        },
        "starred_url": {
          "type": "string",
          "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
        },
        "subscriptions_url": {
          "type": "string",
          "format": "uri",
          "example": "https://api.github.com/users/octocat/subscriptions"
        },
        "organizations_url": {
          "type": "string",
          "format": "uri",
          "example": "https://api.github.com/users/octocat/orgs"
        },
        "repos_url": {
          "type": "string",
          "format": "uri",
          "example": "https://api.github.com/users/octocat/repos"
        },
        "events_url": {
          "type": "string",
          "example": "https://api.github.com/users/octocat/events{/privacy}"
        },
        "received_events_url": {
          "type": "string",
          "format": "uri",
          "example": "https://api.github.com/users/octocat/received_events"
        },
        "type": {
          "type": "string",
          "example": "User"
        },
        "site_admin": {
          "type": "boolean"
        },
        "starred_at": {
          "type": "string",
          "example": "\"2020-07-09T00:17:55Z\""
        },
        "user_view_type": {
          "type": "string",
          "example": "public"
        }
      },
      "required": [
        "avatar_url",
        "events_url",
        "followers_url",
        "following_url",
        "gists_url",
        "gravatar_id",
        "html_url",
        "id",
        "node_id",
        "login",
        "organizations_url",
        "received_events_url",
        "repos_url",
        "site_admin",
        "starred_url",
        "subscriptions_url",
        "type",
        "url"
      ]
    },
    "assets": {
      "type": "array",
      "items": {
        "title": "Release Asset",
        "description": "Data related to a release.",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "browser_download_url": {
            "type": "string",
            "format": "uri"
          },
          "id": {
            "type": "integer"
          },
          "node_id": {
            "type": "string"
          },
          "name": {
            "description": "The file name of the asset.",
            "type": "string",
            "example": "Team Environment"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "description": "State of the release asset.",
            "type": "string",
            "enum": [
              "uploaded",
              "open"
            ]
          },
          "content_type": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "digest": {
            "type": "string",
            "nullable": true
          },
          "download_count": {
            "type": "integer"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "uploader": {
            "title": "Simple User",
            "description": "A GitHub user.",
            "type": "object",
            "properties": {
              "name": {
                "nullable": true,
                "type": "string"
              },
              "email": {
                "nullable": true,
                "type": "string"
              },
              "login": {
                "type": "string",
                "example": "octocat"
              },
              "id": {
                "type": "integer",
                "format": "int64",
                "example": 1
              },
              "node_id": {
                "type": "string",
                "example": "MDQ6VXNlcjE="
              },
              "avatar_url": {
                "type": "string",
                "format": "uri",
                "example": "https://github.com/images/error/octocat_happy.gif"
              },
              "gravatar_id": {
                "type": "string",
                "example": "41d064eb2195891e12d0413f63227ea7",
                "nullable": true
              },
              "url": {
                "type": "string",
                "format": "uri",
                "example": "https://api.github.com/users/octocat"
              },
              "html_url": {
                "type": "string",
                "format": "uri",
                "example": "https://github.com/octocat"
              },
              "followers_url": {
                "type": "string",
                "format": "uri",
                "example": "https://api.github.com/users/octocat/followers"
              },
              "following_url": {
                "type": "string",
                "example": "https://api.github.com/users/octocat/following{/other_user}"
              },
              "gists_url": {
                "type": "string",
                "example": "https://api.github.com/users/octocat/gists{/gist_id}"
              },
              "starred_url": {
                "type": "string",
                "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
              },
              "subscriptions_url": {
                "type": "string",
                "format": "uri",
                "example": "https://api.github.com/users/octocat/subscriptions"
              },
              "organizations_url": {
                "type": "string",
                "format": "uri",
                "example": "https://api.github.com/users/octocat/orgs"
              },
              "repos_url": {
                "type": "string",
                "format": "uri",
                "example": "https://api.github.com/users/octocat/repos"
              },
              "events_url": {
                "type": "string",
                "example": "https://api.github.com/users/octocat/events{/privacy}"
              },
              "received_events_url": {
                "type": "string",
                "format": "uri",
                "example": "https://api.github.com/users/octocat/received_events"
              },
              "type": {
                "type": "string",
                "example": "User"
              },
              "site_admin": {
                "type": "boolean"
              },
              "starred_at": {
                "type": "string",
                "example": "\"2020-07-09T00:17:55Z\""
              },
              "user_view_type": {
                "type": "string",
                "example": "public"
              }
            },
            "required": [
              "avatar_url",
              "events_url",
              "followers_url",
              "following_url",
              "gists_url",
              "gravatar_id",
              "html_url",
              "id",
              "node_id",
              "login",
              "organizations_url",
              "received_events_url",
              "repos_url",
              "site_admin",
              "starred_url",
              "subscriptions_url",
              "type",
              "url"
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "content_type",
          "size",
          "digest",
          "state",
          "url",
          "node_id",
          "download_count",
          "label",
          "uploader",
          "browser_download_url",
          "created_at",
          "updated_at"
        ]
      }
    },
    "body_html": {
      "type": "string"
    },
    "body_text": {
      "type": "string"
    },
    "mentions_count": {
      "type": "integer"
    },
    "discussion_url": {
      "description": "The URL of the release discussion.",
      "type": "string",
      "format": "uri"
    },
    "reactions": {
      "title": "Reaction Rollup",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "total_count": {
          "type": "integer"
        },
        "+1": {
          "type": "integer"
        },
        "-1": {
          "type": "integer"
        },
        "laugh": {
          "type": "integer"
        },
        "confused": {
          "type": "integer"
        },
        "heart": {
          "type": "integer"
        },
        "hooray": {
          "type": "integer"
        },
        "eyes": {
          "type": "integer"
        },
        "rocket": {
          "type": "integer"
        }
      },
      "required": [
        "url",
        "total_count",
        "+1",
        "-1",
        "laugh",
        "confused",
        "heart",
        "hooray",
        "eyes",
        "rocket"
      ]
    }
  },
  "required": [
    "assets_url",
    "upload_url",
    "tarball_url",
    "zipball_url",
    "created_at",
    "published_at",
    "draft",
    "id",
    "node_id",
    "author",
    "html_url",
    "name",
    "prerelease",
    "tag_name",
    "target_commitish",
    "assets",
    "url"
  ]
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('github')

# Call this tool
result = await agent.call_tool('reposUpdateRelease', {
    # Add required parameters here
})