04/02/2023

A custom Gitlab Cli tool written in Go (golang). Contribute to profclems/glab development by creating an account on GitHub.

GLab is an open source Gitlab Cli tool written in Go (golang) to help work seamlessly with Gitlab from the command line.
Usage
glab <command><subcommand> [flags]
Core Commands

  • glab mr [list, create, close, reopen, delete]
  • glab issue [list, create, close, reopen, delete]
  • glab pipline [list, delete]
  • glab config
  • glab help

Examples
$ glab issue create –title=”This is an issue title” –description=”This is a really long description”
$ glab issue list –closed
Learn More
Read the documentation for more information on this tool.
Installation
Download a binary suitable for your OS at the releases page.
Quick Install (Bash)
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
Windows
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
scoop bucket add profclems-bucket https://github.com/profclems/scoop-bucket.git
scoop install glab
Linux
Downloads available via linuxbrew (homebrew) and tar balls
Linuxbrew (Homebrew)
brew install profclems/tap/glab
Updating:
Manual Installation
Download the tar ball, untar and install:

  1. Download the .tar.gz file from the releases page
  2. unzip glab-*-linux-amd64.tar.gz to unzip the downloaded file
  3. sudo mv glab-*-linux-amd64/glab /usr/bin

MacOS
glab is available via Homebrew or you can manually install
Homebrew
brew install profclems/tap/glab
Updating:
Installing manually

  1. Download the .tar.gz or .zip file from the releases page and unzip or untar
  2. ls /usr/local/bin/ || sudo mkdir /usr/local/bin/; to make sure the bin folder exists
  3. sudo mv glab-*-darwin-amd64/glab /usr/bin

Building From Source
If a supported binary for your OS is not found at the releases page, you can build from source:

  1. 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.
  2. 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
  3. Build the project
    $ make build
  4. 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/
  5. Run glab help to check if it worked.

Setting Up
To set configuration for current directory (must be a git repository)
glab config –token=<YOUR-GITLAB-ACCESS-TOKEN> –url=https://gitlab.com
To set configuration globally
glab config global –token=<YOUR-GITLAB-ACCESS-TOKEN> –url=https://gitlab.com
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
Example
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
Environment Variables
GITLAB_TOKEN: an authentication token for API requests. Setting this avoids being
prompted to authenticate and overrides any previously stored credentials.
GITLAB_REPO: specify the Gitlab repository in”OWNER/REPO” format for commands that
otherwise operate on a local repository. (Depreciated in v1.6.2)
GITLAB_URI: specify the url of the gitlab server if self hosted (eg: https://gitlab.example.com). Default is https://github.com
Contributions
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!
License
MIT
Author
Built with
by Clement Sam