> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Upload GitHub release asset

> Upload binary content to a GitHub release.

`github.uploadReleaseAsset` uploads one Base64-encoded file to a release.

```ts automations/upload-github-release-asset.automation.ts theme={null}
import { automation } from "automate.ax"
import { github } from "automate.ax/github"

export default automation("Upload GitHub release asset", () => {
  github.uploadReleaseAsset({
    contentType: "application/zip",
    dataBase64: "UEsDBAoAAAAAA...",
    name: "automate-ax.zip",
    owner: "SentsCo",
    releaseId: 123456,
    repository: "automate.ax",
  })
})
```

Provide the repository, `releaseId`, file `name`, media `contentType`, and valid Base64 `dataBase64`. Optional `label` sets a display label. Returns the asset's `id`, `name`, `size`, `state`, and `browser_download_url`. GitHub rejects duplicate asset names on one release. Requires Contents write permission.
