t-comm
Version:
专业、稳定、纯粹的工具库
127 lines (124 loc) • 3.43 kB
JavaScript
import { b as __awaiter, c as __generator } from '../tslib.es6-48fa7a9b.js';
import { instance } from './helper.js';
import '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 __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_b) {
return [2 /*return*/, new Promise(function (resolve, reject) {
if (!sourceBranch || !targetBranch || !projectName) {
reject();
return;
}
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) {
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) {
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);
});
});
}
export { createMR, getMrList, getOneMrComments };