diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index d5a43f159a..429da551b4 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -2490,7 +2490,7 @@ public final class Hudson extends Node implements ItemGroup, Stapl items.put(name,result); for (ItemListener l : ItemListener.all()) - l.onCreated(result); + l.onCopied(src,result); return result; } diff --git a/core/src/main/java/hudson/model/listeners/ItemListener.java b/core/src/main/java/hudson/model/listeners/ItemListener.java index 14cf9c7c82..efa39503a4 100644 --- a/core/src/main/java/hudson/model/listeners/ItemListener.java +++ b/core/src/main/java/hudson/model/listeners/ItemListener.java @@ -42,6 +42,25 @@ public class ItemListener implements ExtensionPoint { public void onCreated(Item item) { } + /** + * Called after a new job is created by copying from an existing job. + * + * For backward compatibility, the default implementation of this method calls {@link #onCreated(Item)}. + * If you choose to handle this method, think about whether you want to call super.onCopied or not. + * + * + * @param src + * The source item that the new one was copied from. Never null. + * @param item + * The newly created item. Never null. + * + * @since 1.325 + * Before this version, a copy triggered {@link #onCreated(Item)}. + */ + public void onCopied(Item src, Item item) { + onCreated(item); + } + /** * Called after all the jobs are loaded from disk into {@link Hudson} * object.