Skip to content
大纲

mr-cli 使用文档

mr-cli 是一个 GitLab Merge Request 命令行工具,能够帮助我们在命令行中交互式创建 Merge Reqeust,使 Code Review 流程更简洁高效。

如何使用?

1. 全局安装

需要连接到公司npm私有仓库

bash
sudo npm install mr-cli -g

2. 配置 GitLab token

token 用于后续创建MR、操作服务端数据时的身份验证,创建token教程

bash
mr token <你的token>

3. 在项目根目录下创建配置文件 .mrconfig.js,详细字段说明见下方表格

项目配置文件主要字段是 projectId,此ID的作用是标识当前项目,创建MR时告诉GitLab操作的是哪个项目

js
// .mrconfig.js
module.exports = {
  // GitLab 项目ID
  projectId: 0,
};

如果不想创建配置文件,也可以在项目的 package.json 文件中增加 mrConfig 属性,该属性的配置同上

json
// package.json
{
  ...
  "mrConfig": {
    "projectId": 0
  }
}

优先级为 .mrconfig.js > package.json[mrConfig]

.mrconfig.js 配置文件字段说明

字段说明必填类型默认
gitlabUrl托管当前项目的GitLab主页地址(非项目地址)string'https://gitlab.xxx.com'
projectId当前项目在GitLab上的IDnumber
sourceBranch发起MR的源分支,默认当前分支string
targetBranch发起MR的目标分支,默认developstring'develop'

4. 运行脚本,部分命令示例

bash
# 创建 MR
mr

# 设置 token
mr token <token>

# 查看 token
mr token

# 查看用户
mr user get --id=xxx

# 查看所有用户
mr user list

# 查看项目
mr dtu get xxx

# 查看所有项目
mr dtu list

# 查看帮助信息
mr -h

# mr user 子命令帮助信息
mr user -h

# mr dtu 子命令帮助信息
mr dtu -h

获取帮助菜单

bash
$ mr -h

使用: mr [命令] <选项>

命令:
  mr token [token]  查看/设置GitLab Token
  mr user <>    操作用户数据
  mr dtu <>     操作GitLab项目与钉钉机器人URL的映射数据(DingTalkUrl)

选项:
  -v, --version  显示版本号                                               [布尔]
  -h, --help     显示帮助信息                                             [布尔]

示例:
  $ mr               创建MR
  $ mr token         获取token
  $ mr token 123456  设置token为123456
  $ mr -h            显示帮助信息
  $ mr user -h       显示user子命令帮助信息
  $ mr dtu -h        显示dtu子命令帮助信息

mr user 操作用户数据

mr user 子命令用于操作服务端的用户数据,包括增、删、改、查等。

服务端的用户数据主要用于建立GitLab用户钉钉用户的映射关系,实现将GitLab上用户的操作推送消息到钉钉群对应的人

mr user 命令帮助菜单:

bash
$ mr user -h

mr user <>

操作用户数据

命令:
  mr user get [--选项]                                     查看用户,根据 id | username | mobile 查询
  mr user list                                             查看全部用户
  mr user set <id> <name> <username> <mobile>              设置用户,参数解释: <GitLab用户ID> <你的名> <GitLab username> <手机>
  mr user update <old_id> <id> <name> <username> <mobile>  更新用户,参数解释: <GitLab用户ID> <新的GitLab用户ID> <你的名> <GitLab username> <手机>
  mr user delete <id>                                      删除用户,参数解释: <GitLab用户ID>

mr dtu 操作GitLab项目与钉钉机器人URL的映射数据

mr dtu 子命令用于操作服务端的GitLab项目与钉钉机器人URL的映射数据,包括增、删、改、查等。

服务端的GitLab项目与钉钉机器人URL的映射数据主要用于建立GitLab项目钉钉群自定义机器人的映射关系,实现将GitLab上项目相关的Webhook事件推送消息到项目对应的钉钉群

mr dtu 命令帮助菜单:

bash
$ mr dtu -h

mr dtu <>

操作GitLab项目与钉钉机器人URL的映射数据(DingTalkUrl)

命令:
  mr dtu get <project_id>                                     查看项目,参数解释: <GitLab项目ID>
  mr dtu list                                                 查看全部项目
  mr dtu set <project_id> <dingtalk_url>                      设置项目,参数解释: <GitLab项目ID> <钉钉自定义机器人URL>
  mr dtu update <old_project_id> <project_id> <dingtalk_url>  更新项目,参数解释: <GitLab项目ID> <新的GitLab项目ID> <钉钉自定义机器人URL>
  mr dtu delete <project_id>                                  删除项目,参数解释: <GitLab项目ID>