pipeline { agent any environment { TELEAPI_KEY = credentials('telegram-token') } stages { stage('Git-checout') { steps { echo "Checkout from git repo" } } stage('Compile') { steps { echo "Compilation was a success!!!" } } stage('JUnit') { steps { echo "JUnit passed!!" } } stage('Quality-gate') { steps { echo "Sonaqube static code analysis passed!!" sh 'return 0' // change to 1 for testing a failure } } stage('Deploy') { steps { echo "Deployment successful!!" } } } post { always { echo "This will always run" } success { echo "This will run only upon success" sh 'curl -s -o /dev/null https://api.telegram.org/bot${TELEAPI_KEY}/sendMessage -d chat_id="${TELE_CHAT_ID}" -d text="[✅] Build Is a success"' } failure { echo "This will run/show only if failed" sh 'curl -s -o /dev/null https://api.telegram.org/bot${TELEAPI_KEY}/sendMessage -d chat_id="${TELE_CHAT_ID}" -d text="[❌] Failed to build 😱"' } unstable { echo "This will show only if the was marked as unstable!" } changed { echo "This will run only if the state of the pipeline has changed." echo "For example, if the pipeline was previously failing but it's now successful." } } }