Forum Discussion

Jason_Miller's avatar
7 years ago

ManageEngine ServiceDesk Plus MSP Integration

I built an integration between LogicMonitor and ServiceDesk Plus, thought I would share it with you

 

Building Integration between LogicMonitor and ManageEngine ServiceDesk Plus MSP

Integration between LogicMonitor and ManageEngine ServiceDesk Plus MSP is not a pre-built integration, the following will instruct you on building this integration.

This integration will be a basic integration and will do the following things

1.       Create a new ticket when an alert is kicked off

2.       When an alert is acknowledged a note will be placed in the ticket

3.       Any Escalation or De-escalation of the alert will be noted in the ticket

4.       When an alert is cleared it will resolve the ticket

Prepping ServiceDesk Plus MSP

First you want to create a requestor account in the account that you are placing the ticket in, you will be using this as who is submitting the ticket

Next create a new technician account and give them the rights to handle tickets in the site you are placing the alert tickets.

At the bottom of the technician creation screen there is a section called API key details, click the Generate link to create an API Key.  Remember this key as you will need it later and you cannot see the key again. If you lose it you will need to Generate a new one and replace it where ever you used the old one.

Creating the Integration

The following will explain on how to set up a base integration and you can customize it to your liking

1.       Login into LogicMonitor and on the left hand side click Settings then click on Integrations

2.       Click Add at the top then Click on Custom HTTP Delivery

3.       Type in a Name and select “Use different URLs or data formats to notify on various alert activity”

4.       Next, we are going to setup each alert activity

a.       First the New Alerts

                                                               i.      Click the Plus Button to add a new Alert Status

                                                             ii.      Under HTTP Method select HTTP Post

                                                           iii.       For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request

                                                           iv.      Under Alert Data select the RAW option

                                                             v.      For Format select Url-Encoded Form Data

                                                           vi.      For the actual alert data, you place the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created)

format=XML&TECHNICIAN_KEY=555&INPUT_DATA=

<operation>

<details>

<subject>##LEVEL## - ##HOST## ##INSTANCE##</subject>

<description>Message  ##MESSAGE##></description>

<requester>Logic Monitor</requester>

<category>Monitoring</category>

<subcategory>Infrastructure</subcategory>

<item>LogicMonitor</item>

<technician>Administrator</technician>

<mode>Automated</mode>

<site>RES</site>

<account>RES</account>

</details>

</operation>

*You will need to also replace the Field values to what you need to send.  Details on these can be found on ManageEngine’s API Page

                                                          vii.      Click Save

b.       Next we will add the Acknowledged Status, this will add a note to the ticket when the Alert is acknowledged in LogicMonitor

                                                               i.      Click the Plus Button to add a new Alert Status

                                                             ii.      Select Acknowledged

                                                           iii.      Under HTTP Method select HTTP Post

                                                           iv.       For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request/##EXTERNALTICKETID##/notes

                                                             v.      Under Alert Data select the RAW option

                                                           vi.      For Format select Url-Encoded Form Data

                                                          vii.      For the actual alert data you place the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created)

format=XML&TECHNICIAN_KEY=555&INPUT_DATA=

<operation>

<details>

<notes>

<note>

<notestext>Alert Acknowledged</notestext>

</note>

</notes>

</details>

</operation>

                                                        viii.      Click Save

c.       Next will be the Escalated Status, this will place a note in the Ticket on the Escalation of the ticket

                                                               i.      Click the Plus Button to add a new Alert Status

                                                             ii.      Select Escalated

                                                           iii.      Under HTTP Method select HTTP Post

                                                           iv.       For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request/##EXTERNALTICKETID##/notes

                                                             v.      Under Alert Data select the RAW option

                                                           vi.      For Format select Url-Encoded Form Data

                                                          vii.      For the actual alert data you place the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created)

format=XML&TECHNICIAN_KEY=555&INPUT_DATA=

<operation>

<details>

<notes>

<note>

<notestext>Alert Escalated/De-escalated:Host: ##HOST## Datasource: ##DATASOURCE## Datapoint: ##DATAPOINT## Level: ##LEVEL## Start: ##START## Duration: ##DURATION## Value: ##VALUE## Reason: ##DATAPOINT## ##THRESHOLD##</notestext>

</note>

</notes>

</details>

</operation>

                                                        viii.      Click Save

d.       Next we will tell ServiceDesk to resolve the ticket when the Alert is Cleared

                                                               i.      Click the Plus Button to add a new Alert Status

                                                             ii.      Select Cleared

                                                           iii.      Under HTTP Method select HTTP Post

                                                           iv.       For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request/##EXTERNALTICKETID##

                                                             v.      Under Alert Data select the RAW option

                                                           vi.      For Format select Url-Encoded Form Data

                                                          vii.      For the actual alert replace the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created)

format=XML&TECHNICIAN_KEY=555&INPUT_DATA=

<operation>

<details>

<resolution>test</resolution>

<status>resolved</status>

</details>

</operation>

                                                        viii.      Click Save

5.       Click the Check box for “Include an ID provided in HTTP response when updating alert status”

6.       For HTTP Response Format Choose XML

7.       For the Xpath use: /operation[@name="ADD_REQUEST"]/details/workorderid/text()

 

 

  • Great article!

    However I had to use method 'http put' when resolving. No it works like charm.

  • 3 minutes ago, PeterMattsson said:

    Great article!

    However I had to use method 'http put' when resolving. No it works like charm.

    You are correct, sorry about that will fix the article

  • Hello,

    Sorry for the extreme delay.

    First things first. After upgrading Servicedesk plus 9.4 it started to behave differently. I've been in contact with Manage Engine and I've been in contact with Logic Monitor. We are looking for another ticket system.There is just too much arguments for leaving Servicedesk plus MSP version.

     

    However, after the upgrade SDP stopped receiving alerts. I troubleshooted for a very long time and found out that I couldn't use some of the tokens. Not happy about that at all.

    I also started using a type of json instead of the xml version.

    You need to set the integration to raw and use urlencodes as content-type. Do not use JSON because SDP cannot interpret that.

    Below is an integration for new alerts that we found was working. If you put this in a json verifier on internet it will fail right away but it is in this format SDP wants the data.

    format=json&data={
        "operation": {
            "details": {
                "requesttype": "Incident",
                "priority": "Low",
                "urgency": "Low",
                "mode": "Other",
                "subject": "***##LEVEL##*** | ##ALERTID## | ##HOST## | ##DATASOURCE##",
                "description": [
                "Host: ##HOST##",
                "\nLM AlertID: ##ALERTID##:",
                "\nDatasource: ##DATASOURCE##",
                "\nDatapoint: ##DATAPOINT##",
                "\nDatapoint Description: ##DPDESCRIPTION##",
                "\nLevel: ##LEVEL##",
                "\nStart: ##START##",
                "\nDuration: ##DURATION##",
                "\nValue: ##VALUE##",
                "\nClearValue: ##CLEARVALUE##",
                "\nReason: ##DATAPOINT## exceeds ##THRESHOLD##",
                "\nGroup: ##GROUP##",
                "\n\nCustomer Location: ##location##"
                ],
                "category": "[Category]",
                "subcategory": "[SubCategory]",
                "requester": "Logic Monitor",
                "site": "##customer.site##",
                "group": "Server Management",
                "account": "##customer.name##"
            }
        }
    }

     

    You also need to set the alert integration to get the ticketnumber from SDP. It looks like this.

    The others look like the setting above. Enjoy! :)/emoticons/smile@2x.png 2x" title=":)" width="20">