@soft-artel/ci 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/k8s/App.d.ts +22 -0
  2. package/k8s/App.d.ts.map +1 -0
  3. package/k8s/App.js +130 -0
  4. package/k8s/App.js.map +1 -0
  5. package/k8s/DockerImage.d.ts +15 -0
  6. package/k8s/DockerImage.d.ts.map +1 -0
  7. package/k8s/DockerImage.js +108 -0
  8. package/k8s/DockerImage.js.map +1 -0
  9. package/k8s/Node.d.ts +17 -0
  10. package/k8s/Node.d.ts.map +1 -0
  11. package/k8s/Node.js +103 -0
  12. package/k8s/Node.js.map +1 -0
  13. package/libs/Exception.d.ts +5 -0
  14. package/libs/Exception.d.ts.map +1 -0
  15. package/libs/Exception.js +13 -0
  16. package/libs/Exception.js.map +1 -0
  17. package/libs/Git.d.ts +44 -0
  18. package/libs/Git.d.ts.map +1 -0
  19. package/libs/Git.js +160 -0
  20. package/libs/Git.js.map +1 -0
  21. package/libs/Gitlab.d.ts +12 -0
  22. package/libs/Gitlab.d.ts.map +1 -0
  23. package/libs/Gitlab.js +78 -0
  24. package/libs/Gitlab.js.map +1 -0
  25. package/libs/Jira.d.ts +31 -0
  26. package/libs/Jira.d.ts.map +1 -0
  27. package/libs/Jira.js +157 -0
  28. package/libs/Jira.js.map +1 -0
  29. package/libs/Project.d.ts +39 -0
  30. package/libs/Project.d.ts.map +1 -0
  31. package/libs/Project.js +177 -0
  32. package/libs/Project.js.map +1 -0
  33. package/libs/Reporter.d.ts +34 -0
  34. package/libs/Reporter.d.ts.map +1 -0
  35. package/libs/Reporter.js +135 -0
  36. package/libs/Reporter.js.map +1 -0
  37. package/libs/Shell.d.ts +39 -0
  38. package/libs/Shell.d.ts.map +1 -0
  39. package/libs/Shell.js +107 -0
  40. package/libs/Shell.js.map +1 -0
  41. package/libs/helpers.d.ts +29 -0
  42. package/libs/helpers.d.ts.map +1 -0
  43. package/libs/helpers.js +101 -0
  44. package/libs/helpers.js.map +1 -0
  45. package/libs/prototype.d.ts +6 -0
  46. package/libs/prototype.d.ts.map +1 -0
  47. package/libs/prototype.js +176 -0
  48. package/libs/prototype.js.map +1 -0
  49. package/package.json +53 -0
  50. package/sa-ci-k8s.d.ts +3 -0
  51. package/sa-ci-k8s.d.ts.map +1 -0
  52. package/sa-ci-k8s.js +183 -0
  53. package/sa-ci-k8s.js.map +1 -0
  54. package/sa-ci-xcode.d.ts +3 -0
  55. package/sa-ci-xcode.d.ts.map +1 -0
  56. package/sa-ci-xcode.js +163 -0
  57. package/sa-ci-xcode.js.map +1 -0
  58. package/upd_pkg.d.ts +3 -0
  59. package/upd_pkg.d.ts.map +1 -0
  60. package/upd_pkg.js +28 -0
  61. package/upd_pkg.js.map +1 -0
package/libs/Git.js ADDED
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const Shell_1 = __importDefault(require("./Shell"));
16
+ const ENV = process.env;
17
+ const CI_TOKEN = ENV.CI_TOKEN;
18
+ class Commit {
19
+ constructor(row, delimetr) {
20
+ this.date = new Date(ENV.CI_COMMIT_TIMESTAMP || 0 * 1);
21
+ this.sha = ENV.CI_COMMIT_SHA || '';
22
+ this.msg = ENV.CI_COMMIT_MESSAGE || '';
23
+ this.name = ENV.GITLAB_USER_NAME || '';
24
+ this.email = ENV.CI_COMMIT_AUTHOR || '';
25
+ if (!row || !delimetr) {
26
+ return;
27
+ }
28
+ const cols = row.split(delimetr);
29
+ this.date = new Date(Date.parse(cols[3]));
30
+ this.sha = cols[0];
31
+ this.email = cols[2];
32
+ this.name = cols[1];
33
+ this.msg = cols[4];
34
+ }
35
+ get issuesKeys() {
36
+ const matchedIssues = this.msg.match(/[A-Z0-9]+-\d+/g);
37
+ return !matchedIssues || matchedIssues.length === 0 ? [] : matchedIssues;
38
+ }
39
+ }
40
+ function setOrigin(opts = {}) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ if (!opts.jobId && !ENV.CI_JOB_ID) {
43
+ return;
44
+ }
45
+ let url = opts.url || ENV.CI_PROJECT_URL || '';
46
+ url = url.replace('https://', `https://'gitlab-ci-token':${CI_TOKEN}@`);
47
+ yield Shell_1.default.exec(`git remote set-url --push origin ${url}.git`);
48
+ yield Shell_1.default.exec(`git remote set-url origin ${url}.git`);
49
+ });
50
+ }
51
+ function push(branch) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ yield Shell_1.default.exec(`git pull --ff origin ${branch}`);
54
+ yield Shell_1.default.execRepeat(`git push origin HEAD:${branch}`);
55
+ });
56
+ }
57
+ function makeTag(version) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const tag = `v${version}`;
60
+ yield Shell_1.default.exec(`git tag --force "${tag}"`);
61
+ yield Shell_1.default.execRepeat(`git push --force origin ${tag}`);
62
+ });
63
+ }
64
+ function getTags(limit = 1000, mask = /v[\d]+\.[\d]+\.[\d]+$/) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield Shell_1.default.exec(`git fetch -t`, { ignoreError: true });
67
+ const tagsStr = yield Shell_1.default.exec('git tag | sort --version-sort', { silent: true, ignoreError: true });
68
+ let list = tagsStr.split('\n').filter((f) => f.length > 2);
69
+ list = list.length > 0 ? list.reverse() : [tagsStr];
70
+ const tags = [];
71
+ let i = 1;
72
+ for (const tag of list) {
73
+ if (tag === '' || mask && (mask.exec(tag)) === null) {
74
+ continue;
75
+ }
76
+ tags.push(tag);
77
+ i++;
78
+ if (i >= limit) {
79
+ break;
80
+ }
81
+ }
82
+ return tags;
83
+ });
84
+ }
85
+ function lastTag() {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const list = yield getTags(1);
88
+ if (list && Array.isArray(list) && list.length > 0) {
89
+ return list[0];
90
+ }
91
+ return undefined;
92
+ });
93
+ }
94
+ function existTag(version) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const list = yield getTags(100);
97
+ if (list && Array.isArray(list) && list.includes(`v${version}`)) {
98
+ return `v${version}`;
99
+ }
100
+ return undefined;
101
+ });
102
+ }
103
+ function getCommitsAndIssues(opt) {
104
+ var _a, _b;
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ opt.onlyJira = (_a = opt.onlyJira) !== null && _a !== void 0 ? _a : true;
107
+ opt.limit = (_b = opt.limit) !== null && _b !== void 0 ? _b : 10;
108
+ const result = { commits: {}, issues: {} };
109
+ const d = '#!|!#';
110
+ const from = opt.fromTag;
111
+ const to = opt.toTag || '';
112
+ const par = `${from}..${from !== '' && to === '' ? 'HEAD' : to}`;
113
+ const commits = yield Shell_1.default.exec(`git log ${par !== '..' ? par : ''} --pretty='format:%H${d}%cN${d}%cE${d}%ci${d}%s' --max-count=${opt.limit}`, { silent: true });
114
+ if (!commits || commits.includes(d) === false) {
115
+ return result;
116
+ }
117
+ let arr = commits.split('\n');
118
+ if (arr.length === 0) {
119
+ arr = [commits];
120
+ }
121
+ for (const row of arr) {
122
+ const commit = new Commit(row, d);
123
+ const issuesKeys = commit.issuesKeys;
124
+ if (opt.onlyJira && issuesKeys.length === 0) {
125
+ continue;
126
+ }
127
+ result.commits[commit.sha] = commit;
128
+ for (const key of issuesKeys) {
129
+ const issue = result.issues[key] || [];
130
+ issue.push(commit.sha);
131
+ result.issues[key] = issue;
132
+ }
133
+ }
134
+ return result;
135
+ });
136
+ }
137
+ function getDiffFiles(fromTag, opt = { silent: true, ignoreError: true }) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const from = fromTag || (yield lastTag());
140
+ const diffCmd = from !== '' ? `git diff --name-only HEAD ${from}` : "find . -not -path '*/_*' -not -path '*/\.*' -not -path '*/node_modules*' -type d -maxdepth 2";
141
+ const diffStr = (yield Shell_1.default.exec(diffCmd, opt)) || '';
142
+ let arr = diffStr.split('\n');
143
+ if (arr.length === 0) {
144
+ arr = [diffStr];
145
+ }
146
+ return arr.filter((f) => f !== '').sort();
147
+ });
148
+ }
149
+ exports.default = {
150
+ Commit,
151
+ setOrigin,
152
+ push,
153
+ makeTag,
154
+ lastTag,
155
+ existTag,
156
+ getTags,
157
+ getCommitsAndIssues,
158
+ getDiffFiles,
159
+ };
160
+ //# sourceMappingURL=Git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Git.js","sourceRoot":"","sources":["../../libs/Git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ declare class Gitlab {
2
+ privateToken: string;
3
+ configVarName: string;
4
+ projectId: number;
5
+ url: string;
6
+ constructor(privateToken: string, projectId: number, configGitlabUrl?: string, configVarName?: string);
7
+ downloadConfig(): Promise<any>;
8
+ uploadConfig(config: Record<string, any>): Promise<void>;
9
+ }
10
+ declare const _default: Gitlab;
11
+ export default _default;
12
+ //# sourceMappingURL=Gitlab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gitlab.d.ts","sourceRoot":"","sources":["../../libs/Gitlab.ts"],"names":[],"mappings":"AAOA,cAAM,MAAM;IAEX,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;gBAEA,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,SAAkC,EAAE,aAAa,SAAW;IAQ1H,cAAc;IA8Bd,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAa9C;;AAoBD,wBAA4F"}
package/libs/Gitlab.js ADDED
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const Exception_1 = require("../libs/Exception");
17
+ const helpers_1 = require("../libs/helpers");
18
+ class Gitlab {
19
+ constructor(privateToken, projectId, configGitlabUrl = 'https://gitlab.soft-artel.com', configVarName = 'CONFIG') {
20
+ this.privateToken = privateToken;
21
+ this.projectId = projectId;
22
+ this.configVarName = configVarName;
23
+ this.url = `${configGitlabUrl}/api/v4/projects/${this.projectId}/variables/${configVarName}`;
24
+ }
25
+ downloadConfig() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ try {
28
+ const resp = yield (0, axios_1.default)({
29
+ method: 'GET', timeout: 600, url: this.url, headers: { 'PRIVATE-TOKEN': this.privateToken },
30
+ });
31
+ return JSON.parse(resp.data.value);
32
+ }
33
+ catch (e) {
34
+ const errTitle = `CONFIG ERR: GitLab project [id:${this.projectId}] has not`;
35
+ if (e.response && (e.response.status === 401 || e.response.status === 403)) {
36
+ const err = new Exception_1.Exception(`${errTitle} access, HTTP-401`);
37
+ err.params = e.config;
38
+ throw err;
39
+ }
40
+ if (e.response && e.response.status === 404) {
41
+ const err = new Exception_1.Exception(`${errTitle} CI VARIABLE: '${this.configVarName}'`);
42
+ err.params = e.config;
43
+ throw err;
44
+ }
45
+ e.request = '...';
46
+ e.connection = '...';
47
+ throw e;
48
+ }
49
+ });
50
+ }
51
+ uploadConfig(config) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const resp = yield (0, axios_1.default)({
54
+ method: 'PUT', timeout: 600, url: this.url,
55
+ headers: { 'PRIVATE-TOKEN': this.privateToken },
56
+ data: { value: JSON.stringify(config, null, 3) },
57
+ });
58
+ if (resp.status !== 200) {
59
+ console.error(resp);
60
+ throw new Error('CONFIG ERR: GitLab update VAR - HTTP' + resp.status);
61
+ }
62
+ });
63
+ }
64
+ }
65
+ const ENV = process.env;
66
+ const privateToken = ENV.CI_TOKEN;
67
+ const projectId = ENV.CI_PROJECT_ID;
68
+ (0, helpers_1.checkVarsExisting)([{
69
+ field: privateToken,
70
+ exceptionMessage: 'CI_TOKEN must be provided',
71
+ }, {
72
+ field: projectId,
73
+ exceptionMessage: 'CI_PROJECT_ID must be provided',
74
+ }]);
75
+ const configGitlabUrl = ENV.CONFIG_GITLAB_URL;
76
+ const configVarName = ENV.CONFIG_VAR_NAME;
77
+ exports.default = new Gitlab(privateToken, Number(projectId), configGitlabUrl, configVarName);
78
+ //# sourceMappingURL=Gitlab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gitlab.js","sourceRoot":"","sources":["../../libs/Gitlab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,iDAA8C;AAC9C,6CAAoD;AAIpD,MAAM,MAAM;IAOX,YAAY,YAAoB,EAAE,SAAiB,EAAE,eAAe,GAAG,+BAA+B,EAAE,aAAa,GAAG,QAAQ;QAC/H,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,GAAG,GAAG,GAAI,eAAgB,oBAAqB,IAAI,CAAC,SAAU,cAAe,aAAc,EAAE,CAAC;IACpG,CAAC;IAEK,cAAc;;YAEnB,IAAG;gBACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;oBACxB,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAC,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE;iBACzF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnC;YAAC,OAAM,CAAC,EAAC;gBAET,MAAM,QAAQ,GAAG,kCAAmC,IAAI,CAAC,SAAU,WAAW,CAAC;gBAE/E,IAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,EAAC;oBACzE,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,GAAI,QAAS,mBAAmB,CAAC,CAAC;oBAC5D,GAAG,CAAC,MAAM,GAAI,CAAC,CAAC,MAAM,CAAC;oBACvB,MAAM,GAAG,CAAC;iBACV;gBAED,IAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAC;oBAC1C,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,GAAI,QAAS,kBAAmB,IAAI,CAAC,aAAc,GAAG,CAAC,CAAC;oBAClF,GAAG,CAAC,MAAM,GAAI,CAAC,CAAC,MAAM,CAAC;oBACvB,MAAM,GAAG,CAAC;iBACV;gBAED,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBAErB,MAAM,CAAC,CAAC;aACR;QACF,CAAC;KAAA;IAEK,YAAY,CAAC,MAA2B;;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;gBACxB,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG;gBACzC,OAAO,EAAC,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC9C,IAAI,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC/C,CAAC,CAAC;YAEH,IAAG,IAAI,CAAC,MAAM,KAAK,GAAG,EAAC;gBAEtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpE;QACF,CAAC;KAAA;CACD;AAID,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAExB,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC;AAEpC,IAAA,2BAAiB,EAAC,CAAC;QAClB,KAAK,EAAE,YAAY;QACnB,gBAAgB,EAAE,2BAA2B;KAC7C,EAAE;QACF,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,gCAAgC;KAClD,CAAC,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC;AAC9C,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC;AAE1C,kBAAe,IAAI,MAAM,CAAC,YAAa,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC"}
package/libs/Jira.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ import { Project } from './Project';
2
+ export interface ReleaseInfo {
3
+ components: string[];
4
+ bugs: Issue[];
5
+ tasks: Issue[];
6
+ changelog: string;
7
+ }
8
+ declare function resolve(prj: Project, head?: boolean): Promise<ReleaseInfo>;
9
+ export declare class Issue {
10
+ key: string;
11
+ updated: Date;
12
+ type: string;
13
+ status: string;
14
+ summary: string;
15
+ assignee: {
16
+ name: string;
17
+ email: string;
18
+ login: string;
19
+ };
20
+ components: string[];
21
+ constructor(fields: Record<string, any>);
22
+ }
23
+ declare function moveBugsAsDeployed(bugs: {
24
+ key: string;
25
+ }[]): Promise<any>;
26
+ export declare const Jira: {
27
+ resolve: typeof resolve;
28
+ moveBugsAsDeployed: typeof moveBugsAsDeployed;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=Jira.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jira.d.ts","sourceRoot":"","sources":["../../libs/Jira.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,WAAW,WAAW;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB;AAID,iBAAe,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA4GtE;AAID,qBAAa,KAAK;IAEjB,GAAG,SAAM;IACT,OAAO,OAAgB;IAEvB,IAAI,SAAM;IACV,MAAM,SAAM;IACZ,OAAO,SAAM;IACb,QAAQ;;;;MAAsC;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAM;gBAEd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAavC;AAID,iBAAe,kBAAkB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,gBA4BxD;AAKD,eAAO,MAAM,IAAI;;;CAGhB,CAAC"}
package/libs/Jira.js ADDED
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Jira = exports.Issue = void 0;
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const helpers_1 = require("./helpers");
18
+ const Git_1 = __importDefault(require("./Git"));
19
+ const ENV = process.env;
20
+ const RELEASE_BO_URL = ENV.RELEASE_BO_URL || 'https://bo.soft-artel.com/ci/jira';
21
+ const RELEASE_BO_TOKEN = ENV.RELEASE_BO_TOKEN || ENV.CI_TOKEN;
22
+ const RELEASE_JIRA_URL = ENV.RELEASE_JIRA_URL || 'https://jira.soft-artel.com';
23
+ function resolve(prj, head = true) {
24
+ var _a, _b, _c, _d, _e, _f;
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ if (RELEASE_BO_TOKEN === undefined) {
27
+ throw new Error('NO RELEASE_BO_TOKEN!');
28
+ }
29
+ const release = {
30
+ components: [], bugs: [], tasks: [], changelog: 'No issues found in git commits!',
31
+ };
32
+ const fromTag = prj.prevVersion ? yield Git_1.default.existTag(prj.prevVersion) : yield Git_1.default.lastTag();
33
+ const toTag = head ? undefined : `v${prj.version}`;
34
+ const gitLog = yield Git_1.default.getCommitsAndIssues({
35
+ fromTag: fromTag !== null && fromTag !== void 0 ? fromTag : '', toTag: toTag !== null && toTag !== void 0 ? toTag : '', onlyJira: true, limit: 1000,
36
+ });
37
+ const issuesKeys = Object.keys(gitLog.issues);
38
+ if (issuesKeys.length === 0) {
39
+ helpers_1.log.info('No issues found in git log!');
40
+ return release;
41
+ }
42
+ try {
43
+ const resp = yield (0, axios_1.default)({
44
+ method: 'POST',
45
+ url: `${RELEASE_BO_URL}/resolve`,
46
+ headers: { 'PRIVATE-TOKEN': RELEASE_BO_TOKEN },
47
+ data: { issues: issuesKeys },
48
+ });
49
+ if (((_b = (_a = resp === null || resp === void 0 ? void 0 : resp.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.bugs) && Array.isArray(resp.data.data.bugs)) {
50
+ for (const fields of resp.data.data.bugs) {
51
+ const issue = new Issue(fields);
52
+ if (issue.key !== '') {
53
+ release.bugs.push(issue);
54
+ }
55
+ }
56
+ }
57
+ if (((_d = (_c = resp === null || resp === void 0 ? void 0 : resp.data) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.tasks) && Array.isArray(resp.data.data.tasks)) {
58
+ for (const fields of resp.data.data.tasks) {
59
+ const issue = new Issue(fields);
60
+ if (issue.key !== '') {
61
+ release.tasks.push(issue);
62
+ }
63
+ }
64
+ }
65
+ if ((_f = (_e = resp === null || resp === void 0 ? void 0 : resp.data) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.components) {
66
+ release.components = Object.values(resp.data.data.components).sort();
67
+ }
68
+ }
69
+ catch (err) {
70
+ err.request = '...';
71
+ err.connection = '...';
72
+ err.message = 'JIRA RESOLVE ERR: ' + err.message;
73
+ throw err;
74
+ }
75
+ helpers_1.log.info('\n\n===============');
76
+ helpers_1.log.info('RELEASE:', prj.group, prj.name, 'v' + prj.version, ' pev:' + fromTag);
77
+ let msg = '';
78
+ if (release.components.length > 0) {
79
+ msg += '<b>Components:</b>\n';
80
+ for (const comp of release.components) {
81
+ msg += `- ${comp}\n`;
82
+ }
83
+ msg += '\n';
84
+ }
85
+ if (release.tasks.length > 0) {
86
+ msg += '<b>Done:</b>\n';
87
+ for (const issue of release.tasks) {
88
+ msg += `- 🛠 <b><a href="${RELEASE_JIRA_URL}/browse/${issue.key}">${issue.key}</a></b>: ${issue.summary}\n`;
89
+ }
90
+ msg += '\n';
91
+ }
92
+ if (release.bugs.length > 0) {
93
+ msg += '<b>BugFixes:</b>\n';
94
+ for (const issue of release.bugs) {
95
+ msg += `- 🐞 <b><a href="${RELEASE_JIRA_URL}/browse/${issue.key}">${issue.key}</a></b>: ${issue.summary}\n`;
96
+ }
97
+ msg += '\n';
98
+ }
99
+ release.changelog = msg;
100
+ helpers_1.log.info('changelog', msg);
101
+ helpers_1.log.info('text', (0, helpers_1.stripTags)(msg));
102
+ return release;
103
+ });
104
+ }
105
+ class Issue {
106
+ constructor(fields) {
107
+ this.key = '';
108
+ this.updated = new Date();
109
+ this.type = '';
110
+ this.status = '';
111
+ this.summary = '';
112
+ this.assignee = { name: '', email: '', login: '' };
113
+ this.components = [];
114
+ this.key = fields.key;
115
+ this.updated = new Date(Date.parse(fields.updated));
116
+ this.type = fields.type;
117
+ this.status = fields.status;
118
+ this.summary = fields.summary;
119
+ if (fields.assignee && typeof fields.assignee === 'object') {
120
+ this.assignee.name = fields.assignee.name;
121
+ this.assignee.email = fields.assignee.email;
122
+ this.assignee.login = fields.assignee.login;
123
+ }
124
+ this.components = Array.isArray(fields.components) ? fields.components : [];
125
+ }
126
+ }
127
+ exports.Issue = Issue;
128
+ function moveBugsAsDeployed(bugs) {
129
+ var _a, _b;
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ if (RELEASE_BO_TOKEN === undefined) {
132
+ throw new Error('NO RELEASE_BO_TOKEN!');
133
+ }
134
+ const issuesKeys = [];
135
+ for (const bug of bugs) {
136
+ issuesKeys.push(bug.key);
137
+ }
138
+ if (issuesKeys.length === 0) {
139
+ return [];
140
+ }
141
+ const resp = yield (0, axios_1.default)({
142
+ method: 'POST',
143
+ url: `${RELEASE_BO_URL}/deployed`,
144
+ headers: { 'PRIVATE-TOKEN': RELEASE_BO_TOKEN },
145
+ data: { issues: issuesKeys },
146
+ });
147
+ if (((_b = (_a = resp === null || resp === void 0 ? void 0 : resp.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.deployed) && Array.isArray(resp.data.data.deployed)) {
148
+ return resp.data.data.deployed;
149
+ }
150
+ return [];
151
+ });
152
+ }
153
+ exports.Jira = {
154
+ resolve,
155
+ moveBugsAsDeployed,
156
+ };
157
+ //# sourceMappingURL=Jira.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jira.js","sourceRoot":"","sources":["../../libs/Jira.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export declare type Stage = keyof typeof ALLOW_STAGES;
2
+ declare const ALLOW_STAGES: Record<string, string>;
3
+ export declare class Project {
4
+ isRunner: boolean;
5
+ id: number;
6
+ path: string;
7
+ url: string;
8
+ name: string;
9
+ group: string;
10
+ rootPath: string;
11
+ build: number;
12
+ version: string;
13
+ stage: Stage;
14
+ $stages: Stage[];
15
+ $stagesVersions: Record<string, string>;
16
+ job: {
17
+ id: string | undefined;
18
+ name: string;
19
+ step: string;
20
+ branch: string;
21
+ url: string;
22
+ pipline: string;
23
+ user: {
24
+ ID: string;
25
+ login: string;
26
+ name: string;
27
+ email: string;
28
+ };
29
+ };
30
+ constructor(workdir: string | undefined, stage?: Stage);
31
+ get shortVersion(): string;
32
+ get prevVersion(): string | undefined;
33
+ incrementBuild(newBuild?: number): void;
34
+ saveGitLabBuild(): Promise<void>;
35
+ saveGitLabStagesVersions(): Promise<void>;
36
+ updateChangeLog(whatsNewHtml: string, filename?: string): Promise<void>;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=Project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../libs/Project.ts"],"names":[],"mappings":"AASA,oBAAY,KAAK,GAAG,MAAM,OAAO,YAAY,CAAC;AAC9C,QAAA,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxC,CAAC;AAEF,qBAAa,OAAO;IAGnB,QAAQ,UAA+B;IAEvC,EAAE,SAAyD;IAC3D,IAAI,SAA6B;IACjC,GAAG,SAA6B;IAEhC,IAAI,SAA6B;IACjC,KAAK,SAAkC;IAGvC,QAAQ,EAAE,MAAM,CAAM;IAEtB,KAAK,SAAK;IACV,OAAO,SAAW;IAClB,KAAK,EAAE,KAAK,CAAS;IAGrB,OAAO,EAAE,KAAK,EAAE,CAAW;IAC3B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAoB;IAE3D,GAAG;;;;;;;;;;;;;MAgBD;gBAIU,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK;IA8BtD,IAAI,YAAY,WAEf;IAED,IAAI,WAAW,uBAGd;IAID,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM;IAW1B,eAAe;IAMf,wBAAwB;IAOxB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,SAAiB;CA4CrE"}