Jenkinsfile: compila solo si se cambia en un subdirectorio específico, cómo administrar la acción posterior

Jenkinsfile: compila solo si se cambia en un subdirectorio específico, cómo administrar la acción posterior

Básicamente, estamos desarrollando un tronco aquí y tenemos toneladas de servicios en el mismo directorio.

Tengo un trabajo de Jenkins que se activa a través del webhook de GitHub y que realizará algunas acciones solo si hay un cambio en un directorio específico de ese repositorio:

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
                        }
                }
        }
}

Esa parte funciona bien. En mi otro archivo Jenkins que activamos manualmente, también tengo esto para enviar una notificación en Slack:

        post {
                success {
                        slackSend channel: '#my-notif-channel',
                        color: 'good',
                        message: "Yay ! "
                }
                failure {
                        slackSend channel: '#my-notif-channel',
                        color: 'danger',
                        message: "Nay !"
                }
        }

El problema con esto es que, ya sea que haya un cambio o no en ese directorio, se enviará la notificación. ¿Hay alguna manera de habilitar ese bloque solo cuando hay un cambio en mi subdirectorio?

información relacionada