Skip to main content

Ingesting XML payloads in custom integrations

APEX AIOps Incident Management supports the ingestion of XML payloads in custom integrations:

  • Sending XML events from an external system requires setting the Content-Type header of the payload to text/xml.

  • You can send multiple XML events in a single request, just like with JSON requests.

  • The incoming XML will be converted to JSON before any mapping occurs in the custom integration.

Example of a valid XML payload

Below is an example of a valid XML payload that will be received by Incident Management and converted to JSON. The payload will create two events, assuming that the custom integration configuration reflects the following:

  • Batch processing is enabled against the topLevel.innerEvent field

  • Severity mapping is configured for the severity field (to convert a string to an integer)

  • All other fields are mapped as needed

<?xml version="1.0" encoding="UTF-8" ?>
<topLevel>
	<innerEvent>
		<description> this is my event description 12345 </description>
		<severity> MAJOR </severity>
		<service> my service 1 </service>
		<service> my service 2 </service>
		<service> my service 3 </service>
		<source> my source 1 </source>
		<check> my check 1 </check>
		<time> 1731317553 </time>
		<alias> my alias 1 </alias>
		<manager> my manager 1 </manager>
		<location>
			<city> London </city>
			<country> United Kingdom </country>
		</location>
		<tags>
			<agent> Zabbix </agent>
			<topology> network topology </topology>
			<labels> my label 1 </labels>
			<labels> my label 2 </labels>
			<labels> my label 3 </labels>
		</tags>
	</innerEvent>
	<innerEvent>
		<description> this is my event description 67890 </description>
		<severity> WARNING </severity>
		<service> my service 4 </service>
		<source> my source 2 </source>
		<check> my check 2 </check>
		<time> 1731317553 </time>
		<alias> my alias 2 </alias>
		<manager> my manager 2 </manager>
		<tags>
			<agent> BMC </agent>
			<topology> storage topology </topology>
			<labels> my label 4 </labels>
			<labels> my label 5 </labels>
		</tags>
	</innerEvent>
</topLevel>