Usage #
// Import the typed helper
import { createRelease } from "@hotglue/sdk/github";
const result = await client.execute({
...createRelease({
owner: string,
repo: string,
tag_name: string,
// ...
}),
userId: "user_123",
});
// result is typed as CreateReleaseOutput
const result = await client.execute({
integration: "github",
tool: "create_release",
userId: "user_123",
input: {
owner: string,
repo: string,
tag_name: string,
// ...
},
});
// The agent will automatically use this tool when needed
const agent = new Agent({
tools: () => hotglueTools({
integrations: ["github"],
userId: "user_123",
}),
});
await agent.generate("run the Create Release tool");
Required Permissions #
repo
Input Schema #
owner
string
required
Repository owner
repo
string
required
Repository name
tag_name
string
required
Tag name for the release
target_commitish
string
Target branch or commit SHA (defaults to default branch)
name
string
Release name
body
string
Release notes (supports Markdown)
draft
bool
Create as draft
default:
false
prerelease
bool
Mark as pre-release
default:
false
generate_release_notes
bool
Auto-generate release notes
default:
false
Output Schema #
id
int
required
tag_name
string
required
name
string
html_url
string
required
upload_url
string
This tool calls: #
POST
https://api.github.com/repos/{owner}/{repo}/releases