Details
| ID | iLert |
|---|---|
| Provider | Ilert GmbH |
| Category | Messaging and Conferencing |
| From Version | 5.0.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
| Supported Modules | Agentix XSIAM |
README
iLert is a modern uptime platform with advanced on-call and alerting features.
Alert and notify users using iLert.
This integration was integrated and tested with API version 1 of iLert.
Configure iLert on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for iLert.
-
Click Add instance to create and configure a new integration instance.
Parameter Required Server URL True The API key of the alert source (for triggering events only) True Trust any certificate (not secure) False Use system proxy settings False - Click Test to validate the URLs, token, and connection.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
iLert-submit-event
Creates a new event/incident in iLert (in order to use this command you have to enter the Integration Key in the integration settings)
Base Command
ilert-submit-event
Input
| Argument Name | Description | Required |
|---|---|---|
| incident_key | For ALERT events, the incident key can be used to deduplicate or group events. If an open incident with the key already exists, the event will be appended to the incident’s event log. Otherwise a new incident will be created. For ACCEPT and RESOLVE events, the incident key is used to reference the open incident which is to be accepted or resolved by this event. | Optional |
| event_type | Must be either ALERT, ACCEPT, or RESOLVE. Default is ALERT. | Optional |
| summary | The event summary. Will be used as the incident summary if a new incident is created. | Optional |
| details | The event details. Will be used as the incident details if a new incident is created. | Optional |
| priority | Must be either HIGH or LOW. Will overwrite the evaluated priority of the alert source. | Optional |
Context Output
There is no context output for this command.
Command Example
!ilert-submit-event summary="Test incident"
Human Readable Output
Incident has been created.
ilert-acknowledge-event
Acknowledges an existing event in iLert
Base Command
iLert-acknowledge-event
Input
| Argument Name | Description | Required |
|---|---|---|
| incident_key | The incident key is used to reference the open incident which is to be accepted or resolved by this event. | Optional |
| summary | The event summary. Will be used as the event description in the incident timeline. | Optional |
Context Output
There is no context output for this command.
Command Example
!ilert-acknowledge-event incident_key="ctx312"
Human Readable Output
Incident has been acknowledged.
ilert-resolve-event
Resolves an existing event in iLert
Base Command
ilert-resolve-event
Input
| Argument Name | Description | Required |
|---|---|---|
| incident_key | The incident key is used to reference the open incident which is to be accepted or resolved by this event. | Optional |
| summary | The event summary. Will be used as the event description in the incident timeline. | Optional |
Context Output
There is no context output for this command.
Command Example
!iLert-resolve-event incident_key="ctx312"
Human Readable Output
Incident has been resolved.
Configuration parameters
url— Server URL (required)integrationKey— The API key of the alert source (for triggering events only) (required)insecure— Trust any certificate (not secure)proxy— Use system proxy settings
Commands (3)
-
ilert-acknowledge-eventAcknowledges an existing event in iLert
-
ilert-resolve-eventResolves an existing event in iLert
-
ilert-submit-eventCreates a new event/incident in iLert (in order to use this command you have to enter the Integration Key in the integration settings)
import demistomock as demisto # noqa: F401 # Disable insecure warnings import urllib3 from CommonServerPython import * # noqa: F401 urllib3.disable_warnings() """ GLOBAL VARS """ # iLert API works only with secured communication. USE_SSL = not demisto.params().get("insecure", False) USE_PROXY = demisto.params().get("proxy", True) INTEGRATION_KEY = demisto.params().get("integrationKey", "") BASE_URL = demisto.params().get("url", "").strip("/") DEFAULT_HEADERS = {"accept": "application/json", "content-type": "application/json"} """HANDLE PROXY""" if not USE_PROXY: # Remove proxy environment variables if they exist for proxy_var in ["HTTP_PROXY", "HTTPS_PROXY", "http_proxy", "https_proxy"]: os.environ.pop(proxy_var, None) """ HELPER FUNCTIONS """ def test_module(): create_new_incident_event(summary="Test incident") demisto.results("ok") def http_request(method, url_suffix, params_dict=None, data=None): url = urljoin(BASE_URL, url_suffix) try: res = requests.request(method, url, verify=USE_SSL, params=params_dict, headers=DEFAULT_HEADERS, data=data) res.raise_for_status() return res.json() except Exception as e: LOG(e) raise def create_new_incident_event( event_type="ALERT", summary="", details="No description", incident_key=None, priority=None, integrationKey=INTEGRATION_KEY ): """Send incident related event to iLert.""" if integrationKey is None: raise Exception("You must enter an integrationKey as integration parameters or in the command to process this action.") if event_type == "ALERT" and not summary: raise Exception("You must enter a summary in the command to process this action.") if event_type != "ALERT" and incident_key is None: raise Exception("You must enter an incident_key in the command to process this action.") payload = { "apiKey": integrationKey, "eventType": event_type, "summary": summary, "details": details, "incidentKey": incident_key, "priority": priority, } return http_request("POST", "/events", data=json.dumps(payload)) def submit_new_event_command( event_type="ALERT", summary="", details="No description", incident_key=None, priority=None, integrationKey=INTEGRATION_KEY ): """Create new incident.""" create_new_incident_event(event_type, summary, details, incident_key, priority, integrationKey) return "Incident has been created" def submit_acknowledge_event_command(summary, incident_key=None, integrationKey=INTEGRATION_KEY): """Acknowledge existing incident.""" create_new_incident_event(event_type="ACCEPT", summary=summary, incident_key=incident_key, integrationKey=integrationKey) return "Incident has been acknowledged" def submit_resolve_event_command(summary, incident_key=None, integrationKey=INTEGRATION_KEY): """Resolve existing incident.""" create_new_incident_event(event_type="RESOLVE", summary=summary, incident_key=incident_key, integrationKey=integrationKey) return "Incident has been resolved" """ EXECUTION CODE """ def main(): LOG(f"command is {demisto.command()}") try: if demisto.command() == "test-module": test_module() elif demisto.command() == "ilert-submit-event": demisto.results(submit_new_event_command(**demisto.args())) elif demisto.command() == "ilert-acknowledge-event": demisto.results(submit_acknowledge_event_command(**demisto.args())) elif demisto.command() == "ilert-resolve-event": demisto.results(submit_resolve_event_command(**demisto.args())) except Exception as err: return_error(str(err)) if __name__ in ["__main__", "__builtin__", "builtins"]: main()