GLab is an open source Gitlab Cli tool written in Go (golang) to help work seamlessly with Gitlab from the command line. Work with issues, merge requests, watch running pipelines directly from your CLI among other features.
glab <command> <subcommand> [flags]
glab mr [list, create, close, reopen, delete]
glab issue [list, create, close, reopen, delete]
glab pipeline [list, delete, ci status, ci view]
glab config
glab help
$ glab issue create --title="This is an issue title" --description="This is a really long description"
$ glab issue list --closed
$ glab pipeline ci view -b master # to watch the latest pipeline on master
$ glab pipeline status # classic ci view
Read the documentation for more information on this tool.
Download a binary suitable for your OS at the releases page.
You can install or update glab
with:
curl -s https://raw.githubusercontent.com/profclems/glab/trunk/scripts/quick_install.sh | sudo bash
Installs into usr/local/bin
Available for download on scoop or manually as an installable executable file or a Portable archived file in tar and zip formats at the releases page. Download and install now at the releases page.
The installable executable file sets the PATH automatically.
scoop bucket add profclems-bucket https://github.com/profclems/scoop-bucket.git
scoop install glab
Downloads available via linuxbrew (homebrew) and tar balls
brew install profclems/tap/glab
Updating:
brew upgrade glab
glab
is available through the gitlab-glab-bin package on the AUR.
Download the tar ball, untar and install:
- Download the
.tar.gz
file from the releases page unzip glab-*-linux-amd64.tar.gz
to unzip the downloaded filesudo mv glab-*-linux-amd64/glab /usr/bin
glab
is available via Homebrew or you can manually install
brew install profclems/tap/glab
Updating:
brew upgrade glab
- Download the
.tar.gz
or.zip
file from the releases page and unzip or untar - ls /usr/local/bin/ || sudo mkdir /usr/local/bin/; to make sure the bin folder exists
sudo mv glab-*-darwin-amd64/glab /usr/bin
If a supported binary for your OS is not found at the releases page, you can build from source:
-
Verify that you have Go 1.13.8+ installed
$ go version go version go1.14
If
go
is not installed, follow instructions on the Go website. -
Clone this repository
$ git clone https://github.com/profclems/glab.git glab-cli $ cd glab-cli
or
$ git clone https://gitlab.com/profclems/glab.git $ cd glab-cli
-
Build the project
$ make build
-
Move the resulting
bin/glab
executable to somewhere in your PATH$ sudo mv ./bin/glab /usr/local/bin/
or
$ sudo mv ./bin/glab /usr/bin/
-
Run
glab version
to check if it worked andglab config -g
to set up
To set configuration for current directory (must be a git repository)
glab config // Will be prompted for details
or
glab config --token=<YOUR-GITLAB-ACCESS-TOKEN> --url=https://gitlab.com --remote-var=origin
To set configuration globally
glab config --global // Will be prompted for details
or
glab config --global --token=<YOUR-GITLAB-ACCESS-TOKEN> --url=https://gitlab.com --remote-var=origin
For initial releases up to v1.6.1
glab config --token=<YOUR-GITLAB-ACCESS-TOKEN> --url=https://gitlab.com --pid=<YOUR-GITLAB-PROJECT-ID> --repo=OWNER/REPO
glab config --token=sometoken --url=https://gitlab.com --pid=someprojectid --repo=profclems/glab
NB: Change gitlab.com to company or group's gitlab url if self-hosted
GITLAB_TOKEN: an authentication token for API requests. Setting this avoids being
prompted to authenticate and overrides any previously stored credentials.
Can be set with `glab config --token=<YOUR-GITLAB-ACCESS-TOKEN>`
GITLAB_REPO: specify the Gitlab repository in "OWNER/REPO" format for commands that
otherwise operate on a local repository. (Depreciated in v1.6.2)
Can be set with `glab config --repo=OWNER/REPO`
GITLAB_URI: specify the url of the gitlab server if self hosted (eg: https://gitlab.example.com). Default is https://gitlab.com.
Can be set with `glab config --url=gitlab.example.com`
Thanks for considering contributing to this project!
Please read the contributions guide and Code of conduct.
Feel free to open an issue or submit a pull request!
Built with ❤ by Clement Sam