package github
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=b6304dce6ec33503e225ade600af194e1fc3976624ea83f546c7ab27ec8cfeb7
sha512=754f0a2bce5a2cb3b2355530708e3dab1d8a32401fa2a300b5eba37bf37e63d75d21d42595e7cd60b9a20beba054dd3b45675d51201a4aa8812ce5db400ab758
doc/github/Github_core/Make/index.html
Module Github_core.Make
Source
Parameters
module Env : Github_s.Env
module Time : Github_s.Time
module CL : Cohttp_lwt.S.Client
Signature
API Concepts
Message
may be raised by any API call when the GitHub service returns an unexpected response code. Typical reasons for this exception are insufficient permissions or missing resources.
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.
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.
Each request to GitHub is made to a specific Endpoint
in GitHub's REST-like API.
The Stream
module provides an abstraction to GitHub's paginated endpoints. Stream creation does not initiate any network activity. When requests are made, results are buffered internally. Streams are not mutable.
rate
is a type used to indicate which rate-limiting regime is to be used for query quota accounting. rate
is used by the function in API
.
Some results may require 2-factor authentication. Result
values do not. Two_factor
values contain the mode by which a 2FA code will be delivered. This code is required as ?otp
to a subsequent invocation of the function which returns this type.
'a parse
is the type of functions which extract meaningful values from GitHub responses.
'a handler
is the type of response handlers which consist of an activation predicate (fst) and a parse function (snd).
log_active
regulates debug messages. It is true
by default when the environment variable GITHUB_DEBUG
is set to 1.
The Scope
module abstracts GitHub's authorization scopes.
The Token
module manipulates authorization tokens. GitHub has two types of tokens: OAuth application tokens and "personal tokens".
The API
module contains functionality that relates to the entirety of the GitHub API and these bindings. In particular, this module contains:
The URI
module contains URI generation functions which may be useful for linking on the Web or passing to other GitHub API clients.
The Filter
module contains types used by search and enumeration interfaces which describe ways to perform result filtering directly in the GitHub API.
API Modules
The Rate_limit
module contains explicit rate limit API request functions which do not read the rate limit cache but do write to it.
The Organization
module exposes the functionality of the GitHub organization API.
The Team
module contains functionality relating to GitHub's team API.
The Repo
module offers the functionality of GitHub's repository API.
The Stats
module exposes the functionality of GitHub's repository statistics API which provides historical data regarding the aggregate behavior of a repository.
The Status
module provides the functionality of GitHub's status API.
The Pull
module contains functionality relating to GitHub's pull request API.
The Label
module exposes Github's labels API.
The Collaborator
module exposes Github's collaborators API.
The Milestone
module exposes GitHub's milestone API.
The Release
module provides access to GitHub's release API features.
The Deploy_key
module provides the means to manage per-repository deploy keys.
The Search
module exposes GitHub's search interfaces.