@clickview/ship-it 0.0.39 → 0.0.41

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 (124) hide show
  1. package/Dockerfile +33 -33
  2. package/README.md +48 -48
  3. package/config.json +19 -19
  4. package/dist/I3/I3 Notes Audit.csv +127 -0
  5. package/dist/J1/J1 Notes Audit.csv +38 -0
  6. package/dist/J2/J2 Notes Audit.csv +52 -0
  7. package/dist/L1/L1 Notes Audit.csv +139 -0
  8. package/lib/config.json +20 -20
  9. package/lib/src/api-clients/git-lab/GitLabApiClient.js +561 -439
  10. package/lib/src/api-clients/git-lab/GitLabMapper.js +122 -82
  11. package/lib/src/api-clients/index.js +20 -20
  12. package/lib/src/api-clients/slack/SlackApiClient.js +206 -206
  13. package/lib/src/api-clients/team-city/TeamCityApiClient.js +100 -100
  14. package/lib/src/api-clients/trello/TrelloApiClient.js +145 -145
  15. package/lib/src/commands/BumpPackagesCommand.js +76 -76
  16. package/lib/src/commands/ConfigureProjectsCommand.js +84 -0
  17. package/lib/src/commands/CreateBranchCommand.js +100 -100
  18. package/lib/src/commands/CreateMergeRequestCommand.js +107 -107
  19. package/lib/src/commands/CreateNotesAuditCommand.js +84 -84
  20. package/lib/src/commands/CreateReleaseNotesCommand.js +95 -95
  21. package/lib/src/commands/CreateTrelloCardsCommand.js +77 -77
  22. package/lib/src/commands/InstallPackagesCommand.js +76 -76
  23. package/lib/src/commands/ListProjectsCommand.js +76 -76
  24. package/lib/src/commands/ReleaseCommand.js +136 -129
  25. package/lib/src/commands/StartProjectBuildsCommand.js +76 -76
  26. package/lib/src/commands/StatusCommand.js +93 -88
  27. package/lib/src/commands/TagMasterCommand.js +76 -76
  28. package/lib/src/commands/ValidateMergeRequestCommand.js +76 -76
  29. package/lib/src/commands/VersionCommand.js +76 -76
  30. package/lib/src/commands/index.js +31 -30
  31. package/lib/src/constants/CommandTypeMapping.js +21 -20
  32. package/lib/src/constants/GitLabMemberIds.js +6 -6
  33. package/lib/src/constants/MonorepoPackageJsonFiles.js +41 -41
  34. package/lib/src/constants/MonorepoProjectNames.js +16 -16
  35. package/lib/src/constants/ProjectNames.js +69 -69
  36. package/lib/src/constants/SlackUserEmailList.js +13 -13
  37. package/lib/src/constants/TeamCityBuildIDs.js +46 -46
  38. package/lib/src/constants/index.js +19 -19
  39. package/lib/src/errors/ShipItError.js +32 -32
  40. package/lib/src/errors/index.js +17 -17
  41. package/lib/src/index.js +18 -18
  42. package/lib/src/interfaces/Config.js +2 -2
  43. package/lib/src/interfaces/MergeRequestState.js +2 -2
  44. package/lib/src/interfaces/ProjectNames.js +2 -2
  45. package/lib/src/interfaces/ShipItCommand.js +2 -2
  46. package/lib/src/interfaces/ShipItTask.js +2 -2
  47. package/lib/src/interfaces/VersionType.js +2 -2
  48. package/lib/src/interfaces/command-cli-options/MilestoneCommandCliOptions.js +2 -2
  49. package/lib/src/interfaces/command-cli-options/ReleaseCommandCliOptions.js +2 -2
  50. package/lib/src/interfaces/command-cli-options/StatusCommandCliOptions.js +2 -2
  51. package/lib/src/interfaces/command-cli-options/index.js +19 -19
  52. package/lib/src/interfaces/command-options/BaseCommandOptions.js +2 -2
  53. package/lib/src/interfaces/command-options/BumpPackagesCommandOptions.js +2 -2
  54. package/lib/src/interfaces/command-options/ConfigureProjectsOptions.js +2 -0
  55. package/lib/src/interfaces/command-options/DockerMilestoneCommandOptions.js +2 -2
  56. package/lib/src/interfaces/command-options/MilestoneCommandOptions.js +2 -2
  57. package/lib/src/interfaces/command-options/ReleaseCommandOptions.js +2 -2
  58. package/lib/src/interfaces/command-options/StatusCommandOptions.js +2 -2
  59. package/lib/src/interfaces/command-options/ValidateMRCommandOptions.js +2 -2
  60. package/lib/src/interfaces/command-options/index.js +23 -22
  61. package/lib/src/interfaces/index.js +26 -26
  62. package/lib/src/interfaces/models/ApprovalRule.js +2 -0
  63. package/lib/src/interfaces/models/ApprovalRuleConfiguration.js +2 -0
  64. package/lib/src/interfaces/models/Branch.js +2 -2
  65. package/lib/src/interfaces/models/Commit.js +2 -2
  66. package/lib/src/interfaces/models/CommitFile.js +2 -2
  67. package/lib/src/interfaces/models/CreateApprovalRuleRequest.js +2 -0
  68. package/lib/src/interfaces/models/File.js +2 -2
  69. package/lib/src/interfaces/models/Group.js +2 -0
  70. package/lib/src/interfaces/models/Label.js +2 -2
  71. package/lib/src/interfaces/models/MergeRequest.js +2 -2
  72. package/lib/src/interfaces/models/Milestone.js +2 -2
  73. package/lib/src/interfaces/models/Project.js +2 -2
  74. package/lib/src/interfaces/models/ProjectConfig.js +9 -9
  75. package/lib/src/interfaces/models/ProtectedBranch.js +2 -0
  76. package/lib/src/interfaces/models/Release.js +2 -2
  77. package/lib/src/interfaces/models/Tag.js +2 -2
  78. package/lib/src/interfaces/models/index.js +32 -26
  79. package/lib/src/interfaces/view-models/MilestoneProject.js +2 -2
  80. package/lib/src/interfaces/view-models/index.js +17 -17
  81. package/lib/src/inversify.config.js +79 -74
  82. package/lib/src/services/GitLabService.js +544 -510
  83. package/lib/src/services/SlackService.js +142 -142
  84. package/lib/src/services/TeamCityService.js +37 -37
  85. package/lib/src/services/TrelloService.js +84 -84
  86. package/lib/src/services/index.js +20 -20
  87. package/lib/src/startup/AddMilestoneCommand.js +96 -96
  88. package/lib/src/startup/GetAction.js +68 -68
  89. package/lib/src/startup/SetupCommands.js +180 -168
  90. package/lib/src/tasks/BumpPackagesTask.js +230 -230
  91. package/lib/src/tasks/BumpVersionTxtTask.js +110 -110
  92. package/lib/src/tasks/CommitPackageVersionsTask.js +116 -0
  93. package/lib/src/tasks/CreateBranchTask.js +104 -104
  94. package/lib/src/tasks/CreateMergeRequestTask.js +118 -118
  95. package/lib/src/tasks/CreateNotesAuditTask.js +140 -140
  96. package/lib/src/tasks/CreateReleaseNotesTask.js +144 -144
  97. package/lib/src/tasks/InstallPackagesTask.js +415 -415
  98. package/lib/src/tasks/ListProjectsTask.js +87 -87
  99. package/lib/src/tasks/PopulateTrelloBoardTask.js +140 -140
  100. package/lib/src/tasks/StartMonorepoBuildTask.js +109 -109
  101. package/lib/src/tasks/StartProjectBuildsTask.js +170 -170
  102. package/lib/src/tasks/TagMasterTask.js +189 -189
  103. package/lib/src/tasks/ValidateCommitsTask.js +143 -143
  104. package/lib/src/tasks/ValidateDescriptionsTask.js +178 -178
  105. package/lib/src/tasks/ValidateMergeRequestTask.js +115 -115
  106. package/lib/src/tasks/ValidateTask.js +419 -419
  107. package/lib/src/tasks/VersionTask.js +98 -98
  108. package/lib/src/tasks/configure-projects/AddApprovalRulesTask.js +199 -0
  109. package/lib/src/tasks/configure-projects/CreateToolingBranchTask.js +138 -0
  110. package/lib/src/tasks/configure-projects/EnsureApprovalRulesTask.js +106 -0
  111. package/lib/src/tasks/configure-projects/index.js +18 -0
  112. package/lib/src/tasks/configure-projects/primitives/BaseConfigureProjectsTask.js +98 -0
  113. package/lib/src/tasks/index.js +34 -33
  114. package/lib/src/types.js +60 -56
  115. package/lib/src/utils/BranchNames.js +11 -11
  116. package/lib/src/utils/Commits.js +55 -55
  117. package/lib/src/utils/Csv.js +54 -54
  118. package/lib/src/utils/Descriptions.js +274 -274
  119. package/lib/src/utils/GroupIds.js +6 -6
  120. package/lib/src/utils/Logger.js +62 -62
  121. package/lib/src/utils/ProjectIds.js +47 -47
  122. package/lib/src/utils/Versions.js +20 -20
  123. package/lib/src/utils/index.js +22 -22
  124. package/package.json +50 -50
@@ -1,144 +1,144 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
51
- return (mod && mod.__esModule) ? mod : { "default": mod };
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.CreateReleaseNotesTask = void 0;
55
- require("reflect-metadata");
56
- var fs_extra_1 = __importDefault(require("fs-extra"));
57
- var inversify_1 = require("inversify");
58
- var path_1 = __importDefault(require("path"));
59
- var types_1 = require("../types");
60
- var services_1 = require("../services");
61
- var utils_1 = require("../utils");
62
- var CreateReleaseNotesTask = /** @class */ (function () {
63
- function CreateReleaseNotesTask(gitlabService, slackService) {
64
- this.gitlabService = gitlabService;
65
- this.slackService = slackService;
66
- }
67
- CreateReleaseNotesTask.prototype.run = function (options) {
68
- var _a;
69
- return __awaiter(this, void 0, void 0, function () {
70
- var projects, combinedDescription, _i, projects_1, project, fileName, description, projectConfig, outputPath_1, outputPath, fileName, threadLabel, threadTs, _b;
71
- return __generator(this, function (_c) {
72
- switch (_c.label) {
73
- case 0:
74
- utils_1.Logger.logTask('Creating release notes');
75
- return [4 /*yield*/, this.gitlabService.getProjects(options)];
76
- case 1:
77
- projects = _c.sent();
78
- combinedDescription = '';
79
- _i = 0, projects_1 = projects;
80
- _c.label = 2;
81
- case 2:
82
- if (!(_i < projects_1.length)) return [3 /*break*/, 6];
83
- project = projects_1[_i];
84
- fileName = "".concat(project.title, ".md");
85
- description = '';
86
- return [4 /*yield*/, this.gitlabService.getProjectConfig(project.id, 'dev')];
87
- case 3:
88
- projectConfig = _c.sent();
89
- if (projectConfig.monorepo.enabled) {
90
- description = utils_1.Descriptions.getMonorepoCombinedDescription(project.mergeRequests);
91
- }
92
- else {
93
- description = utils_1.Descriptions.getCombinedDescription(project.mergeRequests);
94
- }
95
- combinedDescription += '\n# ' + project.title + '\n';
96
- combinedDescription += utils_1.Descriptions.bumpHeadings(description);
97
- outputPath_1 = "./dist/".concat(options.milestone, "/").concat(fileName);
98
- return [4 /*yield*/, fs_extra_1.default.outputFile(path_1.default.resolve(outputPath_1), description)];
99
- case 4:
100
- _c.sent();
101
- _c.label = 5;
102
- case 5:
103
- _i++;
104
- return [3 /*break*/, 2];
105
- case 6:
106
- outputPath = "./dist/".concat(options.milestone, "/Release Notes.md");
107
- return [4 /*yield*/, fs_extra_1.default.outputFile(path_1.default.resolve(outputPath), combinedDescription)];
108
- case 7:
109
- _c.sent();
110
- utils_1.Logger.logMessage('Created file');
111
- utils_1.Logger.logInfo("".concat(path_1.default.resolve(outputPath), "\n"));
112
- if (!options.slackNotifier) return [3 /*break*/, 13];
113
- fileName = 'releaseNotes.md';
114
- threadLabel = "".concat(options.milestone, " Release Notes!");
115
- return [4 /*yield*/, this.slackService.findLatestMessageTs(threadLabel)];
116
- case 8:
117
- if (!((_a = _c.sent()) !== null && _a !== void 0)) return [3 /*break*/, 9];
118
- _b = _a;
119
- return [3 /*break*/, 11];
120
- case 9: return [4 /*yield*/, this.slackService.sendMessageToChannel(threadLabel)];
121
- case 10:
122
- _b = (_c.sent()).ts;
123
- _c.label = 11;
124
- case 11:
125
- threadTs = _b;
126
- return [4 /*yield*/, this.slackService.uploadFileToChannel(combinedDescription, fileName, threadTs)];
127
- case 12:
128
- _c.sent();
129
- _c.label = 13;
130
- case 13: return [2 /*return*/, true];
131
- }
132
- });
133
- });
134
- };
135
- CreateReleaseNotesTask = __decorate([
136
- (0, inversify_1.injectable)(),
137
- __param(0, (0, inversify_1.inject)(types_1.SERVICES.GitLabService)),
138
- __param(1, (0, inversify_1.inject)(types_1.SERVICES.SlackService)),
139
- __metadata("design:paramtypes", [services_1.GitLabService,
140
- services_1.SlackService])
141
- ], CreateReleaseNotesTask);
142
- return CreateReleaseNotesTask;
143
- }());
144
- exports.CreateReleaseNotesTask = CreateReleaseNotesTask;
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
51
+ return (mod && mod.__esModule) ? mod : { "default": mod };
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.CreateReleaseNotesTask = void 0;
55
+ require("reflect-metadata");
56
+ var fs_extra_1 = __importDefault(require("fs-extra"));
57
+ var inversify_1 = require("inversify");
58
+ var path_1 = __importDefault(require("path"));
59
+ var types_1 = require("../types");
60
+ var services_1 = require("../services");
61
+ var utils_1 = require("../utils");
62
+ var CreateReleaseNotesTask = /** @class */ (function () {
63
+ function CreateReleaseNotesTask(gitlabService, slackService) {
64
+ this.gitlabService = gitlabService;
65
+ this.slackService = slackService;
66
+ }
67
+ CreateReleaseNotesTask.prototype.run = function (options) {
68
+ var _a;
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ var projects, combinedDescription, _i, projects_1, project, fileName, description, projectConfig, outputPath_1, outputPath, fileName, threadLabel, threadTs, _b;
71
+ return __generator(this, function (_c) {
72
+ switch (_c.label) {
73
+ case 0:
74
+ utils_1.Logger.logTask('Creating release notes');
75
+ return [4 /*yield*/, this.gitlabService.getProjects(options)];
76
+ case 1:
77
+ projects = _c.sent();
78
+ combinedDescription = '';
79
+ _i = 0, projects_1 = projects;
80
+ _c.label = 2;
81
+ case 2:
82
+ if (!(_i < projects_1.length)) return [3 /*break*/, 6];
83
+ project = projects_1[_i];
84
+ fileName = "".concat(project.title, ".md");
85
+ description = '';
86
+ return [4 /*yield*/, this.gitlabService.getProjectConfig(project.id, 'dev')];
87
+ case 3:
88
+ projectConfig = _c.sent();
89
+ if (projectConfig.monorepo.enabled) {
90
+ description = utils_1.Descriptions.getMonorepoCombinedDescription(project.mergeRequests);
91
+ }
92
+ else {
93
+ description = utils_1.Descriptions.getCombinedDescription(project.mergeRequests);
94
+ }
95
+ combinedDescription += '\n# ' + project.title + '\n';
96
+ combinedDescription += utils_1.Descriptions.bumpHeadings(description);
97
+ outputPath_1 = "./dist/".concat(options.milestone, "/").concat(fileName);
98
+ return [4 /*yield*/, fs_extra_1.default.outputFile(path_1.default.resolve(outputPath_1), description)];
99
+ case 4:
100
+ _c.sent();
101
+ _c.label = 5;
102
+ case 5:
103
+ _i++;
104
+ return [3 /*break*/, 2];
105
+ case 6:
106
+ outputPath = "./dist/".concat(options.milestone, "/Release Notes.md");
107
+ return [4 /*yield*/, fs_extra_1.default.outputFile(path_1.default.resolve(outputPath), combinedDescription)];
108
+ case 7:
109
+ _c.sent();
110
+ utils_1.Logger.logMessage('Created file');
111
+ utils_1.Logger.logInfo("".concat(path_1.default.resolve(outputPath), "\n"));
112
+ if (!options.slackNotifier) return [3 /*break*/, 13];
113
+ fileName = 'releaseNotes.md';
114
+ threadLabel = "".concat(options.milestone, " Release Notes!");
115
+ return [4 /*yield*/, this.slackService.findLatestMessageTs(threadLabel)];
116
+ case 8:
117
+ if (!((_a = _c.sent()) !== null && _a !== void 0)) return [3 /*break*/, 9];
118
+ _b = _a;
119
+ return [3 /*break*/, 11];
120
+ case 9: return [4 /*yield*/, this.slackService.sendMessageToChannel(threadLabel)];
121
+ case 10:
122
+ _b = (_c.sent()).ts;
123
+ _c.label = 11;
124
+ case 11:
125
+ threadTs = _b;
126
+ return [4 /*yield*/, this.slackService.uploadFileToChannel(combinedDescription, fileName, threadTs)];
127
+ case 12:
128
+ _c.sent();
129
+ _c.label = 13;
130
+ case 13: return [2 /*return*/, true];
131
+ }
132
+ });
133
+ });
134
+ };
135
+ CreateReleaseNotesTask = __decorate([
136
+ (0, inversify_1.injectable)(),
137
+ __param(0, (0, inversify_1.inject)(types_1.SERVICES.GitLabService)),
138
+ __param(1, (0, inversify_1.inject)(types_1.SERVICES.SlackService)),
139
+ __metadata("design:paramtypes", [services_1.GitLabService,
140
+ services_1.SlackService])
141
+ ], CreateReleaseNotesTask);
142
+ return CreateReleaseNotesTask;
143
+ }());
144
+ exports.CreateReleaseNotesTask = CreateReleaseNotesTask;