remedy_sr_beta

The BMC Service Request Management application enables an IT department and other business departments to easily define available services, publish those services in a service catalog, and automate fulfillment of those services for the user community, enabling users to help themselves. This integration uses SOAP API and supports SRM 9.0 version.

Case Management · Remedy SR (Beta)

Details

IDremedy_sr_beta
ProviderBMC Software
CategoryCase Management
From Version5.0.0
Docker Imagedemisto/python3:3.12.13.10116658
Supported ModulesAgentix XSIAM

README

remedy-get-ticket


Get ticket details.

Base Command

remedy-get-ticket

Input

Argument Name Description Required
service_request_id Service request ID. Required

Context Output

Path Type Description
Remedy.Ticket.RequesterEmail string Email of requester.
Remedy.Ticket.RequesterName string Name of requester.
Remedy.Ticket.RequesterPhone string Phone of requester.
Remedy.Ticket.RequesterNTID string NTID of requester.
Remedy.Ticket.RequesterWorkLocation string Work location of requester.
Remedy.Ticket.RequesterWorkCity string Work city of requester.
Remedy.Ticket.RequesterWorkStreet string Work street of requester.
Remedy.Ticket.Details string Ticket details.
Remedy.Ticket.Priority string Ticket priority.
Remedy.Ticket.ServiceRequestId string Ticket Service request ID.
Remedy.Ticket.Details string Ticket Details.
Remedy.Ticket.SourceReference string Source reference of the ticket.
Remedy.Ticket.Date string Date the ticket was created.
Remedy.Ticket.Time string Time the ticket was created.
Remedy.Ticket.ContactEmail string Contact Email.
Remedy.Ticket.ContactName string Contact Name.
Remedy.Ticket.ContactPhone string Contact Phone.
Remedy.Ticket.RequesterPERNR string Requester PERNR.

remedy-create-ticket


Create a ticket.

Base Command

remedy-create-ticket

Input

Argument Name Description Required
details Ticket details. Required
requester_ntid Requester NTID. Required
requester_pernr Requester PERNR. Optional
contact_email Contact Email. Optional
contact_name Contact Name. Optional
contact_phone Contact Phone. Optional
requester_email Email of User. Required
requester_name Requester First/Last Name. Required
requester_phone User Phone. Required
requester_work_city Requester City. Required
requester_work_location Requester Office. Required
requester_work_street Requester Street. Required

Context Output

Path Type Description
Remedy.Ticket.RequesterEmail string Email of requester.
Remedy.Ticket.RequesterName string Name of requester.
Remedy.Ticket.RequesterPhone string Phone of requester.
Remedy.Ticket.RequesterNTID string NTID of requester.
Remedy.Ticket.RequesterWorkLocation string Work location of requester.
Remedy.Ticket.RequesterWorkCity string Work city of requester.
Remedy.Ticket.RequesterWorkStreet string Work street of requester.
Remedy.Ticket.Details string Ticket details.
Remedy.Ticket.Priority string Ticket priority.
Remedy.Ticket.ServiceRequestId string Ticket Service request ID.
Remedy.Ticket.RequesterPERNR string Requester PERNR.
Remedy.Ticket.ContactEmail string Contact Email.
Remedy.Ticket.ContactName string Contact Name.
Remedy.Ticket.ContactPhone string Contact Phone.

Configuration parameters

  • server — Server (e.g http://192.168.0.1) (required)
  • xml_ns — xml_ns (e.g http://<name>.com/tts/servicerequest/v1_6) (required)
  • username — Username (required)
  • password — Password (required)
  • proxy — Use system proxy settings
  • insecure — Trust any certificate (not secure)

Commands (3)

  • remedy-create-ticket

    Create a ticket.

  • remedy-get-ticket

    Get ticket details.

  • remedy-update-ticket Deprecated

    Update a ticket.

import demistomock as demisto

HTTP_REQUEST_MOCK = {
    "ServiceRequestId": "ServiceRequestId",
    "ServiceRequestStatus": "ServiceRequestStatus",
    "Priority": "Priority",
    "Created": {"When": {"Time": "Time", "Date": "Date"}},
    "Details": "Details",
    "SourceReference": "SourceReference",
    "RequesterContactInformation": {
        "RequesterEmail": "RequesterEmail",
        "RequesterPhone": "RequesterPhone",
        "RequesterName": "RequesterName",
        "RequesterWorkStreet": "RequesterWorkStreet",
        "RequesterWorkLocation": "RequesterWorkLocation",
        "RequesterWorkCity": "RequesterWorkCity",
        "ContactInformation": {"ContactEmail": "ContactEmail", "ContactPhone": "ContactPhone", "ContactName": "ContactName"},
    },
}

REQUEST_ARGS_MOCK = {
    "details": "details",
    "requester_ntid": "requester_ntid",
    "requester_pernr": "requester_pernr",
    "contact_email": "contact_email",
    "contact_name": "contact_name",
    "contact_phone": "contact_phone",
    "requester_email": "requester_email",
    "requester_name": "requester_name",
    "requester_phone": "requester_phone",
    "requester_work_city": "requester_work_city",
    "requester_work_location": "requester_work_location",
    "requester_work_street": "requester_work_street",
}


def test_remedy_get_ticket_command(mocker):
    """
    Given: Demisto args and params.
    When:  Running a remedy_get_ticket_command normally.
    Then:  ensures the expected result is returned
    """

    mocker.patch.object(demisto, "results")
    mocker.patch.object(
        demisto, "params", return_value={"server": "server", "xml_ns": "xml_ns", "username": "username", "password": "password"}
    )
    mocker.patch.object(demisto, "args", return_value={"service_request_id": "service_request_id"})

    import remedy_SR

    mocker.patch.object(
        remedy_SR, "http_request", return_value={"Envelope": {"Body": {"getResponse": {"return": {"Body": HTTP_REQUEST_MOCK}}}}}
    )

    remedy_SR.remedy_get_ticket_command()

    assert "### Ticket:" in demisto.results.call_args_list[0][0][0].get("HumanReadable")


def test_remedy_create_ticket_command(mocker):
    """
    Given: Demisto args and params.
    When:  Running a create_ticket_command normally.
    Then:  ensures the expected result is returned
    """
    mocker.patch.object(demisto, "results")
    mocker.patch.object(
        demisto, "params", return_value={"server": "server", "xml_ns": "xml_ns", "username": "username", "password": "password"}
    )
    mocker.patch.object(demisto, "args", return_value=REQUEST_ARGS_MOCK)

    import remedy_SR

    mocker.patch.object(
        remedy_SR,
        "http_request",
        return_value={"Envelope": {"Body": {"createResponse": {"return": {"Body": HTTP_REQUEST_MOCK}}}}},
    )

    remedy_SR.remedy_create_ticket_command()

    assert "### Ticket:" in demisto.results.call_args_list[0][0][0].get("HumanReadable")