t-comm
Version:
专业、稳定、纯粹的工具库
133 lines (128 loc) • 3.6 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var tgit_helper = require('./helper.js');
require('axios');
/**
* 创建MR
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.privateToken 密钥
* @param {string} options.sourceBranch 源分支
* @param {string} options.targetBranch 目标分支
* @returns {Promise<object>} 请求Promise
* @example
*
* createMR({
* projectName: 't-comm',
* privateToken: 'xxxxx',
* sourceBranch: 'master',
* targetBranch: 'release',
* }).then((resp) => {
*
* })
*/
function createMR(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken,
sourceBranch = _a.sourceBranch,
targetBranch = _a.targetBranch;
return tslib_es6.__awaiter(this, void 0, void 0, function () {
return tslib_es6.__generator(this, function (_b) {
return [2 /*return*/, new Promise(function (resolve, reject) {
if (!sourceBranch || !targetBranch || !projectName) {
reject();
return;
}
tgit_helper.instance({
url: "/projects/".concat(encodeURIComponent(projectName), "/merge_requests"),
method: 'POST',
data: {
source_branch: sourceBranch,
target_branch: targetBranch,
title: "".concat(sourceBranch, " => ").concat(targetBranch),
approver_rule: 1,
necessary_approver_rule: 0
},
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
})];
});
});
}
/**
* 获取MR列表
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.privateToken 密钥
* @returns {Promise<object>} 请求Promise
* @example
*
* getMrList({
* projectName: 't-comm',
* privateToken: 'xxxxx',
* }).then((resp) => {
*
* })
*/
function getMrList(_a) {
var projectName = _a.projectName,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
tgit_helper.instance({
url: "/projects/".concat(encodeURIComponent(projectName), "/merge_requests"),
method: 'GET',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
/**
* 获取MR的一条评论
* @param {object} options 输入配置
* @param {string} options.projectName 项目名称
* @param {string} options.privateToken 密钥
* @param {string} options.mrId 某次MR的Id
* @returns {Promise<object>} 请求Promise
* @example
*
* getOneMrComments({
* projectName: 't-comm',
* privateToken: 'xxxxx',
* mrId: '1'
* }).then((resp) => {
*
* })
*/
function getOneMrComments(_a) {
var mrId = _a.mrId,
projectName = _a.projectName,
privateToken = _a.privateToken;
return new Promise(function (resolve, reject) {
tgit_helper.instance({
url: "/projects/".concat(encodeURIComponent(projectName), "/merge_request/").concat(mrId, "/comments"),
method: 'GET',
headers: {
'PRIVATE-TOKEN': privateToken
}
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
exports.createMR = createMR;
exports.getMrList = getMrList;
exports.getOneMrComments = getOneMrComments;