Skip to content

About

A client for the GitHub REST and GraphQL API: repositories, issues, pull requests, releases with assets, branches, tags, files and Actions

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

@deckyard/github

test Documentation release

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.

Documentation

Install

jvc add @deckyard/github

This vendors the deck to vendor/<scope>/github/. Without jvc, unpack the src/ subtree of a release archive (<scope>-github-<version>.tar.gz) there.

Usage

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"));

Requirements

Jennifer 0.26.0 or newer, the default jennifer binary (not jennifer-tiny), and the net capability.

Development

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 archive

Licence

LGPL-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.

About

A client for the GitHub REST and GraphQL API: repositories, issues, pull requests, releases with assets, branches, tags, files and Actions

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors