package b0

  1. Overview
  2. Docs

GitHub interaction.

GitHub authentication

type auth

The type for GitHub authentication.

val auth : user:string -> unit -> (auth, string) result

auth ~http ~user () determines a personal access token for user user. It first looks up the contents of the B0_GITHUB_TOKEN environment variable if that fails it looks up for an existing token in the Os.Dir.config () /github/b0-$USER.token file. If that fails instructions are printed on how to setup the token.

GitHub API requests

type content_type = string

The type for content types.

type v3_body = [
  1. | `Json of B0_web.Jsong.t
  2. | `Other of content_type * string
  3. | `Empty
]

The type for GitHub V3 request bodies. Either JSON or something else tagged with its content type or nothing.

val req_json_v3 : ?headers:B0_web.Http.headers -> B0_web.Http.t -> auth -> path:string -> B0_web.Http.meth -> v3_body -> (B0_web.Json.t, string) result

req_json_v3 auth path m ~headers body performs the request for json on path using method m, additional headers headers, body body and authentication auth.

val query_v4 : B0_web.Http.t -> auth -> string -> (B0_web.Json.t, string) result

query_v4 auth q performs the the GitHub GraphQL V4 query q using authentication auth.

Higher-level interface

module Repo : sig ... end

GitHub repositories.

module Issue : sig ... end

Repository issues.

module Release : sig ... end

Repository releases.

module Pages : sig ... end

Publish to GitHub pages.

OCaml

Innovation. Community. Security.