2011-10-14 17 views
31

Có cách nào để nhập thay đổi được tạo bởi Jenkins vào chủ đề của email (hoặc thông qua email mặc định hoặc email-ext plugin) không?Làm cách nào để bao gồm git changelog trong email Jenkins?

Tôi mới dùng cấu hình Jenkins, vì vậy tôi xin lỗi nếu đây là một vấn đề đơn giản, nhưng tôi không thể tìm thấy bất kỳ thứ gì trong tài liệu hướng dẫn bằng email.

+0

đã u nhận được bất kỳ giải pháp? –

Trả lời

54

tôi cấu hình Email-ext tôi plug-in để sử dụng THAY ĐỔI Mã (official documentation here):

Changes: 
${CHANGES, showPaths=true, format="%a: %r %p \n--\"%m\"", pathFormat="\n\t- %p"} 

Đó in sau trong xây dựng thông báo của tôi:

Changes: 
Username: 123 
    - Project/Filename1.m 
    - Project/Filename2.m 
    -- "My log message" 

Đối với thông điệp HTML, tôi đặt cùng một mã trong một div và định dạng được thêm vào:

<div style="padding-left: 30px; padding-bottom: 15px;"> 
${CHANGES, showPaths=true, format="<div><b>%a</b>: %r %p </div><div style=\"padding-left:30px;\"> &#8212; &#8220;<em>%m</em>&#8221;</div>", pathFormat="</div><div style=\"padding-left:30px;\">%p"} 
</div> 

Đây là một samp le chụp màn hình của nó trông như thế trong e-mail gửi đi bởi Jenkins bây giờ (đặc biệt này cam kết đến từ Subversion, nhưng nó hoạt động giống hệt nhau cho Git và hệ thống kiểm soát phiên bản khác):

Change list for Jenkins

+2

Làm thế nào bạn biết để làm điều này? Tôi đã xem trang tài liệu chính thức đó và tôi không thấy: 1) danh sách các thẻ có thể sử dụng và cách sử dụng chúng, 2) nơi đặt chúng ("Nội dung mặc định" trong trang "Cấu hình hệ thống" của Jenkins?). – dfrankow

+0

Có vẻ như mỗi lớp Java trong https://github.com/hudson-plugins/email-ext-plugin/tree/master/src/main/java/hudson/plugins/emailext/plugins/content là một mã thông báo. – dfrankow

+0

Ngoài ra, hãy nhấp vào? ở bên phải "Tham chiếu mã thông báo theo ngữ cảnh" bên dưới "Nội dung mặc định" cung cấp mô tả. – dfrankow

14

Từ gốc tài liệu: Để xem danh sách tất cả các mã thông báo email có sẵn và những gì chúng hiển thị, bạn có thể nhấp vào "?" (dấu chấm hỏi) được liên kết với Tham chiếu mã thông báo nội dung ở cuối phần mở rộng email trên màn hình cấu hình dự án.

Dưới đây là kết quả:

${CHANGES} 
Displays the changes since the last build. 

showDependencies 
    If true, changes to projects this build depends on are shown. Defaults to false 
showPaths 
    If true, the paths, modifued by a commit are shown. Defaults to false 
format 
    For each commit listed, a string containing %X, where %x is one of: 

    %a 
     author 
    %d 
     date 
    %m 
     message 
    %p 
     path 
    %r 
     revision 

    Not all revision systems support %d and %r. If specified showPaths argument is ignored. Defaults to "[%a] %m\\n" 
pathFormat 
    A string containing %p to indicate how to print paths. Defaults to "\\t%p\\n" 
0

Không có trong chủ đề của một email mặc dù bạn có thể gửi các bản ghi thay đổi cho người nhận như một tập tin đính kèm trong một email sử dụng Git Changelog Plugin như bài build hành động trong Jenkins Job. Chọn Create a file hộp, đặt tên cho một tập tin (CHANGELOG.md cho tôi), như trong hình dưới đây:

enter image description here

Hãy chắc chắn rằng bạn đã cấu hình Nguồn Quản lý Mã như GIT trong Jenkins VIỆC.

Sau đó tạo Editable Email Notification bài build hành động và sao chép tên của sự thay đổi tập tin đăng nhập git như giá trị của Attachments, như trong hình dưới đây:

enter image description here

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