Bug#970560: ITP: glab -- An open-source GitLab command line tool
Package: wnpp
Severity: wishlist
Owner: TODO <profclems@gmail.com>
* Package name : glab
Version : 1.10.0-1
Upstream Author : Clement Sam
* URL : https://github.com/profclems/glab
* License : Expat
Programming Lang: Go
Description : An open-source GitLab command line tool
GLab
.
All Contributors (#contributors-)
.
.
Go Report Card (https://goreportcard.com/report/github.com/profclems/glab)
GitHub Workflow Status .github/workflows/build_docs.yml Gitter
(https://gitter.im/glabcli/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
License (LICENSE) Twitter
(https://twitter.com/intent/tweet?text=Take%20Gitlab%20to%20the%20command%20line%20with%20%23glab,%20an%20open-source%20GitLab%20CLI%20tool:&url=https%3A%2F%2Fgithub.com%2Fprofclems%2Fglab)
.
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.
.
image Usage bash
glab <command> <subcommand> [flags]
.
Core Commands• 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 helpExamples bash
$ 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
.
Learn More Read the documentation (https://clementsam.tech/glab) for
more information on this tool. Support glab 💖 By donating $5 or
more you can support the ongoing development of this project. We'll
appreciate some support. Thank you to all our supporters! 🙏
[Contribute (https://opencollective.com/glab/contribute)] Individuals
This project exists thanks to all the people who contribute. [Contribute
(https://github.com/profclems/glab/blob/trunk/.github/CONTRIBUTING.md)].
.
Backers Thank you to all our backers! 🙏 [Become a backer
(https://opencollective.com/glab/contribute)]
.
Installation Download a binary suitable for your OS at the releases page
(https://github.com/profclems/glab/releases/latest). Quick Install (Bash)
You can install or update glab with: bash curl -sL https://j.mp/glab-i |
sudo bash
.
or bash curl -s
https://raw.githubusercontent.com/profclems/glab/trunk/scripts/quick_install.sh
| sudo bash
.
Installs into usr/local/bin
.
NOTE: Please take care when running scripts in this fashion. Consider
peaking at the install script itself and verify that it works as intended.
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 (https://github.com/profclems/glab/releases/latest).
Download and install now at the releases page
(https://github.com/profclems/glab/releases/latest).
.
The installable executable file sets the PATH
automatically. Scoop sh 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) sh brew install profclems/tap/glab
.
Updating: sh brew upgrade glab
.
Arch Linux glab is available through the gitlab-glab-bin
(https://aur.archlinux.org/packages/gitlab-glab-bin/) package on
the AUR. Manual Installation Download the tar ball, untar and
install: • Download the .tar.gz file from the releases page
(https://github.com/profclems/glab/releases/latest)• unzip
glab-*-linux-amd64.tar.gz to unzip the downloaded file• sudo mv
glab-*-linux-amd64/glab /usr/binMacOS glab is available via Homebrew or
you can manually install Homebrew sh brew install profclems/tap/glab
.
Updating: sh brew upgrade glab
.
Installing manually• Download the .tar.gz or .zip file from the releases
page (https://github.com/profclems/glab/releases/latest) 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/binBuilding
From Source If a supported binary for your OS is not found at the releases
page (https://github.com/profclems/glab/releases/latest), you can build
from source: • Verify that you have Go 1.13.8+ installed sh
$ go version go version go1.14
.
.
If go is not installed, follow instructions on the Go website
(https://golang.org/doc/install). • Clone this repository sh
$ git clone https://github.com/profclems/glab.git glab-cli $
cd glab-cli
.
.
or
.
sh
$ 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 sh
$ sudo mv ./bin/glab /usr/local/bin/
.
or sh $ sudo mv ./bin/glab /usr/bin/
.
• Run glab version to check if it worked and glab
config -g to set upConfiguration Get a GitLab access
token at https://gitlab.com/profile/personalaccesstokens or
https://gitlab.example.com/profile/personalaccesstokens if self-hosted.
To set configuration globally sh glab config -g # Will be prompted
for details
.
or sh glab config -g --token=<YOUR-GITLAB-ACCESS-TOKEN>
--url=https://gitlab.com --remote-var=origin
.
To set configuration for current directory (must be a git repository)
sh glab config init # Will be prompted for details
.
or sh glab config --token=<YOUR-GITLAB-ACCESS-TOKEN>
--url=https://gitlab.com --remote-var=origin
.
Example sh glab config --token=sometoken --url=https://gitlab.com
--pid=someprojectid --repo=profclems/glab
.
NB: Change gitlab.com to company or group's gitlab url
(eg. gitlab.example.com) if self-hosted Environment Variables ``sh
GITLAB_TOKEN: an authentication token for API requests. Setting this
avoids being prompted to authenticate and overrides any previously
stored credentials. Can be set withglab config --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=https://gitlab.example.com
.
VISUAL, EDITOR (in order of precedence): the editor tool to use for
authoring text.
.
BROWSER: the web browser to use for opening links.
.
GLAMOUR_STYLE: environment variable to set your desired markdown
renderer style
Available options are (dark|light|notty) or set a custom style
https://github.com/charmbracelet/glamour#styles ```
ToDo Aside adding more features, the biggest thing this tool still
needs is tests 😞 Issues If you have an issue: report it on the
issue tracker (https://github.com/profclems/glab/issues) Contributing
Feel like contributing? That's awesome! We have a contributing guide
(https://github.com/profclems/glab/blob/trunk/.github/CONTRIBUTING.md)
and Code of conduct
(https://github.com/profclems/glab/blob/trunk/.github/CODE_OF_CONDUCT.md)
to help guide you Contributors ✨ Thanks goes to these wonderful
people (emoji key (https://allcontributors.org/docs/en/emoji-key)): <!--
ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --><!--
prettier-ignore-start --><!-- markdownlint-disable --><table>
<tr>
<td align="center"><a href="https://bredley.co.uk"><img
src="https://avatars3.githubusercontent.com/u/32489229?v=4"
width="100px;" alt=""/><br /><sub><b>Bradley Garrod</b></sub></a><br
/><a href="https://github.com/profclems/glab/commits?author=BreD1810"
title="Code">💻</a> <a href="#platform-BreD1810"
title="Packaging/porting to new platform">📦</a> <a
href="https://github.com/profclems/glab/commits?author=BreD1810"
title="Documentation">📖</a></td> <td align="center"><a
href="https://twitter.com/tetheusmeuneto"><img
src="https://avatars2.githubusercontent.com/u/9063085?v=4"
width="100px;" alt=""/><br /><sub><b>Matheus Lugon</b></sub></a><br
/><a href="#design-matheuslugon" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/princeselasi"><img
src="https://avatars2.githubusercontent.com/u/59126177?v=4"
width="100px;" alt=""/><br
/><sub><b>Opoku-Dapaah </b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=princeselasi"
title="Documentation">📖</a> <a href="#design-princeselasi"
title="Design">🎨</a></td> <td align="center"><a
href="https://github.com/pgollangi"><img
src="https://avatars3.githubusercontent.com/u/6123002?v=4"
width="100px;" alt=""/><br /><sub><b>Prasanna
Kumar Gollangi</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=pgollangi"
title="Code">💻</a> <a href="#maintenance-pgollangi"
title="Maintenance">🚧</a></td> <td align="center"><a
href="https://github.com/sirlatrom"><img
src="https://avatars3.githubusercontent.com/u/425633?v=4"
width="100px;" alt=""/><br /><sub><b>Sune Keller</b></sub></a><br
/><a href="#financial-sirlatrom" title="Financial">💵</a> <a
href="https://github.com/profclems/glab/commits?author=sirlatrom"
title="Code">💻</a></td> <td
align="center"><a href="https://sattellite.me"><img
src="https://avatars1.githubusercontent.com/u/322910?v=4"
width="100px;" alt=""/><br /><sub><b>sattellite</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=sattellite"
title="Code">💻</a> <a
href="https://github.com/profclems/glab/issues?q=author%3Asattellite"
title="Bug reports">🐛</a></td> <td
align="center"><a href="https://github.com/abakermi"><img
src="https://avatars1.githubusercontent.com/u/60294727?v=4"
width="100px;" alt=""/><br /><sub><b>Abdelhak Akermi</b></sub></a><br
/><a href="https://github.com/profclems/glab/commits?author=abakermi"
title="Code">💻</a></td>
</tr> <tr>
<td align="center"><a href="http://patrickmcmichael.org"><img
src="https://avatars0.githubusercontent.com/u/3779458?v=4"
width="100px;" alt=""/><br
/><sub><b>Patrick McMichael</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=Saturn"
title="Documentation">📖</a></td> <td
align="center"><a href="https://github.com/wolffc"><img
src="https://avatars3.githubusercontent.com/u/1393783?v=4"
width="100px;" alt=""/><br /><sub><b>Christian Wolff</b></sub></a><br
/><a href="https://github.com/profclems/glab/commits?author=wolffc"
title="Documentation">📖</a></td> <td align="center"><a
href="https://www.linkedin.com/in/lwpamihiranga/"><img
src="https://avatars3.githubusercontent.com/u/39789194?v=4"
width="100px;" alt=""/><br
/><sub><b>Amith Mihiranga</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=lwpamihiranga"
title="Documentation">📖</a></td> <td
align="center"><a href="https://clementsam.tech"><img
src="https://avatars0.githubusercontent.com/u/41906128?v=4"
width="100px;" alt=""/><br /><sub><b>Clement Sam</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=profclems"
title="Code">💻</a> <a href="#maintenance-profclems"
title="Maintenance">🚧</a> <a href="#platform-profclems"
title="Packaging/porting to new platform">📦</a></td> <td
align="center"><a href="https://github.com/j-mcavoy"><img
src="https://avatars1.githubusercontent.com/u/17990820?v=4"
width="100px;" alt=""/><br /><sub><b>John McAvoy</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=j-mcavoy"
title="Code">💻</a></td> <td
align="center"><a href="http://docs.vue2.net"><img
src="https://avatars1.githubusercontent.com/u/8638857?v=4"
width="100px;" alt=""/><br /><sub><b>wiwi</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=Baiang"
title="Code">💻</a></td> <td align="center"><a
href="https://github.com/bgraf"><img
src="https://avatars2.githubusercontent.com/u/2063428?v=4"
width="100px;" alt=""/><br /><sub><b>Benjamin Graf</b></sub></a><br
/><a href="https://github.com/profclems/glab/commits?author=bgraf"
title="Code">💻</a></td>
</tr> <tr>
<td align="center"><a
href="https://qa.debian.org/developer.php?login=ah&comaint=yes"><img
src="https://avatars1.githubusercontent.com/u/3367571?v=4"
width="100px;" alt=""/><br /><sub><b>andhe</b></sub></a><br /><a
href="https://github.com/profclems/glab/commits?author=andhe"
title="Code">💻</a> <a href="#security-andhe"
title="Security">🛡️</a></td> <td align="center"><a
href="https://zacharyspringer.com/"><img
src="https://avatars3.githubusercontent.com/u/22923676?v=4"
width="100px;" alt=""/><br /><sub><b>Zachary Springer</b></sub></a><br
/><a href="#financial-Zachcodes" title="Financial">💵</a></td>
</tr>
</table><!-- markdownlint-enable --><!-- prettier-ignore-end
--><!-- ALL-CONTRIBUTORS-LIST:END --> This project follows the
all-contributors (https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome! License Copyright ©
Clement Sam (https://clementsam.tech)
.
glab is open-sourced software licensed under the MIT (LICENSE) license.
TODO: perhaps reasoning
Reply to: