[Feature][Plugin] Datadog Incident Management integration
Los mantenedores suelen responder en 1 día
@stigi ya está trabajando en esto.
Desde el 11/9/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Search before asking
- I had searched in the issues and found no similar feature requirement.
Use case
As an engineering leader using DevLake for DORA metrics, I want to ingest incidents from Datadog Incident Management, so that change failure rate and time to restore service keep working after a team moves its on-call off PagerDuty and onto Datadog.
DevLake already supports PagerDuty, Opsgenie, Rootly and incident.io. Datadog is a common destination for teams consolidating monitoring, paging and incident response in one tool, and today those teams lose their incident source when they migrate. The only path left is the generic webhook plugin, which cannot carry severity history, detection timestamps or per-incident custom fields.
Description
Datadog Incident Management exposes incidents through the public API (/api/v2/incidents,
paginated). Auth is the standard Datadog pair of an API key plus an application key,
against a site-specific host (api.datadoghq.com, api.datadoghq.eu, api.us3.datadoghq.com, …),
so the connection needs an endpoint or site field like other multi-region plugins.
Proposed plugin, modeled on incidentio and rootly:
-
Connection: API key + application key + site/endpoint.
-
Scope: incident types, analogous to the incident-type scope in the incident.io plugin.
A single organization-wide scope is the fallback for orgs that do not use incident types. -
Entities: incidents → domain
issueswithtype = INCIDENTplusincidents.
Field mapping, verified against a production Datadog organization:Datadog Domain public_id(andslug, e.g.IR-22)issue_keytitletitleseverity(SEV-1…SEV-5,UNKNOWN)severity, via a configurable mappingstate(active/stable/resolved)status,original_statuscreatedcreated_datedetecteddetection timestamp, for time to detect resolvedresolution_date,lead_time_minutescustomer_impacted,customer_impact_durationimpact attributes urlurlis_testexcluded from collection, like incident.io's test/tutorial incidents -
Custom fields: Datadog incidents carry both default fields (
detection_method,
root_cause,services,teams) and org-defined single-select, multi-select and
free-text fields. The plugin would collect these verbatim into the tool layer, and the
scope config would name which field maps ontocomponentand which ontoseverity.
The same shape as the deployment-name pattern in the CircleCI scope config. This keeps
organization-specific vocabulary out of the plugin while making the fields usable for
change-failure attribution. -
No framework changes: the result feeds the existing DORA incident metrics.
Out of scope for a first PR: Datadog On-Call (schedules, pages, escalation policies),
monitors and alerts, and the Datadog DORA Metrics product.
We have mapped the fields above against our own production Datadog organization through
the API, and intend to implement the plugin in Go following the incidentio plugin layout
(models/raw, tool models with migration scripts, collector/extractor/converter tasks,
connection and scope APIs, e2e fixtures). Flagging the intent here first in case
maintainers want a different scope model or a different approach to the custom-field
mapping before we open the PR.
Related issues
- #9023 - incident.io plugin, the closest precedent for scope and field mapping
- #8877 - Rootly plugin
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct
- Lenguaje dominante
- Go
- Estrellas
- 3.1k
- Forks
- 812
- Merge medio
- 2 d 8 h
- PR fusionados (30 d)
- 51
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/devlake
-
type/bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Los mantenedores suelen responder en 1 día
-
[Bug][jenkins] Incremental collection skips the stages of builds that finish after the next syncAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
type/bug
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
apache/devlake#9170 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Feature][Plugins] Add YouTrack pluginPosiblemente ocupada @tpam28 la tomó hace 1 día. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
apache/devlake#9168 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug][Jira/DORA] Extra JQL does not isolate projects sharing the same Jira boardPosiblemente ocupada @veetmoradiya3628 la tomó hace 7 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
apache/devlake#9151 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/devlake
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
rossoctl/context-guru#346 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
prime-radiant-inc/evener#2883 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
gravitational/teleport#69805 ·
Los mantenedores suelen responder en 11 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Under Poisson sampling, the `PLDAccountant` composes the inner event both before and after samplingAbierto
Dificultad 2/5 Medio día Aptitud para principiantes 78/100
google/differential-privacy#496 ·