@clickview/ship-it 0.0.27 → 0.0.28

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 (75) hide show
  1. package/dist/F1/Analytics Web.md +8 -0
  2. package/dist/F1/AutoCaptions.md +30 -0
  3. package/dist/F1/Classroom.Api.md +23 -0
  4. package/dist/F1/ClickView Online.md +17 -0
  5. package/dist/F1/ClickView.Curator.md +100 -0
  6. package/dist/F1/ClickView.EmailService.md +53 -0
  7. package/dist/F1/ClickView.OnlineApi.md +13 -0
  8. package/dist/F1/Clients.md +19 -0
  9. package/dist/F1/Domain.Api.md +23 -0
  10. package/dist/F1/Exchange.Web.md +8 -0
  11. package/dist/F1/Image.Api.md +8 -0
  12. package/dist/F1/Integrations.Api.md +23 -0
  13. package/dist/F1/Krakend.md +8 -0
  14. package/dist/F1/Library Editor.md +0 -0
  15. package/dist/F1/Lite.md +60 -0
  16. package/dist/F1/Master.Api.md +58 -0
  17. package/dist/F1/Master.Auth.md +22 -0
  18. package/dist/F1/Objects.Api.md +12 -0
  19. package/dist/F1/Permissions.Api.md +12 -0
  20. package/dist/F1/RealtimeSalesforceSync.md +14 -0
  21. package/dist/F1/Release Notes.md +990 -0
  22. package/dist/F1/Search.Api.md +12 -0
  23. package/dist/F1/StreamableLearning.Web.md +35 -0
  24. package/dist/F1/Users.Api.md +13 -0
  25. package/dist/F1/VideoProcessorService.md +23 -0
  26. package/dist/F1/clickview.md +321 -0
  27. package/dist/F2/Analytics Web.md +7 -0
  28. package/dist/F2/Batch.Api.md +27 -0
  29. package/dist/F2/ClickView Online.md +12 -0
  30. package/dist/F2/ClickView.Curator.md +166 -0
  31. package/dist/F2/Clients.md +14 -0
  32. package/dist/F2/CurriculumIngestion.Api.md +13 -0
  33. package/dist/F2/Discover.Api.md +64 -0
  34. package/dist/F2/Domain.Api.md +16 -0
  35. package/dist/F2/Exchange.Web.md +7 -0
  36. package/dist/F2/Krakend.md +12 -0
  37. package/dist/F2/Library Editor.md +11 -0
  38. package/dist/F2/Lite.md +30 -0
  39. package/dist/F2/Objects.Api.md +12 -0
  40. package/dist/F2/Release Notes.md +759 -0
  41. package/dist/F2/Search.Api.md +30 -0
  42. package/dist/F2/Share.Api.md +12 -0
  43. package/dist/F2/StreamableLearning.Web.md +14 -0
  44. package/dist/F2/Subjects.API.md +12 -0
  45. package/dist/F2/Tv.Web.md +8 -0
  46. package/dist/F2/Users.Api.md +21 -0
  47. package/dist/F2/clickview.md +200 -0
  48. package/dist/F2/shortcode-api.md +8 -0
  49. package/dist/F3.1/Analytics Web.md +8 -0
  50. package/dist/F3.1/ClickView.Curator.md +14 -0
  51. package/dist/F3.1/Discover.Api.md +14 -0
  52. package/dist/F3.1/Domain.Api.md +7 -0
  53. package/dist/F3.1/Exchange.Web.md +8 -0
  54. package/dist/F3.1/Library Editor.md +8 -0
  55. package/dist/F3.1/Lite.md +8 -0
  56. package/dist/F3.1/Objects.Api.md +7 -0
  57. package/dist/F3.1/Release Notes.md +207 -0
  58. package/dist/F3.1/Search.Api.md +14 -0
  59. package/dist/F3.1/Share.Api.md +10 -0
  60. package/dist/F3.1/Subjects.API.md +35 -0
  61. package/dist/F3.1/VideoViews.Api.md +7 -0
  62. package/dist/F3.1/clickview.md +28 -0
  63. package/lib/src/api-clients/git-lab/GitLabApiClient.js +20 -1
  64. package/lib/src/api-clients/git-lab/GitLabMapper.js +1 -0
  65. package/lib/src/commands/CreateReleaseNotesCommand.js +12 -1
  66. package/lib/src/commands/StartConsumingProjectBuildsCommand.js +76 -0
  67. package/lib/src/constants/ProjectNames.js +1 -0
  68. package/lib/src/constants/TeamCityBuildIDs.js +1 -0
  69. package/lib/src/index.js +0 -0
  70. package/lib/src/services/GitLabService.js +10 -3
  71. package/lib/src/startup/SetupCommands.js +3 -0
  72. package/lib/src/tasks/StartConsumingProjectBuildsTask.js +149 -0
  73. package/lib/src/tasks/StartProjectBuildsTask.js +38 -17
  74. package/lib/src/tasks/ValidateTask.js +105 -30
  75. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+
2
+ # Code changes
3
+ * Getting `maxItems` in group instead of one by one in recently viewed endpoint
4
+
5
+
6
+ # Testing
7
+
@@ -0,0 +1,28 @@
1
+
2
+ # Curator
3
+
4
+ ## Customer changes
5
+ * Fix dashboard created time.
6
+
7
+ # Lite
8
+
9
+ ## Customer changes
10
+ - Related videos will no longer display, unless the user has come from: A playlist, A series or a dashboard.
11
+ - Related videos will now only show 5 videos, with a chevron to be clicked to show 25.
12
+ - Student feed will no longer show the activity status checkbox
13
+ - Fix shared by me date not updating after direct sharing to previously shared recipient
14
+
15
+ ## Code changes
16
+ - Sending `allowSubstitute=true` as a query param when searching. This is so search can disable substitutes for places don't need it.
17
+ - No longer polling for video progress if the visibility api says the document is hidden.
18
+ - My Videos no longer fetches the category tree until a user moves a folder.
19
+ - Update the braze-client package version
20
+ * Fix the runtime error in the search page.
21
+ * Only fetch the presentation when the slug is valid.
22
+
23
+ # Testing
24
+ - Fixes INBOX-6234
25
+ * Fixes INBOX-6269
26
+ - Fix https://my.trackjs.com/errors/filtered?hash=6082f23657b4a484
27
+ - Fix https://my.trackjs.com/errors/filtered?hash=b5feeabaf3a19ac4
28
+ * Fix https://my.trackjs.com/errors/filtered?hash=bc3ecc4d23b89d3c
@@ -359,7 +359,7 @@ var GitLabApiClient = /** @class */ (function () {
359
359
  });
360
360
  });
361
361
  };
362
- GitLabApiClient.prototype.getMilestone = function (projectId, milestoneName) {
362
+ GitLabApiClient.prototype.getMilestone = function (milestoneName, projectId) {
363
363
  return __awaiter(this, void 0, void 0, function () {
364
364
  var groupMilestones, milestone, projectMilestones;
365
365
  return __generator(this, function (_a) {
@@ -370,6 +370,8 @@ var GitLabApiClient = /** @class */ (function () {
370
370
  milestone = groupMilestones.find(function (milestone) { return milestone.title === milestoneName; });
371
371
  if (milestone)
372
372
  return [2 /*return*/, GitLabMapper_1.GitLabMapper.milestone(milestone)];
373
+ if (!projectId)
374
+ return [2 /*return*/, null];
373
375
  return [4 /*yield*/, this.client.ProjectMilestones.all(projectId)];
374
376
  case 2:
375
377
  projectMilestones = _a.sent();
@@ -381,6 +383,23 @@ var GitLabApiClient = /** @class */ (function () {
381
383
  });
382
384
  });
383
385
  };
386
+ GitLabApiClient.prototype.updateMilestone = function (projectId, mergeRequestId, newMilestoneId) {
387
+ return __awaiter(this, void 0, void 0, function () {
388
+ var updated;
389
+ return __generator(this, function (_a) {
390
+ switch (_a.label) {
391
+ case 0: return [4 /*yield*/, this.client.MergeRequests.edit(projectId, mergeRequestId, {
392
+ milestoneId: newMilestoneId,
393
+ })];
394
+ case 1:
395
+ updated = _a.sent();
396
+ if (!updated)
397
+ return [2 /*return*/, null];
398
+ return [2 /*return*/, GitLabMapper_1.GitLabMapper.milestone(updated.milestone)];
399
+ }
400
+ });
401
+ });
402
+ };
384
403
  GitLabApiClient.prototype.getLabels = function (projectId) {
385
404
  return __awaiter(this, void 0, void 0, function () {
386
405
  var labels;
@@ -5,6 +5,7 @@ exports.GitLabMapper = {
5
5
  mergeRequest: function (m) {
6
6
  var _a;
7
7
  return {
8
+ iid: m.iid,
8
9
  title: m.title,
9
10
  description: m.description,
10
11
  status: m.state,
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
14
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
15
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -62,7 +73,7 @@ var CreateReleaseNotesCommand = /** @class */ (function () {
62
73
  var cont;
63
74
  return __generator(this, function (_a) {
64
75
  switch (_a.label) {
65
- case 0: return [4 /*yield*/, this.validateDescriptionsTask.run(options)];
76
+ case 0: return [4 /*yield*/, this.validateDescriptionsTask.run(__assign(__assign({}, options), { slackNotifier: false }))];
66
77
  case 1:
67
78
  cont = _a.sent();
68
79
  if (!cont)
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (_) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.StartConsumingProjectBuildsCommand = void 0;
52
+ require("reflect-metadata");
53
+ var inversify_1 = require("inversify");
54
+ var types_1 = require("../types");
55
+ var StartConsumingProjectBuildsCommand = /** @class */ (function () {
56
+ function StartConsumingProjectBuildsCommand(startConsumingProjectBuildsTask) {
57
+ this.startConsumingProjectBuildsTask = startConsumingProjectBuildsTask;
58
+ }
59
+ StartConsumingProjectBuildsCommand.prototype.run = function (options) {
60
+ return __awaiter(this, void 0, void 0, function () {
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0: return [4 /*yield*/, this.startConsumingProjectBuildsTask.run(options)];
64
+ case 1: return [2 /*return*/, _a.sent()];
65
+ }
66
+ });
67
+ });
68
+ };
69
+ StartConsumingProjectBuildsCommand = __decorate([
70
+ (0, inversify_1.injectable)(),
71
+ __param(0, (0, inversify_1.inject)(types_1.TASKS.StartConsumingProjectBuildsTask)),
72
+ __metadata("design:paramtypes", [Object])
73
+ ], StartConsumingProjectBuildsCommand);
74
+ return StartConsumingProjectBuildsCommand;
75
+ }());
76
+ exports.StartConsumingProjectBuildsCommand = StartConsumingProjectBuildsCommand;
@@ -39,6 +39,7 @@ exports.PROJECT_NAMES = {
39
39
  discover: '934',
40
40
  library: '1033',
41
41
  krakend: '920',
42
+ share: '922',
42
43
  webplayer: '262',
43
44
  player: '917',
44
45
  autocaptions: '852',
@@ -41,4 +41,5 @@ exports.TeamCityBuildIds = (_a = {},
41
41
  _a[constants_1.PROJECT_NAMES.backend.tvweb] = 'tv_web_BuildAndPackageDocker',
42
42
  _a[constants_1.PROJECT_NAMES.backend.clients] = 'Tooling_Clients_PublishToNuget',
43
43
  _a[constants_1.PROJECT_NAMES.backend.goodstuff] = 'Tooling_GoodStuffInternal_PublishToNuget',
44
+ _a[constants_1.PROJECT_NAMES.backend.share] = 'Api_ShareApi_BuildAndPackageDocker',
44
45
  _a);
package/lib/src/index.js CHANGED
File without changes
@@ -269,7 +269,7 @@ var GitLabService = /** @class */ (function () {
269
269
  var milestone;
270
270
  return __generator(this, function (_a) {
271
271
  switch (_a.label) {
272
- case 0: return [4 /*yield*/, this.getMilestone(projectId, milestoneName)];
272
+ case 0: return [4 /*yield*/, this.getMilestone(milestoneName, projectId)];
273
273
  case 1:
274
274
  milestone = _a.sent();
275
275
  return [2 /*return*/, this.apiClient.createMergeRequest(projectId, branchName, 'master', branchName, description, milestone)];
@@ -277,8 +277,8 @@ var GitLabService = /** @class */ (function () {
277
277
  });
278
278
  });
279
279
  };
280
- GitLabService.prototype.getMilestone = function (projectId, milestoneName) {
281
- return this.apiClient.getMilestone(projectId, milestoneName);
280
+ GitLabService.prototype.getMilestone = function (milestoneName, projectId) {
281
+ return this.apiClient.getMilestone(milestoneName, projectId);
282
282
  };
283
283
  GitLabService.prototype.getReleaseBranchNameMilestone = function (projectId, milestone) {
284
284
  return __awaiter(this, void 0, void 0, function () {
@@ -488,6 +488,13 @@ var GitLabService = /** @class */ (function () {
488
488
  });
489
489
  });
490
490
  };
491
+ GitLabService.prototype.updateMilestone = function (projectId, mergeRequestID, newMilestoneId) {
492
+ return __awaiter(this, void 0, void 0, function () {
493
+ return __generator(this, function (_a) {
494
+ return [2 /*return*/, this.apiClient.updateMilestone(projectId, mergeRequestID, newMilestoneId)];
495
+ });
496
+ });
497
+ };
491
498
  GitLabService = __decorate([
492
499
  (0, inversify_1.injectable)(),
493
500
  __param(0, (0, inversify_1.inject)(types_1.API_CLIENTS.GitLabApiClient)),
@@ -94,9 +94,11 @@ function setupCommands(program, container) {
94
94
  .requiredOption('-m, --milestone <milestone>')
95
95
  .option('-p, --projectIds <projectIds...>')
96
96
  .option('-o, --omit <omittedProjectIds...>')
97
+ .option('-nm, --nextMilestone <nextMilestone>')
97
98
  .option('--hotfix')
98
99
  .option('--major')
99
100
  .option('--trigger-monorepo-build')
101
+ .option('--slack-notifier')
100
102
  .action(function (opts) { return __awaiter(_this, void 0, void 0, function () {
101
103
  var options;
102
104
  return __generator(this, function (_a) {
@@ -146,6 +148,7 @@ function setupCommands(program, container) {
146
148
  .option('--monorepoBranchName <monorepoBranchName>')
147
149
  .option('-p, --projectIds <projectIds...>')
148
150
  .option('-o, --omit <omittedProjectIds...>')
151
+ .option('-t, --targetBranchName <targetBranchName>')
149
152
  .action(function (opts) { return __awaiter(_this, void 0, void 0, function () {
150
153
  var options;
151
154
  return __generator(this, function (_a) {
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (_) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.StartConsumingProjectBuildsTask = void 0;
52
+ require("reflect-metadata");
53
+ var inversify_1 = require("inversify");
54
+ var utils_1 = require("../utils");
55
+ var services_1 = require("../services");
56
+ var types_1 = require("../types");
57
+ var TeamCityBuildIDs_1 = require("../constants/TeamCityBuildIDs");
58
+ var StartConsumingProjectBuildsTask = /** @class */ (function () {
59
+ function StartConsumingProjectBuildsTask(teamCityService, gitLabService) {
60
+ this.teamCityService = teamCityService;
61
+ this.gitLabService = gitLabService;
62
+ }
63
+ StartConsumingProjectBuildsTask.prototype.run = function (_options) {
64
+ return __awaiter(this, void 0, void 0, function () {
65
+ var milestone, options, projects, consumingProjects, projectBuildMap, _i, consumingProjects_1, project, branchName, buildId, build, totalBuilds, project;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ utils_1.Logger.logTask('Starting builds for consuming projects in TeamCity');
70
+ if (!_options.monorepoBranchName && !_options.milestone) {
71
+ utils_1.Logger.logError('Please provide either a milestone or branch name argument.');
72
+ return [2 /*return*/, false];
73
+ }
74
+ milestone = _options.milestone;
75
+ if (!!milestone) return [3 /*break*/, 2];
76
+ utils_1.Logger.logInfo("Searching for a merge request in project \"monorepo\" with branch name \"".concat(_options.monorepoBranchName, "\"..."));
77
+ return [4 /*yield*/, this.gitLabService.getMilestoneByBranchName(utils_1.ProjectIds.MONOREPO_PROJECT_ID, _options.monorepoBranchName)];
78
+ case 1:
79
+ milestone = _a.sent();
80
+ _a.label = 2;
81
+ case 2:
82
+ if (!milestone)
83
+ return [2 /*return*/, false];
84
+ utils_1.Logger.logInfo("Found milestone \"".concat(milestone, "\". Proceeding to run builds for consuming projects..."));
85
+ options = {
86
+ version: _options.version,
87
+ projectIds: _options.projectIds,
88
+ omittedProjectIds: _options.omittedProjectIds,
89
+ milestone: milestone
90
+ };
91
+ return [4 /*yield*/, this.gitLabService.getProjects(options)];
92
+ case 3:
93
+ projects = _a.sent();
94
+ consumingProjects = projects.filter(function (p) { return p.id.toString() !== utils_1.ProjectIds.MONOREPO_PROJECT_ID; });
95
+ if (!consumingProjects.length) {
96
+ utils_1.Logger.logError("No projects that consume monorepo could be found");
97
+ return [2 /*return*/, false];
98
+ }
99
+ projectBuildMap = {};
100
+ _i = 0, consumingProjects_1 = consumingProjects;
101
+ _a.label = 4;
102
+ case 4:
103
+ if (!(_i < consumingProjects_1.length)) return [3 /*break*/, 8];
104
+ project = consumingProjects_1[_i];
105
+ return [4 /*yield*/, this.gitLabService.getReleaseBranchNameMilestone(project.id, options.milestone)];
106
+ case 5:
107
+ branchName = _a.sent();
108
+ if (!branchName) {
109
+ utils_1.Logger.logWarning("Release branch in project \"".concat(project.title, "\" with milestone \"").concat(options.milestone, "\" was not found. Skipping project..."));
110
+ return [3 /*break*/, 7];
111
+ }
112
+ buildId = TeamCityBuildIDs_1.TeamCityBuildIds[project.id.toString()];
113
+ if (!buildId) {
114
+ utils_1.Logger.logWarning("Skipping build for ".concat(project.title, " as no Team City build ID has been specified"));
115
+ return [3 /*break*/, 7];
116
+ }
117
+ return [4 /*yield*/, this.teamCityService.startBuild(buildId, branchName)];
118
+ case 6:
119
+ build = _a.sent();
120
+ projectBuildMap[project.title] = build;
121
+ _a.label = 7;
122
+ case 7:
123
+ _i++;
124
+ return [3 /*break*/, 4];
125
+ case 8:
126
+ totalBuilds = Object.keys(projectBuildMap).length;
127
+ if (!totalBuilds) {
128
+ utils_1.Logger.logWarning("No releases found in consuming projects with milestone \"".concat(options.milestone, "\"."));
129
+ return [2 /*return*/, true];
130
+ }
131
+ utils_1.Logger.logSuccess("Successfully started builds in ".concat(totalBuilds, " projects."));
132
+ for (project in projectBuildMap) {
133
+ utils_1.Logger.logInfo("[".concat(project, "]: ").concat(projectBuildMap[project].webUrl));
134
+ }
135
+ return [2 /*return*/, true];
136
+ }
137
+ });
138
+ });
139
+ };
140
+ StartConsumingProjectBuildsTask = __decorate([
141
+ (0, inversify_1.injectable)(),
142
+ __param(0, (0, inversify_1.inject)(types_1.SERVICES.TeamCityService)),
143
+ __param(1, (0, inversify_1.inject)(types_1.SERVICES.GitLabService)),
144
+ __metadata("design:paramtypes", [services_1.TeamCityService,
145
+ services_1.GitLabService])
146
+ ], StartConsumingProjectBuildsTask);
147
+ return StartConsumingProjectBuildsTask;
148
+ }());
149
+ exports.StartConsumingProjectBuildsTask = StartConsumingProjectBuildsTask;
@@ -62,23 +62,44 @@ var StartProjectBuildsTask = /** @class */ (function () {
62
62
  }
63
63
  StartProjectBuildsTask.prototype.run = function (_options) {
64
64
  return __awaiter(this, void 0, void 0, function () {
65
- var milestone, options, projects, consumingProjects, projectBuildMap, _i, consumingProjects_1, project, branchName, buildId, build, totalBuilds, project;
65
+ var projectName, project, buildId, build, milestone, options, projects, consumingProjects, projectBuildMap, _i, consumingProjects_1, project, branchName, buildId, build, totalBuilds, project;
66
66
  return __generator(this, function (_a) {
67
67
  switch (_a.label) {
68
68
  case 0:
69
69
  utils_1.Logger.logTask('Starting builds for consuming projects in TeamCity');
70
+ if (!(_options.targetBranchName && _options.projectIds)) return [3 /*break*/, 3];
71
+ utils_1.Logger.logMessage("Starting consuming project build for given target branch ".concat(_options.targetBranchName));
72
+ if (_options.projectIds.length > 1) {
73
+ utils_1.Logger.logError("More than one project found!");
74
+ return [2 /*return*/, false];
75
+ }
76
+ projectName = _options.projectIds[0];
77
+ return [4 /*yield*/, this.gitLabService.getProject(projectName)];
78
+ case 1:
79
+ project = _a.sent();
80
+ buildId = TeamCityBuildIDs_1.TeamCityBuildIds[project.id];
81
+ if (!buildId) {
82
+ utils_1.Logger.logWarning("Skipping build for ".concat(project.title, " as no Team City build ID has been specified"));
83
+ return [2 /*return*/, false];
84
+ }
85
+ return [4 /*yield*/, this.teamCityService.startBuild(buildId, _options.targetBranchName)];
86
+ case 2:
87
+ build = _a.sent();
88
+ utils_1.Logger.logInfo("[".concat(project.title, "]: ").concat(build.webUrl));
89
+ return [2 /*return*/, true];
90
+ case 3:
70
91
  if (!_options.monorepoBranchName && !_options.milestone) {
71
92
  utils_1.Logger.logError('Please provide either a milestone or branch name argument.');
72
93
  return [2 /*return*/, false];
73
94
  }
74
95
  milestone = _options.milestone;
75
- if (!!milestone) return [3 /*break*/, 2];
96
+ if (!!milestone) return [3 /*break*/, 5];
76
97
  utils_1.Logger.logInfo("Searching for a merge request in project \"monorepo\" with branch name \"".concat(_options.monorepoBranchName, "\"..."));
77
98
  return [4 /*yield*/, this.gitLabService.getMilestoneByBranchName(utils_1.ProjectIds.MONOREPO_PROJECT_ID, _options.monorepoBranchName)];
78
- case 1:
99
+ case 4:
79
100
  milestone = _a.sent();
80
- _a.label = 2;
81
- case 2:
101
+ _a.label = 5;
102
+ case 5:
82
103
  if (!milestone)
83
104
  return [2 /*return*/, false];
84
105
  utils_1.Logger.logInfo("Found milestone \"".concat(milestone, "\". Proceeding to run builds for consuming projects..."));
@@ -89,7 +110,7 @@ var StartProjectBuildsTask = /** @class */ (function () {
89
110
  milestone: milestone
90
111
  };
91
112
  return [4 /*yield*/, this.gitLabService.getProjects(options)];
92
- case 3:
113
+ case 6:
93
114
  projects = _a.sent();
94
115
  consumingProjects = projects.filter(function (p) { return p.id.toString() !== utils_1.ProjectIds.MONOREPO_PROJECT_ID; });
95
116
  if (!consumingProjects.length) {
@@ -98,31 +119,31 @@ var StartProjectBuildsTask = /** @class */ (function () {
98
119
  }
99
120
  projectBuildMap = {};
100
121
  _i = 0, consumingProjects_1 = consumingProjects;
101
- _a.label = 4;
102
- case 4:
103
- if (!(_i < consumingProjects_1.length)) return [3 /*break*/, 8];
122
+ _a.label = 7;
123
+ case 7:
124
+ if (!(_i < consumingProjects_1.length)) return [3 /*break*/, 11];
104
125
  project = consumingProjects_1[_i];
105
126
  return [4 /*yield*/, this.gitLabService.getReleaseBranchNameMilestone(project.id, options.milestone)];
106
- case 5:
127
+ case 8:
107
128
  branchName = _a.sent();
108
129
  if (!branchName) {
109
130
  utils_1.Logger.logWarning("Release branch in project \"".concat(project.title, "\" with milestone \"").concat(options.milestone, "\" was not found. Skipping project..."));
110
- return [3 /*break*/, 7];
131
+ return [3 /*break*/, 10];
111
132
  }
112
133
  buildId = TeamCityBuildIDs_1.TeamCityBuildIds[project.id.toString()];
113
134
  if (!buildId) {
114
135
  utils_1.Logger.logWarning("Skipping build for ".concat(project.title, " as no Team City build ID has been specified"));
115
- return [3 /*break*/, 7];
136
+ return [3 /*break*/, 10];
116
137
  }
117
138
  return [4 /*yield*/, this.teamCityService.startBuild(buildId, branchName)];
118
- case 6:
139
+ case 9:
119
140
  build = _a.sent();
120
141
  projectBuildMap[project.title] = build;
121
- _a.label = 7;
122
- case 7:
142
+ _a.label = 10;
143
+ case 10:
123
144
  _i++;
124
- return [3 /*break*/, 4];
125
- case 8:
145
+ return [3 /*break*/, 7];
146
+ case 11:
126
147
  totalBuilds = Object.keys(projectBuildMap).length;
127
148
  if (!totalBuilds) {
128
149
  utils_1.Logger.logWarning("No releases found in consuming projects with milestone \"".concat(options.milestone, "\"."));