Search in sources :

Example 1 with TicketGet

use of org.otrs.ticketconnector.TicketGet in project opennms by OpenNMS.

the class Otrs31TicketerPlugin method get.

/*
     * (non-Javadoc)
     * @see org.opennms.api.integration.ticketing.Plugin#get(java.lang.String)
     */
@Override
public Ticket get(String ticketId) throws PluginException {
    Objects.requireNonNull(ticketId, "Please provide a ticketId");
    Objects.requireNonNull(m_ticketConnector, "The GenericTicketConnector was not initialized properly");
    TicketGet ticketGet = new TicketGet();
    ticketGet.setUserLogin(m_configDao.getUserName());
    ticketGet.setPassword(m_configDao.getPassword());
    ticketGet.setTicketID(new BigInteger[] { new BigInteger(ticketId) });
    TicketGetResponse response = m_ticketConnector.ticketGet(ticketGet);
    LOG.debug("TicketGet responded with {} tickets" + response.getTicketLength());
    if (response.getTicketLength() == 0) {
    // TODO error handling in this case
    }
    if (response.getTicketLength() > 1) {
        LOG.warn("Received more than 1 tickets, ignore all except the first one.");
    }
    final OTRSTicketGetResponseTicket otrsTicket = response.getTicket(0);
    Ticket opennmsTicket = new Ticket();
    // add ticket basics from the OTRS ticket
    opennmsTicket.setId(otrsTicket.getTicketID().toString());
    opennmsTicket.setSummary(otrsTicket.getTitle());
    // Note that we user "Owner" from the OTRS ticket here. There
    // is nothing to ensure
    // That this is a valid OpenNMS user
    opennmsTicket.setUser(otrsTicket.getCustomerUserID());
    opennmsTicket.setState(otrsToOpenNMSState(otrsTicket.getStateID()));
    // add all the article details from the OTRS ticket
    // this is not strictly essential as we have no way of viewing
    // this atm.
    String opennmsTicketDetails = "";
    for (OTRSTicketGetResponseArticle article : otrsTicket.getArticle()) {
        LOG.debug("Adding Article details from OTRS article ID {}", article.getArticleID());
        opennmsTicketDetails = new StringBuilder().append(opennmsTicketDetails).append("\n").append("From: ").append(article.getFrom()).append("\n").append("Subject: ").append(article.getSubject()).append("\n").append("Body: ").append(article.getBody()).append("\n").toString();
    }
    opennmsTicket.setDetails(opennmsTicketDetails);
    return opennmsTicket;
}
Also used : Ticket(org.opennms.api.integration.ticketing.Ticket) OTRSTicketGetResponseTicket(org.otrs.ticketconnector.OTRSTicketGetResponseTicket) OTRSTicketUpdateTicket(org.otrs.ticketconnector.OTRSTicketUpdateTicket) OTRSTicketCreateTicket(org.otrs.ticketconnector.OTRSTicketCreateTicket) TicketGetResponse(org.otrs.ticketconnector.TicketGetResponse) OTRSTicketGetResponseTicket(org.otrs.ticketconnector.OTRSTicketGetResponseTicket) BigInteger(java.math.BigInteger) OTRSTicketGetResponseArticle(org.otrs.ticketconnector.OTRSTicketGetResponseArticle) TicketGet(org.otrs.ticketconnector.TicketGet)

Aggregations

BigInteger (java.math.BigInteger)1 Ticket (org.opennms.api.integration.ticketing.Ticket)1 OTRSTicketCreateTicket (org.otrs.ticketconnector.OTRSTicketCreateTicket)1 OTRSTicketGetResponseArticle (org.otrs.ticketconnector.OTRSTicketGetResponseArticle)1 OTRSTicketGetResponseTicket (org.otrs.ticketconnector.OTRSTicketGetResponseTicket)1 OTRSTicketUpdateTicket (org.otrs.ticketconnector.OTRSTicketUpdateTicket)1 TicketGet (org.otrs.ticketconnector.TicketGet)1 TicketGetResponse (org.otrs.ticketconnector.TicketGetResponse)1