Este es probablemente un error del 100% del usuario, pero no puedo obtener un trabajo de canalización para usar una variable como el nombre del canal en un paso slackSend.
Esto usa el complemento Slack y el complemento Build User Vars . Estoy tratando de usar BUILD_USER_FIRST_NAME
para identificar a qué canal volver Slack (es decir, el que comienza la compilación debería ser el que reciba el mensaje).
Llegué a la mitad con este artículo sobre cómo usar el complemento de usuario de compilación en un trabajo de canalización, pero sustituir la variable me está tropezando.
La parte relevante del trabajo se ve así;
stage ('message') {
wrap([$class: 'BuildUser']) {
sh "printf '%s' ${BUILD_USER_FIRST_NAME} > name.txt"
}
archiveArtifacts artifacts: 'name.txt'
name = readFile('name.txt')
echo "name is $name" //works fine, I get Alex
if ( "$output" != null ) {
slackSend (channel: '@$name', color: '#36A64F', message: "Job succeeded")
} else {
slackSend (channel: '@$name', color: '#36A64F', message: "Job failed")
}
}
He intentado lo siguiente en lugar del bit de canal, todos han fallado con Slack post may have failed. Response: Invalid channel specified
errores indeterminados .
channel: '@${name}',
channel: '@" + ${name} + "',
channel: '@"${name}"',
La salida esperada es que resolvería channel: '@Alex',
¿Cuál es la sintaxis adecuada?