← All Modules

assay.github

GitHub REST API client. PRs, issues, actions, repositories, GraphQL, releases. No gh CLI dependency. Authentication via GITHUB_TOKEN / GH_TOKEN env vars or explicit token opt.

Client

local github = require("assay.github")
local c = github.client({ token = "...", base_url = "https://api.github.com" })

Pull Requests (c.pulls)

Issues (c.issues)

Repositories (c.repos)

Workflow Runs (c.runs)

GraphQL

Releases (module-level)

These are top-level functions on the module — no client needed. Token falls back to GITHUB_TOKEN / GH_TOKEN env vars. Pass opts.base_url to point at GitHub Enterprise.

Example

local github = require("assay.github")

local rel    = github.latest_release("rustic-rs", "rustic")
print(rel.version)  -- e.g. "0.10.0"

local sha256 = github.release_checksum(rel, {
  asset_pattern = "x86_64%-unknown%-linux%-musl%.tar%.gz$",
  digest        = "sha256",
})
print(sha256)