Skip to content

Commit d99f169

Browse files
authored
Merge pull request #68 from jenkinsci/itemlistener-ondeleted
delete history on job deletion
2 parents d0f2b0b + a2bb7eb commit d99f169

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/main/java/io/jenkins/plugins/agent_build_history/AgentBuildHistory.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
import hudson.model.AbstractBuild;
77
import hudson.model.Action;
88
import hudson.model.Computer;
9+
import hudson.model.Item;
910
import hudson.model.Job;
1011
import hudson.model.Node;
1112
import hudson.model.Run;
13+
import hudson.model.listeners.ItemListener;
1214
import hudson.model.listeners.RunListener;
1315
import hudson.util.RunList;
1416
import java.util.Collections;
@@ -53,12 +55,26 @@ public static class HistoryRunListener extends RunListener<Run<?, ?>> {
5355
@Override
5456
public void onDeleted(Run run) {
5557
for (Set<AgentExecution> executions: agentExecutions.values()) {
56-
executions.removeIf(exec -> run.getFullDisplayName().equals(exec.getRun().getFullDisplayName()));
58+
executions.removeIf(exec -> run == exec.getRun());
5759
}
5860
agentExecutionsMap.remove(run);
5961
}
6062
}
6163

64+
@Extension
65+
public static class HistoryItemListener extends ItemListener {
66+
67+
@Override
68+
public void onDeleted(Item item) {
69+
if (item instanceof Job) {
70+
for (Set<AgentExecution> executions: agentExecutions.values()) {
71+
executions.removeIf( exec -> exec.getRun().getParent() == item);
72+
}
73+
agentExecutionsMap.keySet().removeIf(key -> key.getParent() == item);
74+
}
75+
}
76+
}
77+
6278
@Extension
6379
public static class HistoryNodeListener extends NodeListener {
6480

0 commit comments

Comments
 (0)