private void removeOldIssueLinks(Issue issue, net.rcarz.jiraclient.Issue jiraIssue) throws JiraException, NotFoundException { Set<String> ids = new HashSet<>(); for (URL url : Iterables.concat(issue.getBlocks(), issue.getDependsOn())) ids.add(getIssueKey(url)); for (IssueLink link : jiraIssue.getIssueLinks()) { net.rcarz.jiraclient.Issue linkedIssue = link.getInwardIssue(); if (linkedIssue == null) linkedIssue = link.getOutwardIssue(); if (!ids.contains(linkedIssue.getKey())) link.delete(); } }
private void addNewIssueLinks(Issue issue, net.rcarz.jiraclient.Issue jiraIssue) throws JiraException, NotFoundException { for (URL url : issue.getBlocks()) { String trackerId = getIssueKey(url); net.rcarz.jiraclient.Issue issueToBlock = getIssue(trackerId); if (!issueLinkExists(url, issueToBlock.getIssueLinks())) issueToBlock.link(jiraIssue.getKey(), "Dependency"); } for (URL url : issue.getDependsOn()) { if (!issueLinkExists(url, jiraIssue.getIssueLinks())) { String trackerId = getIssueKey(url); jiraIssue.link(trackerId, "Dependency"); } } }