git_lab_cli-0.13.1 is not a library.
git_lab_cli
ALPHA - what is here works, but functionality is still under active development.
This is a cli tool that adds the lab command to git to enable interaction with a GitLab server.
Functionality
The tool is designed to work as a custom command to the vanilla git cli command.
Current functions
init-- initialise credentials against a remote GitLab serverproject-- interact with GitLab projectsproject create-- create projectproject attach-- associate a local repo with a projectproject (open|view|browse)-- open project's URL in browserproject (show|info|get)-- show details about a project
issue-- interact with issuesissue create-- create issue (either entirely via cli-passed parameters, or interactively, by prompting the user for the inputs needed)issue (open|view|browse)-- open issue's URL in browserissue (show|info|get)-- show details about a issueissue list-- get list of issuesissue close-- close issueissue reopen-- reopen issueissue lock-- lock discussions on issueissue unlock-- unlock discussions on issue
mr-- interact with merge requestsmr create-- create merge request (either entirely via cli-passed parameters, or interactively, by prompting the user for the inputs needed)mr close-- close merge requestmr reopen-- reopen merge requestmr lock-- lock discussions on merge requestmr unlock-- unlock discussions on merge requestmr list-- get list of merge requestsmr (open|view|browse)-- open merge request's URL in browsermr (show|info|get)-- show details about a merge requestmr (checkout|co)-- checkout merge request
Planned functions
mr-- interact with merge requestsmr approve-- approve merge requestmr merge-- merge merge request
project list-- get list of projectspipeline-- interact with Gitlab CI jobsgroup-- interact with Gitlab groupsuser-- interact with Gitlab userslabels-- interact with Gitlab labels- probably others...
Features
Current features
- Config stored using standard
git configmachinery - Locally cached Gitlab metadata to improve usability when creating gitlab objects interactively
- JSON output in addition to plain text to allow for parsing with tools like
jq - Terminal-based markdown rendering
$EDITORintegration oncreatecommandsmuslbinaries available here
Planned features
- support for various linux packaging tools like AUR, Deb, RPM, etc
- non-Linux support (maybe)
Installation
Cargo
To install via cargo:
cargo install git_lab_cli
Statically linked Linux binaries
Grab a tarball for these here.
Compatibility
Supports GitLab server version 13
Contributions
Merge requests are welcome. Please raise a merge request on GitLab, not GitHub.
License: MIT