Skip to content
This repository has been archived by the owner on Jun 1, 2022. It is now read-only.

lighttiger2505/lab

Repository files navigation

lab

Build Status Coverage Status

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

  1. change directory gitlab repository
    • lab command accesses gitlab quickly by useing repository infomation
    $ cd {gitlab repository}
  2. launch lab command
    $ lab issue
  3. 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
    default_assignee_id: 123
  gitlab.ssl.foo.jp:
    token: ******************** 
    default_group: foo
    default_project: foo/bar
    default_assignee_id: 456

ToDos

  • variable command
    • Project-level Variables
    • Group-level Variables
  • use template
    • issue template
    • merge request template
  • pipeline actions
    • cancel
    • retry
  • 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

Similar tool

There are similar tools. If you prefer modern style commands like docker. This tool may be better.

Note: This tool and lighttiger2505/lab are completely different tools