GetSendEmailInstances
Gets all the enabled instances of integrations that have a send-mail command, in the output format of a single select field.
python · Phishing Campaign
Source
import demistomock as demisto # noqa: F401 from CommonServerPython import * # noqa: F401 def get_all_integrations_commands(): """Send API request with demisto rest api, to get all integration instances configured in the demisto.""" integration_commands_res = demisto.internalHttpRequest("GET", "/settings/integration-commands") if integration_commands_res and integration_commands_res["statusCode"] == 200: return json.loads(integration_commands_res.get("body", "{}")) demisto.debug("Did not receive expected response from Demisto API: /settings/integration-commands") return [] def get_all_instances(): """Send API request with demisto rest api, to get all integration instances configured in the demisto.""" integration_search_res = demisto.internalHttpRequest("POST", "/settings/integration/search", '{"size":1000}') if integration_search_res and integration_search_res["statusCode"] == 200: integration_search = json.loads(integration_search_res.get("body", "{}")) return integration_search["instances"] demisto.debug("Did not receive expected response from Demisto API: /settings/integration/search") return [] def get_sendmail_instances(): """ Get the enabled instances that has send-mail command :rtype: ``list`` :return: list of enabled instances """ integration_commands = get_all_integrations_commands() # if we only want to search enabled integrations, we must fetch that list from another API integration_instances = get_all_instances() send_mail_integrations = [ integration["name"] for integration in integration_commands if "send-mail" in [cmd["name"] for cmd in integration.get("commands", [])] ] integration_instances_enabled = [instance for instance in integration_instances if instance["enabled"] == "true"] relevant_instances = [ instance["name"] for instance in integration_instances_enabled if instance["brand"] in send_mail_integrations ] return relevant_instances def get_enabled_instances(): """ Collect the enabled instances that has send-mail command, for SingleSelect field :rtype: ``dict`` :return: dict with the ids as options for SingleSelect field e.g {"hidden": False, "options": send_mail_instances} """ send_mail_instances = get_sendmail_instances() return {"hidden": False, "options": send_mail_instances} def main(): try: result = get_enabled_instances() return_results(result) except Exception as err: return_error(str(err), error=traceback.format_exc()) if __name__ in ("__main__", "__builtin__", "builtins"): main()
README
Gets all the enabled instances of integrations that have a send-mail command, in the output format of a single select field.
Script Data
| Name | Description |
|---|---|
| Script Type | python3 |
| Tags | field-display |
| Cortex XSOAR Version | 6.1.0 |
Inputs
There are no inputs for this script.
Outputs
There are no outputs for this script.