A client for the GitHub REST and GraphQL API, for
Jennifer programs: github.com or GitHub
Enterprise Server. Repositories with their collaborators and webhooks;
issues, comments, labels and milestones; pull requests, reviews and
merging; releases with their assets; branches, tags and files; commits,
commit statuses, check runs and Actions. call, getAll and graphql
reach everything else. Actions secrets are sealed on the machine before
they are sent.
jvc add @deckyard/githubThis vendors the deck to vendor/<scope>/github/. Without jvc, unpack the
src/ subtree of a release archive (<scope>-github-<version>.tar.gz) there.
import "@deckyard/github/" as github;
def c as github.Client init github.client("github.com");
$c = github.withToken($c, os.getEnv("GITHUB_TOKEN"));
for (def i in github.issues($c, "me/app", "open")) {
io.printf("#%d %s\n", $i.number, $i.title);
}
def rel as github.Release init github.createRelease($c, "me/app", "1.2.0", "", "", "Notes", false);
github.uploadAsset($c, "me/app", $rel.id, "app.tar.gz", "application/gzip", fs.readBytes("dist/app.tar.gz"));
Jennifer 0.26.0 or newer, the default jennifer binary (not
jennifer-tiny), and the net capability.
tools/check-all.sh # the full gate, as CI runs it
jennifer test src/github_test.j # the test overlay
tools/check-docs.sh # docs against the code
tools/pack.sh dist # build the release archiveLGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <[email protected]>.
tools/check-headers.sh checks every source file's SPDX header against
deck.toml.