package lab
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=b7735b3002a39c2553a1fe43e7b90eeb80a07d0a37da0f6da9908d1f131d734b
sha512=c0d05519666979285ddbaf982c50c90d0c97b0b4d9d2223aefd69e40f18249fdd2f15250871a12dba61ff00e9ad5c312526c3bf1f805f66d1fa154623d01fbc6
Description
Experimental GitLab cli in the style of GitHub's gh and hub commands.
Published: 09 Feb 2023
README
Gitlab bindings for OCaml
Native OCaml bindings to Gitlab REST API v4.
The API coverage is incomplete (currently we support many of the Commit, Project, User and Event APIs) but if you find something missing please create an Issue or PR.
Pre-requisites
Plain opam / ocaml for building.
Configuration
Gitlab can be hosted in multiple places and configurations. By default the library uses the public gitlab.com
site with it's API endpoint of https://gitlab.com/api/v4
. This can be changed with:
GITLAB_URL # to configure the GitLab instance to connect to.
or programatically by overriding the Env
module.
Debugging
Two environment variables will cause more debugging to be output:
GITLAB_DEBUG=1 # API calls output to stderr
COHTTP_DEBUG=1 # even more HTTP-level debugging
If using the bindings from the toplevel, you can also set Gitlab.log_active
to true
to get the same effect as setting the GITLAB_DEBUG
environment variable.
Lab Cli
A command line client is provided called lab
in the style of a similarly named tool hub
for GitHub. From source you can run as:
dune exec -- lab <arguments>
If you opam install lab then the executable is available as lab
.
Run lab -h
for more information about cli options.
Tests
Running mdx tests for lab cli:
# Run integration tests against real gitlab instance
dune runtest --profile non-deterministic
# Promote any changes
dune runtest --profile non-deterministic --auto-promote
NOTE that ocaml-ci doesn't run these tests, any changes to the cli need to be validated manually.
Resources
Dependencies (7)
-
fmt
>= "0.9.0"
-
otoml
>= "0.9.0"
-
cohttp-lwt-unix
>= "4.0"
-
gitlab-unix
= version
-
cmdliner
>= "1.1.0"
-
ocaml
>= "4.08.0"
-
dune
>= "2.9"
Used by
None
Conflicts
None