use of org.otrs.ticketconnector.TicketCreate in project opennms by OpenNMS.
the class Otrs31TicketerPlugin method create.
private void create(Ticket newTicket) throws Otrs31PluginException {
final String summary = newTicket.getSummary().replaceAll("\\<.*?\\>", "");
// TODO Check whether we should use the OpenNMS ticket for this
// The original OTRS plugin checks this and sets if there is a user
// in the OpenNMS ticket. Suspect this may just cause pain as the
// OpenNMS user is unlikely to be a valid OTRS customer user.
final OTRSTicketCreateTicket otrsTicket = new OTRSTicketCreateTicket();
otrsTicket.setCustomerUser(m_configDao.getDefaultUser());
otrsTicket.setTitle(summary);
otrsTicket.setQueue(m_configDao.getQueue());
otrsTicket.setStateID(openNMSToOTRSState(newTicket.getState()));
otrsTicket.setPriority(m_configDao.getPriority());
otrsTicket.setType(m_configDao.getType());
OTRSArticle otrsArticle = new OTRSArticle();
// TODO Figure out why we can't set ArticleFrom without an error from OTRS
// otrsArticle.setFrom(m_configDao.getArticleFrom());
otrsArticle.setSubject(summary);
otrsArticle.setBody(newTicket.getDetails());
otrsArticle.setArticleType(m_configDao.getArticleType());
otrsArticle.setSenderType(m_configDao.getArticleSenderType());
otrsArticle.setContentType(m_configDao.getArticleContentType());
otrsArticle.setHistoryType(m_configDao.getArticleHistoryType());
otrsArticle.setHistoryComment(m_configDao.getArticleHistoryComment());
TicketCreate createRequest = new TicketCreate();
createRequest.setUserLogin(m_configDao.getUserName());
createRequest.setPassword(m_configDao.getPassword());
createRequest.setTicket(otrsTicket);
createRequest.setArticle(otrsArticle);
TicketCreateResponse response = m_ticketConnector.ticketCreate(createRequest);
if (response.getError() != null) {
throw new Otrs31PluginException(response.getError());
}
LOG.debug("Created new ticket with ID {}", response.getTicketID().toString());
newTicket.setId(response.getTicketID().toString());
}
Aggregations