lab
lab is a cli client of gitlab like hub.
Installation
Go developer
Please getting source code and build.
go get github.com/lighttiger2505/lab
make ensure
make install
Binary download
Please run the install script:
curl -s https://raw.githubusercontent.com/lighttiger2505/lab/master/install.sh | bash
The script installs the lab
command in /usr/local/bin
. For more details, see the install.sh
source code.
Features
Usage: lab [--version] [--help] <command> [<args>]
Available commands are:
browse Browse project page
issue Create and Edit, list a issue
issue-template List issue template
job List job
lint validate .gitlab-ci.yml
merge-request Create and Edit, list a merge request
merge-request-template List merge request template
mr Create and Edit, list a merge request
pipeline List pipeline, List pipeline jobs
project List project
project-variable List project level variables
runner List CI/CD Runner
user List user
Usage
- change directory gitlab repository
- lab command accesses gitlab quickly by useing repository infomation
$ cd {gitlab repository}
- laucn lab command
$ lab issue
- please input personal access token
- use the lab command you need Personal access take look here(
https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#creating-a-personal-access-token
)
Please input GitLab private token : {your token}
Feature
Browse
Open gitlab pages on brwoser.
# Browse project page
$ lab browse
# Browse project file
$ lab browse ./README.md
# Browse sub page
$ lab browse -s issues
Operations to Issue and Merge Request
Many operations can be done with simple input.
# List issue
lab issue
# Browse issue
lab issue -b {issue ii}
# Show issue
lab issue {issue id}
# Create issue
lab issue -e
# Update issue
lab issue {issue id} -e
Configuration
auto create configuration file ~/.config/lab/config.yml
when launch lab command
Sample
default_profile: gitlab.com:
profiles:
gitlab.com:
token: ********************
default_group: hoge
default_project: hoge/soge
gitlab.ssl.foo.jp:
token: ********************
default_group: foo
default_project: foo/bar
ToDos
- variable command
- Project-level Variables
- Group-level Variables
- use template
- issue template
- merge request template
- pipeline actions
- label command
- project-member command
- workflow automation command
- create
- create new project and cloning repository
- fork
- create fork project and cloning repository
- flow
- create issue and create
WIP:
merge request