2013-05-22 4 views
9

나는이 문제를 해결하고 포럼 등을 검색하고 나 자신을 위해 노력했지만 성공하지 못했습니다. 젠킨스의 전자 메일을 릴리스에서만 보내는 방법은 무엇입니까?

우리는 젠킨스의 직업을 가지고 거기에 우리는 다음 작업에

release plugin config

(표준 구성)을 릴리스 플러그인 사용 우리가에 왼쪽에서 "수행 메이븐 출시" 버전 (태그, 폼 변경 등)을 생성합니다.이 기능은 완벽합니다.

Release button on the left side

우리는 릴리스가 완료되었을 때 팀에 이메일을 보내려고합니다.

나는 방출이 세트 (기본적으로 IS_M2RELEASEBUILD)를 플러그인 내가 그루비 스크립트를 첨부 할 수 있습니다 이메일-EXT 플러그인 플러그인 ( 고급 => 트리거 => 스크립트 트리거)

과 결합하는 환경 변수를 시도

trigger with the email ext plugin

그리고 활성화 이메일에 스크립트를 많이했는데, 아무도 나의 마지막 기회이었다 작동하지 않습니다 :

def env = System.getenv() 
env['IS_M2RELEASEBUILD'] == 'true' 

하지만 릴리스 우리를 수행 할 때 전자 메일을 보내지 않았습니다. (이 스크립트는 조건부 또는 거짓을 조건으로 평가합니다.)

누구나 젠킨스에이 설정이 있습니까?

고맙습니다.

답변

2

https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

이 플러그인은 이메일 알림의 모든 측면을 구성 할 수 있습니다. 이메일 전송시기, 수신자 및 이메일 내용을 사용자 정의 할 수 있습니다.

+0

감사합니다. 나는이 플러그 인을 사용하고 있고 위에서 썼던 그루비 코드를 사용하여 전자 메일을 "시작"합니다. 문제는 전자 메일 ext 플러그인이 릴리스 작업에 연결하는 정확한 코드를 모른다는 것입니다. –

2

이것은 답변이 아니며 단지 제안 사항입니다 (덧글을 달 수는 없습니다). post-build 및 pre-build 단계에서 환경 변수를 반향 출력 해 보았습니까?

1

릴리스 빌드가 성공적으로 완료되었을 때 다른 빌드를 실행하고 해당 작업이 셸 스크립트를 실행하여 전자 메일을 보내도록 시도 했습니까?

6

당신은 "프로젝트받는 사람 목록"에서 메일을 E (들) "빌드 후 조치"로 "편집 가능한 이메일 통지"를 사용하고 사전은 보내 스크립트, 당신에 채우기로

def env = build.getEnvironment(); 
String isRelease = env['IS_M2RELEASEBUILD']; 
logger.println "IS_M2RELEASEBUILD="+isRelease; 
if (isRelease == null || isRelease.equals('false')) { 
    logger.println "cancel=true;"; 
    cancel=true; 
} 

를 붙여 넣어야 "Success"-Trigger를 추가하십시오. ("Maven 릴리스 빌드"의 기본 "Release envrionment variable"을 변경하지 않으 셨다는 전제 조건)

+0

그리고 ... 예! 그것은 작동합니다! +1 많은 스크립트와 설정을 시도했지만 실패한 이유를 모르지만 스크립트가 실제로 작동합니다. –

관련 문제