Gitlab APIv4 OCaml library
Module Gitlab
include Gitlab_s.Gitlab
type rate_limit = {
limit : int;
remaining : int;
reset : float;
type rates = {
core : rate_limit option;
module Response : sig ... end

Functions corresponding to direct API requests return Response.t values inside of Monad.t values so that more information about the request can be made available. Monad.(>>~) is a convenience operator that lets you bind directly to the carried value.

module Monad : sig ... end

All API requests are bound through this monad which encapsulates an Lwt cooperative thread and includes some state which may be set via API functions.

module Scope : sig ... end

The Scope module abstracts GitLab's authorization scopes.

module Token : sig ... end

Authentication Token for accessing GitLab APIs.

type +'a parse = string -> 'a Lwt.t

'a parse is the type of functions which extract meaningful values from GitLab responses.

type 'a handler = ( (Cohttp.Response.t * string) -> bool ) * 'a

'a handler is the type of response handlers which consist of an activation predicate (fst) and a parse function (snd).

module Endpoint : sig ... end

Each request to GitLab is made to a specific Endpoint in GitLab's REST-like API.

module Stream : sig ... end

The Stream module provides an abstraction to GitLab's paginated endpoints. Stream creation does not initiate any network activity. When requests are made, results are buffered internally. Streams are not mutable.

module API : sig ... end

Perform GitLab API requests.

module Event : sig ... end

User contribution events.

module User : sig ... end

The User module provides access to User API.

module Project : sig ... end

The Project module provides access to Project API.

module Group : sig ... end

The Group module provides access to Group API.

module Runners : sig ... end

The Runners module provides access to Runners API.