in src/main/groovy/com/epam/esp/jira/JiraHelper.groovy [108:156]
def mapIssue(issueId, boolean onlyTasks) {
try {
Issue jIssue = getIssueById(issueId)
if (jIssue != null) {
logger.info("\tIssue $issueId: EXISTS")
def issue = new JiraIssue()
issue.setKey(jIssue.key)
issue.setType(jIssue.issueType.name)
issue.setSummary(jIssue.summary)
issue.setStatus(jIssue.status.name)
jiraContext.customFields.each { String fieldKey ->
IssueField field = jIssue.getField(fieldKey);
if (field != null && field.value != null) {
issue.putCustomField(fieldKey, field)
}
}
//Parent issue
def parent = jIssue.getField('parent')
if (parent != null && parent.value != null) {
def parentId = parent.value.get('key')
logger.info("\tChecking parent: $parentId")
def mParent = mapIssue(parentId, onlyTasks)
issue.setParent(mParent)
if (onlyTasks) {
return mParent
}
}
//Epic
if (jiraContext.epicLink != null) {
def epic = jIssue.getField(jiraContext.epicLink)
if (epic != null && epic.value != null) {
def mEpic = mapIssue(epic.value, onlyTasks)
issue.setParent(mEpic)
}
}
return issue
} else {
logger.info("\tIssue $issueId: NOT EXISTS")
return null
}
} catch (RuntimeException e) {
logger.error("Unable to find issue: '$issueId' ", e)
return null
}
}