我需要检测新问题是否是克隆问题。
尽管我不能使用监听器。侦听器处理issueCreated事件时,没有添加“克隆人”问题链接,而我没有IssueLinkCreatedEvent,因为Jira版本是7.2。我试图为创建步骤执行发布功能。它在“引发一个可以由侦听器处理的问题创建的事件”之后最后执行,尽管此时还没有添加问题链接。
@Scanned
public class TestFunction extends AbstractJiraFunctionProvider {
private IssueLinkManager issueLinkManager;
private static final Logger logger = LoggerFactory.getLogger(TestFunction.class);
public TestFunction(CustomFieldManager customFieldManager) {
this.issueLinkManager = ComponentAccessor.getIssueLinkManager();
}
@SuppressWarnings("rawtypes")
@Override
public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException {
try {
MutableIssue mutableIssue = getIssue(transientVars);
if (mutableIssue == null) {
return;
}
logger.debug("mutableIssue.getKey() = " + mutableIssue.getKey());
logger.debug("mutableIssue.getId() = " + mutableIssue.getId());
logger.debug("getInwardLinks size = " + ComponentAccessor.getIssueLinkManager().getInwardLinks(mutableIssue.getId()).size());
logger.debug("getOutwardLinks size = " + ComponentAccessor.getIssueLinkManager().getOutwardLinks(mutableIssue.getId()).size());
ApplicationUser applicationUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();
logger.debug("applicationUser.getUsername() = " + applicationUser.getUsername());
LinkCollection linkCollection = ComponentAccessor.getIssueLinkManager().getLinkCollection(
mutableIssue,
applicationUser);
logger.debug("linkCollection.getLinkTypes().size() = " + linkCollection.getLinkTypes().size());
logger.debug("linkCollection.getAllIssues().size() = " + linkCollection.getAllIssues().size());
}
catch(Exception exception) {
logger.error("exception = ", exception);
}
}
}
内部链接的大小,外部链接的大小为0,linkTypes的大小和linkCollection的大小也为0。
任何解决方案?