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 aganst a remote GitLab server -
project
-- 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 issue
Planned functions
-
project
-- interact with GitLab projectsproject list
-- get list of projects
-
issue
-- interact with issuesissue list
-- get list of issues
-
merge-request
-- interact with merge requestsmerge-request create
-- create merge requestmerge-request list
-- get list of merge requestsmerge-request (open|view|browse)
-- open merge-request's URL in browsermerge-request (show|info|get)
-- show details about a merge-requestmerge-request approve
-- approve merge requestmerge-request merge
-- merge merge request
-
pipeline
-- interact with Gitlab CI jobs -
group
-- interact with Gitlab groups -
user
-- interact with Gitlab users -
probably others like
labels
, etc..
Features
Current features
- Config stored using standard
git config
machinery - 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
$EDITOR
integration oncreate
commands
Planned features
musl
andglibc
binary packages- support for various linux packaging tools like AUR, Deb, RPM, etc
- non-Linux support (maybe)
Installation
For now, this is only available via cargo
while under development.
cargo install git_lab_cli
Compatibility
Supports GitLab server version 13
Contributions
Merge requests are welcome. Please raise a merge request on GitLab, not GitHub.
License: MIT