Basicamente, estamos desenvolvendo troncos aqui e temos vários serviços no mesmo diretório.
Eu tenho um trabalho do Jenkins que é acionado através do webhook do GitHub e que executará algumas ações apenas se houver uma alteração em um diretório específico desse repositório:
pipeline {
agent any
stages {
stage('Building') {
when { changeset "subdirectory/*"}
steps {
-- do whatever is configured
}
}
stage('Deploying to Dev') {
when { changeset "subdirectory/*"}
steps {
-- do whatever is configured
}
}
}
}
Essa parte funciona bem. No meu outro Jenkinsfile que acionamos manualmente, também tenho isso, para enviar uma notificação no Slack:
post {
success {
slackSend channel: '#my-notif-channel',
color: 'good',
message: "Yay ! "
}
failure {
slackSend channel: '#my-notif-channel',
color: 'danger',
message: "Nay !"
}
}
O problema é que, quer tenha havido uma alteração ou não nesse diretório, a notificação será enviada. Existe uma maneira de ativar esse bloco somente quando houver uma alteração no meu subdiretório?