2013-05-22 34 views
9

Tôi đã cố gắng giải quyết vấn đề này và tìm kiếm diễn đàn, v.v. và cố gắng cho bản thân, không thành công.Làm thế nào để gửi một email từ Jenkins chỉ trong một bản phát hành?

Chúng tôi có một công việc Jenkins và có chúng tôi sử dụng phát hành Plugin (với một cấu hình tiêu chuẩn)

release plugin config

Trong công việc thì chúng ta có "Thực hiện Maven Release" ở phía bên trái để tạo ra một phiên bản (thẻ, thay đổi poms, vv) Công việc này hoàn hảo.

Release button on the left side

Chúng tôi muốn gửi một email đến nhóm khi phát hành đã được thực hiện.

tôi đã cố gắng biến môi trường mà việc phát hành cắm bộ (IS_M2RELEASEBUILD theo mặc định) và kết hợp với các plugin Plugin email-ext nơi tôi có thể đính kèm một kịch bản hấp dẫn (tiên tiến => kích hoạt => kịch bản kích hoạt)

trigger with the email ext plugin

và tôi đã cố gắng rất nhiều kịch bản để hoạt động email, và không hoạt động, cơ hội cuối cùng của tôi là:

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

nhưng khi tôi thực hiện việc phát hành chúng tôi không gửi email (vì vậy tập lệnh này đánh giá điều kiện thành sai hoặc bất kỳ điều gì)

Bất kỳ ai có cài đặt này trong Jenkins của mình?

Cảm ơn rất nhiều!

Trả lời

2

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

Plugin này cho phép bạn định cấu hình mọi khía cạnh của thông báo qua email. Bạn có thể tùy chỉnh khi email được gửi, ai sẽ nhận email và email được nói.

+0

Cảm ơn. Tôi đang sử dụng plugin này và sử dụng mã groovy tôi đã viết ở trên để "cháy" email. Vấn đề là tôi không biết mã chính xác cho plugin plugin email để kết nối với hành động phát hành. –

2

Đây không phải là câu trả lời, chỉ là đề xuất (tôi không thể thêm nhận xét). Bạn đã thử lặp lại biến môi trường đó trong một bước xây dựng và xây dựng trước chưa?

1

Bạn đã thử chạy phiên bản khác khi xây dựng bản phát hành hoàn tất thành công và yêu cầu công việc đó gửi email, có lẽ bằng cách chạy tập lệnh trình bao.

6

Bạn cần phải sử dụng "khai báo Email Editable" là "Post-build Action" và dán

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

như Pre-gửi Script, điền vào bạn Địa chỉ E-Mail (s) trong "Danh sách người nhận dự án" và thêm một "Thành công" -Trigger. (điều kiện tiên quyết là bạn chưa thay đổi "biến envionment phát hành" mặc định trong "Bản phát hành bản phát hành Maven")

+0

Và ... CÓ! Nó hoạt động! +1 Tôi đã thử rất nhiều kịch bản và thiết lập, tôi không biết tại sao tôi thất bại, nhưng thực tế kịch bản của bạn hiện đang hoạt động. –

Các vấn đề liên quan