UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

159 lines (152 loc) 5.56 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('../tslib.es6-01322ba9.js'); var axios = require('axios'); var devops_token = require('./token.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios); /** * 启动流水线 * @param {object} params 配置信息 * @param {string} params.projectId 项目ID * @param {string} params.pipelineId 流水线ID * @param {object} params.secretInfo 密钥信息 * @param {string} params.host 请求域名 * @param {object} params.data 请求数据 */ function startDevopsPipeline(_a) { var projectId = _a.projectId, pipelineId = _a.pipelineId, secretInfo = _a.secretInfo, host = _a.host, data = _a.data; return tslib_es6.__awaiter(this, void 0, void 0, function () { var appCode, appSecret, devopsUid, accessToken, resp; return tslib_es6.__generator(this, function (_b) { switch (_b.label) { case 0: appCode = secretInfo.appCode, appSecret = secretInfo.appSecret, devopsUid = secretInfo.devopsUid; return [4 /*yield*/, devops_token.getDevopsAccessToken({ secretInfo: secretInfo, host: host })]; case 1: accessToken = _b.sent(); return [4 /*yield*/, axios__default["default"]({ url: "".concat(host, "/prod/v4/apigw-app/projects/").concat(projectId, "/build_start?pipelineId=").concat(pipelineId), method: 'post', headers: { 'X-DEVOPS-UID': devopsUid, 'Content-Type': 'application/json', 'X-Bkapi-Authorization': JSON.stringify({ bk_app_code: appCode, bk_app_secret: appSecret, access_token: accessToken }) }, data: tslib_es6.__assign({}, data || {}) })["catch"](function (err) { console.log('[startDevopsPipeline] err: ', err); })]; case 2: resp = _b.sent(); return [2 /*return*/, resp.data]; } }); }); } /** * 获取流水线列表 * @param {object} params 配置信息 * @param {string} params.projectId 项目ID * @param {object} params.secretInfo 密钥信息 * @param {string} params.host 请求域名 * @param {number} params.page 第几页 * @param {number} params.pageSize 每页数据量 * @returns 流水线列表 */ function getPipelineList(_a) { var _b; var projectId = _a.projectId, secretInfo = _a.secretInfo, host = _a.host, _c = _a.page, page = _c === void 0 ? 1 : _c, _d = _a.pageSize, pageSize = _d === void 0 ? 20 : _d; return tslib_es6.__awaiter(this, void 0, void 0, function () { var appCode, appSecret, devopsUid, accessToken, resp; return tslib_es6.__generator(this, function (_e) { switch (_e.label) { case 0: appCode = secretInfo.appCode, appSecret = secretInfo.appSecret, devopsUid = secretInfo.devopsUid; return [4 /*yield*/, devops_token.getDevopsAccessToken({ secretInfo: secretInfo, host: host })]; case 1: accessToken = _e.sent(); return [4 /*yield*/, axios__default["default"]({ url: "".concat(host, "/prod/v4/apigw-app/projects/").concat(projectId, "/pipelines/pipeline_list?page=").concat(page, "&pageSize=").concat(pageSize), method: 'GET', headers: { 'X-DEVOPS-UID': devopsUid, 'Content-Type': 'application/json', 'X-Bkapi-Authorization': JSON.stringify({ bk_app_code: appCode, bk_app_secret: appSecret, access_token: accessToken }) } })["catch"](function (err) { console.log('[getPipelineList] err: ', err); })]; case 2: resp = _e.sent(); return [2 /*return*/, ((_b = resp.data) === null || _b === void 0 ? void 0 : _b.data) || {}]; } }); }); } /** * 获取全部流水线列表 * @param {object} params 配置信息 * @param {string} params.projectId 项目ID * @param {object} params.secretInfo 密钥信息 * @param {string} params.host 请求域名 * @param {number} params.page 第几页 * @param {number} params.pageSize 每页数据量 * @param {Array} list 结果列表,可不传,用于迭代 * @returns 流水线列表 */ function getAllPipelineList(args, list) { if (list === void 0) { list = []; } return tslib_es6.__awaiter(this, void 0, void 0, function () { var page, res; return tslib_es6.__generator(this, function (_a) { switch (_a.label) { case 0: page = args.page || 1; return [4 /*yield*/, getPipelineList(tslib_es6.__assign(tslib_es6.__assign({}, args), { page: page }))]; case 1: res = _a.sent(); list.push.apply(list, res.records || []); if (!res.count || list.length >= res.count) { return [2 /*return*/, list]; } return [4 /*yield*/, getAllPipelineList(tslib_es6.__assign(tslib_es6.__assign({}, args), { page: page + 1 }), list)]; case 2: return [2 /*return*/, _a.sent()]; } }); }); } exports.getAllPipelineList = getAllPipelineList; exports.getPipelineList = getPipelineList; exports.startDevopsPipeline = startDevopsPipeline;