Ingest SDLC events

  • Latest Dynatrace
  • Overview
  • 3-min read
  • Published Aug 25, 2024

You can configure external tools to send software development lifecycle (SDLC) events to Dynatrace via API.

This guide shows you how to ingest JSON data into Dynatrace using either the built-in or a custom API endpoint.

Details

Description

You can use and extend our built-in SDLC events endpoint to ingest custom events via API.

You can create and configure an endpoint to ingest SDLC events via API.

Details

  • Fixed endpoint URL: One URL for all use cases and products.

  • Data enrichment: A static event.kind == "SDLC_EVENT" field is added to the event to mark it as an SDLC event. If no start_time and end_time are set, start_time and end_time are set to now. If pipeline.* properties are part of the event, the event.category is set to pipeline. If task.* properties are part of the event, the event.category is set to task.

  • Mapping: No mapping is applied; data stays in the original format. This means you can analyze data based on your format and create custom dashboards and workflows.

    • Alternatively, you can parse to map data manually to the Semantic Dictionary conventions.
  • Custom bucket: You can select or create a bucket where the SDLC events will be stored.

  • Custom endpoint URL: You can configure dedicated URLs for specific use cases or products.

  • Data enrichment: You can define custom data enrichments.

  • Mapping: You can configure a processing pipeline to map data manually to the Semantic Dictionary conventions.

Steps

Step 1 Authenticate

To start ingesting data, select an ingest option and create an access token.

Endpoint URL

https://{your-environment-id}.live.dynatrace.com/platform/ingest/v1/events.sdlc

Method

POST

Authentication

Create access token

Scope

openpipeline.events_sdlc

Payload

application/json

Step 2 Copy the endpoint URL

Copy the endpoint path of the chosen ingest option.

The sample commands below indicate a JSON content type and provide the JSON event data using the -d parameter. Make sure to substitute

  • <your-endpoint-URL> with the URL of the endpoint you copied.
  • <your-API-token> with the token you generated.

Step 3 Send a single event

Run the following sample command to send an event to your endpoint via POST request.

curl -i -X POST "<your-endpoint-URL>" \
-H "Content-Type: application/json" \
-H "Authorization: Api-Token <your-API-token>" \
-d "{\"event.type\":\"test\", \"event.status\":\"finished\"}"

Your request is successful if the output contains the 202 response code, for example

HTTP/2 202

Step 4 optional Send multiple events in batches

Run the following sample command to send two events in a batch to your endpoint via POST request.

curl -i -X POST "<your-endpoint-URL>" \
-H "Content-Type: application/json" \
-H "Authorization: Api-Token <your-API-token>" \
-d "[ {\"event.type\":\"test\", \"event.status\":\"finished\", \"test.id\":\"1\"}, {\"event.type\":\"test\", \"event.status\":\"finished\", \"test.id\":\"2\"} ]"

Your request is successful if the output contains the 202 response code, for example

HTTP/2 202

Step 5 Verify ingestion

To verify that your SDLC event has been ingested successfully, query it via DQL, for example, in Notebooks.

  1. Go to Notebooks.

  2. Choose or create a notebook.

  3. Select Add > DQL to add a new section with a DQL query input field.

  4. Enter the following DQL query:

    fetch events
    | filter event.kind == "SDLC_EVENT"
    | filter event.type == "test"
    | filter event.status == "finished"
Related tags
Software Delivery