@jwpkg/gitversion
Version:
Gitversion is a complete customizable git-based release management system
76 lines • 6.02 kB
JavaScript
;
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==