Créer un modèle post-mortem
https://api.datadoghq.com/api/v2/incidents/config/postmortem-templateshttps://api.us3.datadoghq.com/api/v2/incidents/config/postmortem-templateshttps://api.us5.datadoghq.com/api/v2/incidents/config/postmortem-templateshttps://api.datadoghq.eu/api/v2/incidents/config/postmortem-templateshttps://api.ap1.datadoghq.com/api/v2/incidents/config/postmortem-templateshttps://api.ap2.datadoghq.com/api/v2/incidents/config/postmortem-templateshttps://api.uk1.datadoghq.com/api/v2/incidents/config/postmortem-templateshttps://api.ddog-gov.com/api/v2/incidents/config/postmortem-templateshttps://api.us2.ddog-gov.com/api/v2/incidents/config/postmortem-templatesPrésentation
Créez un nouveau modèle de postmortem pour les incidents.
Requête
Body Data (required)
data [required]attributes [required]Attributes for creating or updating a postmortem template.
confluence_postmortem_settingsSettings for a postmortem template stored in Confluence. Required when location is confluence.
account_id [required]The ID of the Confluence integration account.
parent_idThe ID of the parent Confluence page under which postmortems are created.
space_id [required]The ID of the Confluence space where postmortems are created.
contentThe templated content of the postmortem, supporting Markdown and incident template variables.
google_docs_postmortem_settingsSettings for a postmortem template stored in Google Docs. Required when location is google_docs.
account_id [required]The ID of the Google Drive integration account.
parent_folder_id [required]The ID of the Google Drive folder where postmortems are created.
is_defaultWhen set, marks this template as a default. The effective default for an incident type is the template with the most recent is_default timestamp. Set to null to unset.
locationThe location where the postmortem is created and stored.
datadog_notebooksdatadog_notebooks, confluence, google_docsname [required]The name of the template.
idThe ID of the template. Required when updating.
relationshipsRelationships for a postmortem template. incident_type is required when creating a template and is immutable afterwards.
incident_typeRelationship to the incident type this template belongs to.
data [required]Incident type relationship data.
id [required]The incident type identifier.
type [required]The incident type resource type.
type [required]Postmortem template resource type.
postmortem_templates, postmortem_template{
"data": {
"attributes": {
"confluence_postmortem_settings": {
"account_id": "123456",
"parent_id": "345678",
"space_id": "789012"
},
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"google_docs_postmortem_settings": {
"account_id": "123456",
"parent_folder_id": "789012"
},
"is_default": "2024-01-01T00:00:00+00:00",
"location": "datadog_notebooks",
"name": "Standard Postmortem Template"
},
"id": "00000000-0000-0000-0000-000000000000",
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}Réponse
Created
Response containing a single postmortem template.
data [required]Data object for a postmortem template returned in a response.
attributes [required]Attributes of a postmortem template returned in a response.
confluence_postmortem_settingsSettings for a postmortem template stored in Confluence. Required when location is confluence.
account_id [required]The ID of the Confluence integration account.
parent_idThe ID of the parent Confluence page under which postmortems are created.
space_id [required]The ID of the Confluence space where postmortems are created.
content [required]The templated content of the postmortem, supporting Markdown and incident template variables.
createdAt [required]When the template was created.
google_docs_postmortem_settingsSettings for a postmortem template stored in Google Docs. Required when location is google_docs.
account_id [required]The ID of the Google Drive integration account.
parent_folder_id [required]The ID of the Google Drive folder where postmortems are created.
is_default [required]When set, marks this template as a default. The effective default for an incident type is the template with the most recent is_default timestamp.
location [required]The location where the postmortem is created and stored.
datadog_notebooksdatadog_notebooks, confluence, google_docsmodifiedAt [required]When the template was last modified.
name [required]The name of the template.
id [required]The ID of the template.
relationshipsRelationships of a postmortem template returned in a response.
incident_typeRelationship to the incident type this template belongs to.
data [required]Incident type relationship data.
id [required]The incident type identifier.
type [required]The incident type resource type.
last_modified_by_userRelationship to a user.
data [required]User relationship data.
id [required]The user identifier.
type [required]The user resource type.
type [required]Postmortem template resource type.
postmortem_templates, postmortem_template{
"data": {
"attributes": {
"confluence_postmortem_settings": {
"account_id": "123456",
"parent_id": "345678",
"space_id": "789012"
},
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"createdAt": "2026-01-13T17:15:53.208340Z",
"google_docs_postmortem_settings": {
"account_id": "123456",
"parent_folder_id": "789012"
},
"is_default": "2024-01-01T00:00:00+00:00",
"location": "datadog_notebooks",
"modifiedAt": "2026-01-13T17:15:53.208340Z",
"name": "Standard Postmortem Template"
},
"id": "00000000-0000-0000-0000-000000000000",
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
},
"last_modified_by_user": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "users"
}
}
},
"type": "postmortem_templates"
}
}Bad Request
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Forbidden
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Exemple de code
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/incidents/config/postmortem-templates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"content": "# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
"name": "Standard Postmortem Template"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000009",
"type": "incident_types"
}
}
},
"type": "postmortem_templates"
}
}
EOF// Create postmortem template returns "Created" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
"github.com/google/uuid"
)
func main() {
body := datadogV2.PostmortemTemplateRequest{
Data: datadogV2.PostmortemTemplateDataRequest{
Attributes: datadogV2.PostmortemTemplateAttributesRequest{
ConfluencePostmortemSettings: &datadogV2.ConfluencePostmortemSettings{
AccountId: "123456",
ParentId: *datadog.NewNullableString(datadog.PtrString("345678")),
SpaceId: "789012",
},
Content: datadog.PtrString(`# Overview
# What Happened
# Timeline
# Action Items`),
GoogleDocsPostmortemSettings: &datadogV2.GoogleDocsPostmortemSettings{
AccountId: "123456",
ParentFolderId: "789012",
},
IsDefault: *datadog.NewNullableTime(datadog.PtrTime(time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC))),
Location: datadogV2.POSTMORTEMTEMPLATELOCATION_DATADOG_NOTEBOOKS.Ptr(),
Name: "Standard Postmortem Template",
},
Id: datadog.PtrString("00000000-0000-0000-0000-000000000000"),
Relationships: &datadogV2.PostmortemTemplateCreateRelationships{
IncidentType: &datadogV2.PostmortemTemplateIncidentTypeRelationship{
Data: datadogV2.PostmortemTemplateIncidentTypeRelationshipData{
Id: uuid.MustParse("00000000-0000-0000-0000-000000000009"),
Type: "incident_types",
},
},
},
Type: datadogV2.POSTMORTEMTEMPLATETYPE_POSTMORTEM_TEMPLATES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CreateIncidentPostmortemTemplate", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewIncidentsApi(apiClient)
resp, r, err := api.CreateIncidentPostmortemTemplate(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `IncidentsApi.CreateIncidentPostmortemTemplate`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `IncidentsApi.CreateIncidentPostmortemTemplate`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Create postmortem template returns "Created" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.IncidentsApi;
import com.datadog.api.client.v2.model.ConfluencePostmortemSettings;
import com.datadog.api.client.v2.model.GoogleDocsPostmortemSettings;
import com.datadog.api.client.v2.model.PostmortemTemplateAttributesRequest;
import com.datadog.api.client.v2.model.PostmortemTemplateCreateRelationships;
import com.datadog.api.client.v2.model.PostmortemTemplateDataRequest;
import com.datadog.api.client.v2.model.PostmortemTemplateIncidentTypeRelationship;
import com.datadog.api.client.v2.model.PostmortemTemplateIncidentTypeRelationshipData;
import com.datadog.api.client.v2.model.PostmortemTemplateLocation;
import com.datadog.api.client.v2.model.PostmortemTemplateRequest;
import com.datadog.api.client.v2.model.PostmortemTemplateResponse;
import com.datadog.api.client.v2.model.PostmortemTemplateType;
import java.time.OffsetDateTime;
import java.util.UUID;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.createIncidentPostmortemTemplate", true);
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
PostmortemTemplateRequest body =
new PostmortemTemplateRequest()
.data(
new PostmortemTemplateDataRequest()
.attributes(
new PostmortemTemplateAttributesRequest()
.confluencePostmortemSettings(
new ConfluencePostmortemSettings()
.accountId("123456")
.parentId("345678")
.spaceId("789012"))
.content(
"""
# Overview
# What Happened
# Timeline
# Action Items
""")
.googleDocsPostmortemSettings(
new GoogleDocsPostmortemSettings()
.accountId("123456")
.parentFolderId("789012"))
.isDefault(OffsetDateTime.parse("2024-01-01T00:00:00+00:00"))
.location(PostmortemTemplateLocation.DATADOG_NOTEBOOKS)
.name("Standard Postmortem Template"))
.id("00000000-0000-0000-0000-000000000000")
.relationships(
new PostmortemTemplateCreateRelationships()
.incidentType(
new PostmortemTemplateIncidentTypeRelationship()
.data(
new PostmortemTemplateIncidentTypeRelationshipData()
.id(
UUID.fromString(
"00000000-0000-0000-0000-000000000009"))
.type("incident_types"))))
.type(PostmortemTemplateType.POSTMORTEM_TEMPLATES));
try {
PostmortemTemplateResponse result = apiInstance.createIncidentPostmortemTemplate(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling IncidentsApi#createIncidentPostmortemTemplate");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Create postmortem template returns "Created" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.incidents_api import IncidentsApi
from datadog_api_client.v2.model.confluence_postmortem_settings import ConfluencePostmortemSettings
from datadog_api_client.v2.model.google_docs_postmortem_settings import GoogleDocsPostmortemSettings
from datadog_api_client.v2.model.postmortem_template_attributes_request import PostmortemTemplateAttributesRequest
from datadog_api_client.v2.model.postmortem_template_create_relationships import PostmortemTemplateCreateRelationships
from datadog_api_client.v2.model.postmortem_template_data_request import PostmortemTemplateDataRequest
from datadog_api_client.v2.model.postmortem_template_incident_type_relationship import (
PostmortemTemplateIncidentTypeRelationship,
)
from datadog_api_client.v2.model.postmortem_template_incident_type_relationship_data import (
PostmortemTemplateIncidentTypeRelationshipData,
)
from datadog_api_client.v2.model.postmortem_template_location import PostmortemTemplateLocation
from datadog_api_client.v2.model.postmortem_template_request import PostmortemTemplateRequest
from datadog_api_client.v2.model.postmortem_template_type import PostmortemTemplateType
from datetime import datetime
from dateutil.tz import tzutc
from uuid import UUID
body = PostmortemTemplateRequest(
data=PostmortemTemplateDataRequest(
attributes=PostmortemTemplateAttributesRequest(
confluence_postmortem_settings=ConfluencePostmortemSettings(
account_id="123456",
parent_id="345678",
space_id="789012",
),
content="# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
google_docs_postmortem_settings=GoogleDocsPostmortemSettings(
account_id="123456",
parent_folder_id="789012",
),
is_default=datetime(2024, 1, 1, 0, 0, tzinfo=tzutc()),
location=PostmortemTemplateLocation.DATADOG_NOTEBOOKS,
name="Standard Postmortem Template",
),
id="00000000-0000-0000-0000-000000000000",
relationships=PostmortemTemplateCreateRelationships(
incident_type=PostmortemTemplateIncidentTypeRelationship(
data=PostmortemTemplateIncidentTypeRelationshipData(
id=UUID("00000000-0000-0000-0000-000000000009"),
type="incident_types",
),
),
),
type=PostmortemTemplateType.POSTMORTEM_TEMPLATES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["create_incident_postmortem_template"] = True
with ApiClient(configuration) as api_client:
api_instance = IncidentsApi(api_client)
response = api_instance.create_incident_postmortem_template(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Create postmortem template returns "Created" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.create_incident_postmortem_template".to_sym] = true
end
api_instance = DatadogAPIClient::V2::IncidentsAPI.new
body = DatadogAPIClient::V2::PostmortemTemplateRequest.new({
data: DatadogAPIClient::V2::PostmortemTemplateDataRequest.new({
attributes: DatadogAPIClient::V2::PostmortemTemplateAttributesRequest.new({
confluence_postmortem_settings: DatadogAPIClient::V2::ConfluencePostmortemSettings.new({
account_id: "123456",
parent_id: "345678",
space_id: "789012",
}),
content: '# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items',
google_docs_postmortem_settings: DatadogAPIClient::V2::GoogleDocsPostmortemSettings.new({
account_id: "123456",
parent_folder_id: "789012",
}),
is_default: "2024-01-01T00:00:00+00:00",
location: DatadogAPIClient::V2::PostmortemTemplateLocation::DATADOG_NOTEBOOKS,
name: "Standard Postmortem Template",
}),
id: "00000000-0000-0000-0000-000000000000",
relationships: DatadogAPIClient::V2::PostmortemTemplateCreateRelationships.new({
incident_type: DatadogAPIClient::V2::PostmortemTemplateIncidentTypeRelationship.new({
data: DatadogAPIClient::V2::PostmortemTemplateIncidentTypeRelationshipData.new({
id: "00000000-0000-0000-0000-000000000009",
type: "incident_types",
}),
}),
}),
type: DatadogAPIClient::V2::PostmortemTemplateType::POSTMORTEM_TEMPLATES,
}),
})
p api_instance.create_incident_postmortem_template(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Create postmortem template returns "Created" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_incidents::IncidentsAPI;
use datadog_api_client::datadogV2::model::ConfluencePostmortemSettings;
use datadog_api_client::datadogV2::model::GoogleDocsPostmortemSettings;
use datadog_api_client::datadogV2::model::PostmortemTemplateAttributesRequest;
use datadog_api_client::datadogV2::model::PostmortemTemplateCreateRelationships;
use datadog_api_client::datadogV2::model::PostmortemTemplateDataRequest;
use datadog_api_client::datadogV2::model::PostmortemTemplateIncidentTypeRelationship;
use datadog_api_client::datadogV2::model::PostmortemTemplateIncidentTypeRelationshipData;
use datadog_api_client::datadogV2::model::PostmortemTemplateLocation;
use datadog_api_client::datadogV2::model::PostmortemTemplateRequest;
use datadog_api_client::datadogV2::model::PostmortemTemplateType;
use uuid::Uuid;
#[tokio::main]
async fn main() {
let body = PostmortemTemplateRequest::new(
PostmortemTemplateDataRequest::new(
PostmortemTemplateAttributesRequest::new("Standard Postmortem Template".to_string())
.confluence_postmortem_settings(
ConfluencePostmortemSettings::new("123456".to_string(), "789012".to_string())
.parent_id(Some("345678".to_string())),
)
.content(
r#"# Overview
# What Happened
# Timeline
# Action Items"#
.to_string(),
)
.google_docs_postmortem_settings(GoogleDocsPostmortemSettings::new(
"123456".to_string(),
"789012".to_string(),
))
.is_default(Some(
DateTime::parse_from_rfc3339("2024-01-01T00:00:00+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
))
.location(PostmortemTemplateLocation::DATADOG_NOTEBOOKS),
PostmortemTemplateType::POSTMORTEM_TEMPLATES,
)
.id("00000000-0000-0000-0000-000000000000".to_string())
.relationships(PostmortemTemplateCreateRelationships::new().incident_type(
PostmortemTemplateIncidentTypeRelationship::new(
PostmortemTemplateIncidentTypeRelationshipData::new(
Uuid::parse_str("00000000-0000-0000-0000-000000000009").expect("invalid UUID"),
"incident_types".to_string(),
),
),
)),
);
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.create_incident_postmortem_template", true);
let api = IncidentsAPI::with_config(configuration);
let resp = api.create_incident_postmortem_template(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run/**
* Create postmortem template returns "Created" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations["v2.createIncidentPostmortemTemplate"] = true;
const apiInstance = new v2.IncidentsApi(configuration);
const params: v2.IncidentsApiCreateIncidentPostmortemTemplateRequest = {
body: {
data: {
attributes: {
confluencePostmortemSettings: {
accountId: "123456",
parentId: "345678",
spaceId: "789012",
},
content:
"# Overview\n\n# What Happened\n\n# Timeline\n\n# Action Items",
googleDocsPostmortemSettings: {
accountId: "123456",
parentFolderId: "789012",
},
isDefault: new Date(2024, 1, 1, 0, 0, 0, 0),
location: "datadog_notebooks",
name: "Standard Postmortem Template",
},
id: "00000000-0000-0000-0000-000000000000",
relationships: {
incidentType: {
data: {
id: "00000000-0000-0000-0000-000000000009",
type: "incident_types",
},
},
},
type: "postmortem_templates",
},
},
};
apiInstance
.createIncidentPostmortemTemplate(params)
.then((data: v2.PostmortemTemplateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"