From 6c6ea91052f4557de377f923cb649de6512e639b Mon Sep 17 00:00:00 2001 From: yuobrezkov Date: Mon, 17 Mar 2025 16:13:06 +0300 Subject: [PATCH] Added correct notify for jenkinsfile --- Jenkinsfile | 26 +++++++++++++++++++++++++- package-lock.json | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 745cad1..4423684 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,24 @@ +def notify( + String context, + String giteaUser, + String giteaPass, + String repositoryUrl, + String repositoryName, + String commitHash, + String buildStatus +) { + def status = buildStatus == 'success' ? 'success' : 'failure' + def description = buildStatus == 'success' ? 'Build succeeded' : 'Build failed' + + sh """ + curl -X POST \ + -u "${giteaUser}:${giteaPass}" \ + -H "Content-Type: application/json" \ + -d '{"context":"${context}","state": "${status}", "description": "${description}"}' \ + ${repositoryUrl}deployer3000/${repositoryName}/statuses/${commitHash} + """ +} + pipeline { agent any environment { @@ -57,7 +78,10 @@ pipeline { -d '{"do":"merge"}' \ http://git.entcor/api/v1/repos/deployer3000/trust-module-backend/pulls/${prId}/merge """ - echo "PR ${prId} merged successfully into master!" + echo "PR ${prId} merged successfully into main!" + def context = "test-org/trust-module-backend/pipeline/pr-${env.CHANGE_TARGET}" + def commitHash = sh(script: "git rev-parse HEAD~1", returnStdout: true).trim() + notify(context, GITEA_USER, GITEA_PASS, env.GITEA_REPOSITORY_URL, "trust-module-backend", commitHash, "success") } } } diff --git a/package-lock.json b/package-lock.json index 1a165cd..fd97613 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,11 @@ "dependencies": { "@nestjs/axios": "^4.0.0", "@nestjs/common": "^11.0.1", + "@nestjs/config": "^4.0.0", "@nestjs/core": "^11.0.1", "@nestjs/platform-express": "^11.0.1", "axios": "^1.7.9", + "dotenv": "^16.3.1", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1" }, @@ -2278,6 +2280,20 @@ } } }, + "node_modules/@nestjs/config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-4.0.1.tgz", + "integrity": "sha512-0hr6lKS//Wf8A6VcV69ts8uD0fke6jtmmmXSxzvwAzOM/HEXEKYEp21nRU+cpYxlYqm7Khb0oTOoVuDGk+AWUw==", + "dependencies": { + "dotenv": "16.4.7", + "dotenv-expand": "12.0.1", + "lodash": "4.17.21" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "rxjs": "^7.1.0" + } + }, "node_modules/@nestjs/core": { "version": "11.0.9", "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.0.9.tgz", @@ -5218,6 +5234,31 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.1.tgz", + "integrity": "sha512-LaKRbou8gt0RNID/9RoI+J2rvXsBRPMV7p+ElHlPhcSARbCPDYcYG2s1TIzAfWv4YSgyY5taidWzzs31lNV3yQ==", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -7985,7 +8026,6 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, "license": "MIT" }, "node_modules/lodash.memoize": { -- 2.40.1