package gitlab

  1. Overview
  2. Docs

The Project module provides access to Project API.

val create : token:Token.t -> name:string -> ?description:string -> unit -> Gitlab_t.project_short Response.t Monad.t

create ~token ~name ?description () Creates a new project owned by the authenticated user.

See Create project.

val by_name : ?token:Token.t -> owner:string -> name:string -> unit -> Gitlab_t.projects_short Response.t Monad.t

by_name ~owner ~name () retrieves projects owned by owner with a name like name. Depending on the name used this will return 1 or more matches. Supply a token to access private projects.

There is no direct fetch by name API in GitLab.

val by_id : ?token:Token.t -> project_id:int -> unit -> Gitlab_t.project_short option Response.t Monad.t

by_id ~project_id retrieve the project for project_id, returns None if the project doesn't exist. Supply a token to access private projects.

See Get a single project.

module Branch : sig ... end
val merge_requests : ?token:Token.t -> ?state:Gitlab_t.state -> ?milestone:string -> ?labels:string list -> ?author:string -> ?author_username:string -> ?my_reaction:string -> ?scope:Gitlab_t.merge_request_scope -> id:int -> unit -> Gitlab_t.merge_request Stream.t

merge_requests ?token ~id () list all merge requests for project id.

See List project merge requests.

val merge_request : ?token:Token.t -> project_id:int -> merge_request_iid:string -> unit -> Gitlab_t.merge_request Response.t Monad.t

merge_request ?token ~project_id ~merge_request_iid () shows information about a single merge request.

See Get single merge request.

val merge_request_participants : ?token:Token.t -> project_id:int -> merge_request_iid:string -> unit -> Gitlab_t.users Response.t Monad.t

merge_request_participants ?token ~project_id ~merge_request_iid () gets a list of merge request participants.

See Get a list of merge request participants.

val merge_request_commits : ?token:Token.t -> project_id:int -> merge_request_iid:string -> unit -> Gitlab_t.commits Response.t Monad.t

merge_request_commits ?token ~project_id ~merge_request_iid () gets a list of merge request commits.

See Get single merge request commits.

val merge_request_changes : ?token:Token.t -> project_id:int -> merge_request_iid:string -> unit -> Gitlab_t.changes Response.t Monad.t

merge_request_changes ?token ~project_id ~merge_request_iid () shows information about the merge request including its files and changes.

See Get single MR changes.

val events : token:Token.t -> project_id:int -> ?action:Gitlab_t.event_action_name -> ?target_type:Gitlab_t.event_target_type -> unit -> Gitlab_t.events Response.t Monad.t

events ~project_id get visible events for a project.

See List a projects visible events.

val all_projects : token:Token.t -> ?owned:bool -> ?search:string -> ?with_programming_language:string -> unit -> Gitlab_t.project_short Stream.t

all_projects ~token () Get a list of all visible projects across GitLab for the authenticated user.

See List all projects.

module ExternalStatusCheck : sig ... end
module Commit : sig ... end

Commit operates on a repository's commits.

module Milestone : sig ... end

Milestone operates on a Project's milestones. There is a separate Group Milestone module.

module ProjectAccessToken : sig ... end

Project access tokens for Project authentication.

module Issue : sig ... end