Module Current_github.Api

type t

Configuration for accessing GitHub.

type refs

Reference information for the repository

module Status : sig ... end
module Commit : sig ... end
module Repo : sig ... end
module Ref : sig ... end
module Ref_map : Stdlib.Map.S with type Ref_map.key = Ref.t
val of_oauth : string -> t

of_oauth token is a configuration that authenticates to GitHub using token.

val exec_graphql : ?⁠variables:(string * Yojson.Safe.t) list -> t -> string -> Yojson.Safe.t Lwt.t

exec_graphql t query executes query on GitHub.

val head_commit : t -> Repo_id.t -> Commit.t Current.t

head_commit t repo evaluates to the commit at the head of the default branch in repo.

val head_of : t -> Repo_id.t -> Ref.t -> Commit.t Current.t

head_of t repo id evaluates to the commit at the head of id in repo. e.g. head_of t repo (`Ref "refs/heads/master")

val ci_refs : ?⁠staleness:Duration.t -> t -> Repo_id.t -> Commit.t list Current.t

ci_refs t repo evaluates to the list of branches and open PRs in repo, excluding gh-pages.

parameter staleness

If given, commits older than this are excluded. Note: the main branch commit is always included, even if stale.

val refs : t -> Repo_id.t -> refs Current.Primitive.t

refs t repo is the primitive for all the references in repo. This is the low-level API for getting the refs. It is used internally by ci_refs and head_of but in some cases you may want to use it directly, default_ref and all_refs will expose useful information for you. The result is cached (so calling it twice will return the same primitive).

val default_ref : refs -> string

default_ref refs will return the full name of the repository's default branch ref

val all_refs : refs -> Commit.t Ref_map.t

all_refs refs will return a map of all the repository's refs

module Anonymous : sig ... end
val cmdliner : t Cmdliner.Term.t

Command-line options to generate a GitHub configuration.