JiraSCMListener extends SCMListener { static Collection<String> getIssueKeys(ChangeLogSet<?> changelog, Pattern issuePattern) { Set<String> issueKeys = new HashSet<>(); for (ChangeLogSet.Entry entry : changelog) { issueKeys.addAll(BlueJiraIssue.findIssueKeys(entry.getMsg(), issuePattern)); } return issueKeys; }  @Override void onChangeLogParsed(Run<?, ?> run, SCM scm, TaskListener listener, ChangeLogSet<?> changelog);  }
@Test public void uniqueIssueKeys() throws Exception { ChangeLogSet<ChangeLogSet.Entry> entries = build( "TST-123", "TST-123", "TST-123", "TST-124", "TST-123", "TST-124", "TST-125"); Collection<String> keys = JiraSCMListener.getIssueKeys( entries, JiraSite.DEFAULT_ISSUE_PATTERN ); Assert.assertEquals(3, keys.size()); }