void run()

in src/main/groovy/com/epam/esp/jira/issue/IssueIndexer.groovy [99:148]


    void run() {
        logMessage += "${issue.key} : "
        counter.processIssue(issue.key)
        if (force || !elasticSearchHelper.isJiraIssueInSync(indexName, issue.key, issue.updateDate)) {
            try {
                def item = jiraHelper.getJsonFromUri(issue.self.toString() + EXPAND_PARAMS);
                if (isIssueDetailStashAdding && issue.id != null) {
                    try {
                        def detailStash = jiraHelper.getJsonFromUri("${jiraHelper.jiraContext.url}/${URL_DEV_STATUS}?issueId=${issue.id}&applicationType=stash&dataType=repository")
                        item = item.substring(0, item.length()-1) + ', \"detailStash\":' + detailStash + '}'
                    } catch (Exception e) {
                        logMessage += "$e.message $issue.self  unable to index issue detail stash"
                    }
                }

                updateIssue(item)
                counter.updateIssue()
            } catch (Exception e) {
                logger.error(e.getMessage(), e)
                logMessage += "$e.message $issue.self  unable to index issue"
            }
        } else {
            counter.skipIssue()
            logMessage += "$issue.key is up to date, skipping...\n"
        }

        def subIssues = jiraHelper.findIssuesByJql(String.format(SUB_ISSUES_SEARCH_QUERY, issue.key), null, null, fields)
        def iterator = subIssues.issues.iterator()
        while (iterator.hasNext()) {
            Issue subtask = iterator.next()
            counter.processSubIssue(subtask.key)
            logMessage += " |- ${subtask.key} : "
            if (force || !elasticSearchHelper.isJiraIssueInSync(indexName, subtask.key, subtask.updateDate)) {
                try {
                    def item = jiraHelper.getJsonFromUri(subtask.self.toString() + EXPAND_PARAMS);
                    updateIssue(item)
                    counter.updateSubIssue()
                } catch (Exception e) {
                    logger.error(e.getMessage(), e)
                    logMessage += " |- ${subtask.self.toString()} unable to get JSON for issue"
                }
            } else {
                counter.skipSubIssue()
                logMessage += " |- $subtask.key is up to date, skipping...\n"
            }
        }
        logMessage += "\n"
        logger.info(logMessage)
        logger.info("\n" + counter.getUpdatedReport())
    }