UCSD - Remedy Integration Example

Version 2
    Task NameUCSD Remedy Integration
    Description
    1. UCSD Remedy Integration
    Prerequisites
    1. Tested on 5.2.0.0.A
    CategoryWorkflow
    ComponentsvSphere 5.x
    User Inputs

     

    Instructions for Regular Workflow Use:

    1. Download the attached .ZIP file below to your computer. *Remember the location of the saved file on your computer.
    2. Unzip the file on your computer. Should end up with a .WFD file.
    3. Log in to UCS Director as a user that has "system-admin" privileges.
    4. Navigate to "Policies-->Orchestration" and click on "Import".
    5. Click "Browse" and navigate to the location on your computer where the .WFD file resides. Choose the .WFD file and click "Open".
    6. Click "Upload" and then "OK" once the file upload is completed. Then click "Next".
    7. Click the "Select" button next to "Import Workflows". Click the "Check All" button to check all checkboxes and then the "Select" button.
    8. Click "Submit".
    9. A new folder should appear in "Policies-->Orchestration" that contains the imported workflow. You will now need to update the included tasks with information about the specific environment.

     

     

    A thank you goes out to Mark Smith:

     

    This is an example of Integration to Remedy CMDB (Atrium).

    The API for is Web Services SOAP. Each Remedy installation has the ability to tailor what fields are updated in the CMDB by generating a custom WSDL. First step is to get WSDL file from customer and map UCSD fields to the Remedy fields. Attached UCSD workflows will create a CMDB record (CI) and update a CI when a user changes the memory allocation of the VM. These workflows will not work out of the box because this was for a customer specific WSDL. Also the updating process stores the CI record ID and VM ID as a Linux file on the UCSD appliance. When the update is performed the VM ID is used to lookup the CI record ID so the correct CI is updated. This method was done for a POC and may not be not optimal for production environments. I recommend you use something like SOAP GUI tool to access the WSDL and generating the SOAP XML messages which are stored as structures in the Custom Task (java script).

     

    Example workflow in the distribution(1):

     

    Screen Shot 2015-02-03 at 6.59.53 AM.png

     

    Example workflow in the distribution(2):

     

    Screen Shot 2015-02-03 at 7.00.35 AM.png

     

    Custom Workflow examples:

     

    Screen Shot 2015-02-03 at 7.01.07 AM.png

     

    Java Script Example:

     

    Screen Shot 2015-02-03 at 7.02.12 AM.png

     

    XML Parsing:

     

    The Remedy integration workflow (see link below) parses the SOAP XML message for a particular field in the XML. This is then passed back in a output field.

     

    var response = post.getResponseBodyAsString();

    var response = xmlStr;

    var is = new ByteArrayInputStream(response.getBytes());

    var doc =XMLUtil.parseXMLDocument(is);

    var element = XMLUtil.getElementByTagName(doc.getDocumentElement(),"ns0:InstanceID");

    1. logger.addInfo("Instance Id : "+XMLUtil.getText(element));

    var instanceId = XMLUtil.getText(element);