2011-03-03 3 views
7

우리는 프로젝트에서 내부적으로 허드슨 빌드 서버를 실행하고 있습니다. 서버가 새 버전을 배포 할 때마다 전자 메일을 발송합니다.전자 메일에서 Hudson "매개 변수화 된 빌드"값을 사용하는 방법

이 이메일에 사용자 이름과 빌드 이유 등의 추가 정보가 포함되어 있습니다.

Parameterized builds의 hudsons 설명서에서 빌드에 텍스트 매개 변수를 추가했습니다. 나는 (작동을 확인하기 위해) 두 개의 서로 다른 사람과 여기에 노력하고 있습니다 : 작업 구성 This build is parameterized에서

내가 다음과 같은 두 가지 변수

Name:   USER 
Default value: userCAPITALIZED 

Name:   user 
Default value: userstandard 

parameterized settings http://justaddwater.dk/wp-content/uploads/2011/03/hudson-parameterize-settings-243x300.png의 페이지의 스크린 샷을 추가했습니다.

이제 하단의 "편집 가능한 이메일 알림"아래에서이 값을 검색하는 데 모든 것을 시도했습니다.

작동 방식 : 모든 표준 허드슨 빌드 변수가 작동합니다. $CHANGES, $SVN_REVISION

같은 행운도없이 변수 userUSER에 액세스하려고했습니다.

subject: test of parametrized mail 1user:${env.user}, 2USER:${USER}, 3$USER, 4${ENV, USER}, 5%USER%,stop 

more tests 
${env, user} 
${env, USER} 
${ENV, user} 
${ENV, USER} 
${user} 
${USER} 
${env.user} 
${ENV.user} 
${env.USER} 
${ENV.USER} 
$user 
$USER 
%user% 
%USER% 

changes $CHANGES 
changes ${CHANGES} 
subversion revision: $SVN_REVISION 
subversion revision: ${SVN_REVISION} 
이 단지이 내용을 이메일로 결과

Screenshot of email configuration http://justaddwater.dk/wp-content/uploads/2011/03/hudson-email-configuration-parameters-300x171.png

가 :

test of parametrized mail 1user:${env.user}, 2USER:${USER}, 3$USER, 4${ENV, USER}, 5%USER%,stop 

more tests 
${env, user} 
${env, USER} 
${ENV, user} 
${ENV, USER} 
${user} 
${USER} 
${env.user} 
${ENV.user} 
${env.USER} 
${ENV.USER} 
$user 
$USER 
%user% 
%USER% 

changes 
changes 
subversion revision: 400 
subversion revision: 400 

당신이 볼 수 있듯이이 만 파괴 개정이 제대로 확장 여기에 작동하지 않는 것의 목록입니다 . 이 특정 작업에 대한 변경 사항은 공백이므로 무시하십시오.

이메일에 매개 변수를 어떻게 정의합니까? 어떤 제안? 나는 당신이이 같은 매개 변수를 사용할 필요가 허드슨 버전 1.395

+0

바로 적립이 질문으로 사용할 수 build.user.name 이메일에 사용되는라는 환경 변수를해야합니다 수 있습니다 투표, 응답이없는 "Tumbleweed"배지. 그러므로 나는 이제 Hudon 전자 메일 구성의 가능성에 대해 더 자세히 알기 위해 현상금을 시작합니다 –

답변

14

을 사용하고 있습니다 : ${ENV, var="USER"}

그리고 '사용자는'사용자 '와 동일합니다 - 당신이 다음 다른 이름을 지정해야합니다.

+0

고마워요. 나는 다음 주 직장에서 이것을 시도하기를 고대하고 있습니다. –

+0

감사합니다, 그것은 매력처럼 작동합니다! –

3

Rene이 제안한 것 (즉, ${ENV, var="USER"}을 사용하는 것) 위에 또 다른 plugin called 'email-ext'을 설치해야한다고 생각합니다. 해당 정보는 some other question에 있습니다 (단, 답변은 없습니다).

+0

알림을 보내 주셔서 감사합니다. 플러그인이 필요하다는 것을 잊어 버렸습니다 (어쨌든 구성 설정 참조). –

0

나는 이것이 오래된 질문이지만, 사용자 이름을 입력하라고 요청하는 것은 다소 중복되어 스푸핑 될 수 있습니다.

Hudson은 누가 빌드를 트리거했는지 (빌드 페이지에서 볼 수 있음) 이미 알고 있지만 변수에 표시하지 않습니다. 이 정보 (및 기타 정보)를 작업 영역의 파일로 내보내는 Job-Exporter 플러그인이 있습니다. build.user.name 속성 아래에 있습니다.

는 여기에서, 당신은 EnvInject 플러그인을 사용하여이 수출 프로퍼티 파일 (hudsonBuild.properties)와 함께 제공, 당신은 ${ENV, var="build.user.name"}

관련 문제