diff --git a/core/src/main/java/hudson/FeedAdapter.java b/core/src/main/java/hudson/FeedAdapter.java index 7de32a2517..3e5ac67c5e 100644 --- a/core/src/main/java/hudson/FeedAdapter.java +++ b/core/src/main/java/hudson/FeedAdapter.java @@ -26,6 +26,12 @@ public interface FeedAdapter { */ String getEntryID(E entry); + /** + * (Potentially lengthy) plain text to be attached to the feed. + * Can be null. + */ + String getEntryDescription(E entry); + /** * Timestamp of the last change in this entry. */ diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index abbb150943..70a8f35449 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -589,6 +589,13 @@ public abstract class AbstractProject

,R extends A return getEntryUrl(item); } + public String getEntryDescription(FeedItem item) { + StringBuilder buf = new StringBuilder(); + for(String path : item.e.getAffectedPaths()) + buf.append(path).append('\n'); + return buf.toString(); + } + public Calendar getEntryTimestamp(FeedItem item) { return item.getBuild().getTimestamp(); } diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index 2725615ec8..1e67a796e6 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -13,6 +13,7 @@ import hudson.TcpSlaveAgentListener; import hudson.Util; import static hudson.Util.fixEmpty; import hudson.XmlFile; +import hudson.Functions; import hudson.model.Descriptor.FormException; import hudson.model.listeners.ItemListener; import hudson.model.listeners.JobListener; @@ -1180,6 +1181,10 @@ public final class Hudson extends View implements ItemGroup, Node return String.valueOf(entry.getSequenceNumber()); } + public String getEntryDescription(LogRecord entry) { + return Functions.printLogRecord(entry); + } + public Calendar getEntryTimestamp(LogRecord entry) { GregorianCalendar cal = new GregorianCalendar(); cal.setTimeInMillis(entry.getMillis()); diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 288e201093..a4fb2ce97e 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -871,6 +871,11 @@ public abstract class Run ,RunT extends Run + ${title} diff --git a/core/src/main/resources/hudson/rss20.jelly b/core/src/main/resources/hudson/rss20.jelly index 6536c673aa..20fa69c82f 100644 --- a/core/src/main/resources/hudson/rss20.jelly +++ b/core/src/main/resources/hudson/rss20.jelly @@ -4,6 +4,7 @@ + ${title} @@ -17,6 +18,9 @@ ${adapter.getEntryID(e)} ${h.rfc822Date(adapter.getEntryTimestamp(e))} users@hudson.dev.java.net (Hudson Server) + + +