Italia1235
@Italia1235

Как пофиксить ошибку при вызове постфункции?

Есть пост функция которая вызывает вот этот класс при переходе ворклофоу,
класс отправляет письмо поставщикам

public class SourEmailer {
SMTPNotifierWithCcImpl myMail = new SMTPNotifierWithCcImpl();
private Logger logger = LoggerFactory.getLogger(SourEmailer.class)
MattermostNotifierImpl matterSend = new MattermostNotifierImpl();
SourСompanies sourset = new SourСompanies();
HashSet set = sourset.getSourСompanies()
public void sendEmailforSour(Issue issue, String message) {

final String copyForMail = "${issue.getReporter()}"

int numberSet = set.size()
def pool = Executors.newFixedThreadPool(numberSet)

set.each { comp ->
Заявка ${issue.getKey()}. Статус - ${issue.getStatus().name}. "
String emailRequestTemplate = "${comp.salesContact}, добрый день.\n\nБольшое спасибо за интерес, проявленный к заявке: ${issue.key}, '${issue.summary}'."
String finalBodyEmail = emailRequestTemplate + message
pool.submit {
myMail.sendMessage(comp.email, copyForMail, themeEmail, finalBodyEmail, 'text/plain')
}
logger.info("Письмо отправлено ${comp.email}")
}
}
}

Но я получаю ошибку, и постфункция не срабатывает

63bba00f1a6c4193967032.png

Как исправить?
Не могу найти баг.
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
shabelski89
@shabelski89
engineer
Код нужно поместить в специальный тег код для java , а ещё лучше написать что должны делать класс и метод.
Ниже переписал немного код, попробуйте, ну или вернуться на шаг 0, то есть описать требования.
public class SourEmailer {

  SMTPNotifierWithCcImpl myMail = new SMTPNotifierWithCcImpl()
  Logger logger = LoggerFactory.getLogger(SourEmailer.class)
  MattermostNotifierImpl matterSend = new MattermostNotifierImpl()
  SourCompanies sourSet = new SourCompanies()
  HashSet sourHashSet = sourSet.getSourCompanies()

  public booleand sendEmailForSour(Issue issue, String message) {

    int errors = 0
    final String copyForMail = "${issue.getReporter()}"
    int numberSet = sourHashSet.size()
    def pool = Executors.newFixedThreadPool(numberSet)

    sourHashSet.each { comp ->
      String themeEmail = "Заявка ${issue.getKey()}. Статус - ${issue.getStatus().name}."
      String emailRequestTemplate = "${comp.salesContact}, добрый день.\n\nБольшое спасибо за интерес, проявленный к заявке: ${issue.key}, '${issue.summary}'."
      String finalBodyEmail = emailRequestTemplate + message
      try {
        pool.submit{myMail.sendMessage(comp.email, copyForMail, themeEmail, finalBodyEmail, 'text/plain')}
        logger.info("Письмо отправлено ${comp.email}")
      } catch (Exception ex) {
        logger.error("Письмо не отправлено ${comp.email}")
        logger.error("Ошибка ${ex.message}")
        errors += 1
      }
    }
    if (errors > 0) {
      return false as booleand
    } else {
      return true as booleand
    }
  } // sendEmailForSour
} // SourEmailer
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы