이것은 100 % 사용자 오류 일 수 있지만 slackSend 단계에서 변수를 채널 이름으로 사용하는 파이프 라인 작업을 얻을 수 없습니다.
Slack 플러그인 과 Build User Vars 플러그인을 모두 사용합니다 . BUILD_USER_FIRST_NAME
Slack으로 돌아갈 채널을 식별하는 데 사용하려고합니다 (즉, 빌드를 시작하는 것이 메시지를 얻는 채널이어야 함).
파이프 라인 작업에서 빌드 사용자 플러그인을 사용하는 방법에 대해이 기사 와 함께 반쯤 가졌지 만 변수를 대체하면 문제가 발생합니다.
작업의 관련 부분은 다음과 같습니다.
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")
}
}
채널 비트 대신 다음을 시도했지만 모두 불확실한 Slack post may have failed. Response: Invalid channel specified
오류로 실패했습니다 .
channel: '@${name}',
channel: '@" + ${name} + "',
channel: '@"${name}"',
예상되는 결과는 channel: '@Alex',
올바른 구문은 무엇입니까?