UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

76 lines 6.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MSTeamsPlugin = void 0; const https_1 = require("https"); const ms_teams_payload_1 = require("./ms-teams-payload"); class MSTeamsPlugin { teamsWebhookUrl; name = 'MS Teams release notifications'; async onPublish(application, packedPackages) { if (application.configuration.options.independentVersioning) { for (const packedPackage of packedPackages) { if (packedPackage.packFiles) { await this.process(application.branch, packedPackage); } } } else { const projectPackage = packedPackages.find(p => p.packageRelativeCwd === application.project.relativeCwd); if (projectPackage) { await this.process(application.branch, projectPackage); } } } async process(branch, packedPackage) { const body = (0, ms_teams_payload_1.payload)({ branch, packedPackage, }); if (this.teamsWebhookUrl) { await this.notifyTeams(new URL(this.teamsWebhookUrl), body); } else { console.log('teamsWebhookUrl not set. Printing card content:\n', JSON.stringify(body, null, 2)); } } constructor(teamsWebhookUrl) { this.teamsWebhookUrl = teamsWebhookUrl; } async notifyTeams(url, body) { return new Promise((resolve, reject) => { const content = JSON.stringify(body); const options = { host: url.host, port: 443, path: url.pathname, method: 'POST', headers: { // eslint-disable-next-line @typescript-eslint/naming-convention 'content-type': 'application/json', // eslint-disable-next-line @typescript-eslint/naming-convention 'content-length': content.length, }, }; console.log(options); const req = (0, https_1.request)(options, res => { console.log(`STATUS: ${res.statusCode}`); console.log(`HEADERS: ${JSON.stringify(res.headers)}`); res.setEncoding('utf8'); res.on('data', chunk => { console.log(`BODY: ${chunk}`); }); resolve(res); }); req.on('error', e => { console.log(`problem with request: ${e.message}`); reject(e); }); // write data to request body console.log(content); req.write(content); req.end(); }); } } exports.MSTeamsPlugin = MSTeamsPlugin; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtdGVhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9leHRlcm5hbC9tcy10ZWFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBZ0Q7QUFPaEQseURBQTZDO0FBRTdDLE1BQWEsYUFBYTtJQStCSjtJQTlCcEIsSUFBSSxHQUFHLGdDQUFnQyxDQUFDO0lBRXhDLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBeUIsRUFBRSxjQUErQjtRQUN4RSxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDNUQsS0FBSyxNQUFNLGFBQWEsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUN4RCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsS0FBSyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBRSxDQUFDO1lBQzNHLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBcUIsRUFBRSxhQUE0QjtRQUMvRCxNQUFNLElBQUksR0FBRyxJQUFBLDBCQUFPLEVBQUM7WUFDbkIsTUFBTTtZQUNOLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQW9CLGVBQXVCO1FBQXZCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBQzNDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQVEsRUFBRSxJQUFTO1FBQ25DLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxNQUFNLE9BQU8sR0FBbUI7Z0JBQzlCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDZCxJQUFJLEVBQUUsR0FBRztnQkFDVCxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVE7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxnRUFBZ0U7b0JBQ2hFLGNBQWMsRUFBRSxrQkFBa0I7b0JBQ2xDLGdFQUFnRTtvQkFDaEUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE1BQU07aUJBQ2pDO2FBQ0YsQ0FBQztZQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFckIsTUFBTSxHQUFHLEdBQUcsSUFBQSxlQUFPLEVBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7WUFFSCxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1lBRUgsNkJBQTZCO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpFRCxzQ0F5RUMifQ==