티켓 생성 규칙 생성
https://api.datadoghq.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.us3.datadoghq.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.us5.datadoghq.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.datadoghq.eu/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.ap1.datadoghq.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.ap2.datadoghq.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.uk1.datadoghq.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.ddog-gov.com/api/v2/security/findings/automation/ticket_creation_ruleshttps://api.us2.ddog-gov.com/api/v2/security/findings/automation/ticket_creation_rules개요
현재 조직을 위한 새 티켓 생성 규칙을 생성합니다.
요청
Body Data (required)
data [required]티켓 생성 규칙 생성 요청 본문입니다.
attributes [required]Attributes for creating or updating a ticket creation rule.
action [required]The action to take when the ticket creation rule matches a finding.
assignee_idThe UUID of the default assignee for created tickets.
fieldsTarget-specific fields of the ticket to create.
For target: jira, the custom fields of the Jira issue. For the list of available fields, see Jira documentation.
For target: linear, the optional keys linear_project_id (string, the identifier of the Linear project the issue is created in) and linear_label_ids (array of strings, the identifiers of the Linear labels applied to the issue).
max_tickets_per_day [required]The maximum number of tickets the rule may create per day. If exceeded, one final ticket will be created, explaining the limit was hit and link back to the responsible rule.
project_id [required]The UUID of the case management project.
target [required]The ticketing system to create tickets in.
jira, case_management, linearenabledWhether the ticket creation rule is enabled.
name [required]The name of the ticket creation rule.
rule [required]Defines the scope of findings to which the automation rule applies.
finding_types [required]The list of security finding types that the automation rule applies to.
queryA search query to further filter the findings matched by this rule. The @workflow.* namespace and @status fields are not permitted. For a reference of available fields, see the Security Findings schema documentation.
type [required]The JSON:API type for ticket creation rules.
ticket_creation_rules{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}응답
Successfully created the ticket creation rule
A single ticket creation rule response.
data [required]The data object for a ticket creation rule returned by the API.
attributes [required]Attributes of a ticket creation rule returned by the API.
action [required]The action to take when the ticket creation rule matches a finding.
assignee_idThe UUID of the default assignee for created tickets.
auto_disabled_reasonThe reason the rule was automatically disabled by the system due to a ticketing integration error.
fieldsTarget-specific fields of the ticket to create.
For target: jira, the custom fields of the Jira issue. For the list of available fields, see Jira documentation.
For target: linear, the optional keys linear_project_id (string, the identifier of the Linear project the issue is created in) and linear_label_ids (array of strings, the identifiers of the Linear labels applied to the issue).
max_tickets_per_day [required]The maximum number of tickets the rule may create per day. If exceeded, one final ticket will be created, explaining the limit was hit and link back to the responsible rule.
project_id [required]The UUID of the case management project.
target [required]The ticketing system to create tickets in.
jira, case_management, linearcreated_at [required]The Unix timestamp in milliseconds when the rule was created.
created_by [required]The user or Datadog system who created the rule.
id [required]The actor's identifier (a user UUID or a system identifier).
name [required]The name of the actor.
type [required]Whether the actor is a user or the Datadog system.
user, systemenabled [required]Whether the ticket creation rule is enabled.
modified_at [required]The Unix timestamp in milliseconds when the rule was last modified.
modified_by [required]The user or Datadog system who last modified the rule.
id [required]The actor's identifier (a user UUID or a system identifier).
name [required]The name of the actor.
type [required]Whether the actor is a user or the Datadog system.
user, systemname [required]The name of the ticket creation rule.
rule [required]Defines the scope of findings to which the automation rule applies.
finding_types [required]The list of security finding types that the automation rule applies to.
queryA search query to further filter the findings matched by this rule. The @workflow.* namespace and @status fields are not permitted. For a reference of available fields, see the Security Findings schema documentation.
id [required]The ID of the ticket creation rule.
type [required]The JSON:API type for ticket creation rules.
ticket_creation_rules{
"data": {
"attributes": {
"action": {
"assignee_id": "22222222-2222-2222-2222-222222222222",
"auto_disabled_reason": "Daily ticket creation limit exceeded",
"fields": {
"labels": [
"security"
]
},
"max_tickets_per_day": 100,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"created_at": 1722439510282,
"created_by": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "Jane Doe",
"type": "user"
},
"enabled": true,
"modified_at": 1722439510282,
"modified_by": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "Jane Doe",
"type": "user"
},
"name": "Auto-create Jira tickets for critical findings",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod team:platform"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "ticket_creation_rules"
}
}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.
{
"errors": [
"Bad Request"
]
}Unprocessable Entity
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"
]
}코드 예시
# 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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
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/security/findings/automation/ticket_creation_rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"max_tickets_per_day": 10,
"project_id": "11111111-1111-1111-1111-111111111111",
"target": "jira"
},
"enabled": true,
"name": "Example-Security-Monitoring",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:staging"
}
},
"type": "ticket_creation_rules"
}
}
EOF// Create a ticket creation rule returns "Successfully created the ticket creation rule" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"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.TicketCreationRuleCreateRequest{
Data: datadogV2.TicketCreationRuleDataCreate{
Attributes: datadogV2.TicketCreationRuleAttributesCreate{
Action: datadogV2.TicketCreationRuleAction{
MaxTicketsPerDay: 10,
ProjectId: uuid.MustParse("11111111-1111-1111-1111-111111111111"),
Target: datadogV2.TICKETCREATIONTARGET_JIRA,
},
Enabled: datadog.PtrBool(true),
Name: "Example-Security-Monitoring",
Rule: datadogV2.AutomationRuleScope{
FindingTypes: []datadogV2.SecurityFindingType{
datadogV2.SECURITYFINDINGTYPE_MISCONFIGURATION,
},
Query: datadog.PtrString("env:staging"),
},
},
Type: datadogV2.TICKETCREATIONRULETYPE_TICKET_CREATION_RULES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CreateSecurityFindingsAutomationTicketCreationRule", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewSecurityMonitoringApi(apiClient)
resp, r, err := api.CreateSecurityFindingsAutomationTicketCreationRule(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.CreateSecurityFindingsAutomationTicketCreationRule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.CreateSecurityFindingsAutomationTicketCreationRule`:\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 a ticket creation rule returns "Successfully created the ticket creation rule" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
import com.datadog.api.client.v2.model.AutomationRuleScope;
import com.datadog.api.client.v2.model.SecurityFindingType;
import com.datadog.api.client.v2.model.TicketCreationRuleAction;
import com.datadog.api.client.v2.model.TicketCreationRuleAttributesCreate;
import com.datadog.api.client.v2.model.TicketCreationRuleCreateRequest;
import com.datadog.api.client.v2.model.TicketCreationRuleDataCreate;
import com.datadog.api.client.v2.model.TicketCreationRuleResponse;
import com.datadog.api.client.v2.model.TicketCreationRuleType;
import com.datadog.api.client.v2.model.TicketCreationTarget;
import java.util.Collections;
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.createSecurityFindingsAutomationTicketCreationRule", true);
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
TicketCreationRuleCreateRequest body =
new TicketCreationRuleCreateRequest()
.data(
new TicketCreationRuleDataCreate()
.attributes(
new TicketCreationRuleAttributesCreate()
.action(
new TicketCreationRuleAction()
.maxTicketsPerDay(10L)
.projectId(
UUID.fromString("11111111-1111-1111-1111-111111111111"))
.target(TicketCreationTarget.JIRA))
.enabled(true)
.name("Example-Security-Monitoring")
.rule(
new AutomationRuleScope()
.findingTypes(
Collections.singletonList(
SecurityFindingType.MISCONFIGURATION))
.query("env:staging")))
.type(TicketCreationRuleType.TICKET_CREATION_RULES));
try {
TicketCreationRuleResponse result =
apiInstance.createSecurityFindingsAutomationTicketCreationRule(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling"
+ " SecurityMonitoringApi#createSecurityFindingsAutomationTicketCreationRule");
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 a ticket creation rule returns "Successfully created the ticket creation rule" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
from datadog_api_client.v2.model.automation_rule_scope import AutomationRuleScope
from datadog_api_client.v2.model.security_finding_type import SecurityFindingType
from datadog_api_client.v2.model.ticket_creation_rule_action import TicketCreationRuleAction
from datadog_api_client.v2.model.ticket_creation_rule_attributes_create import TicketCreationRuleAttributesCreate
from datadog_api_client.v2.model.ticket_creation_rule_create_request import TicketCreationRuleCreateRequest
from datadog_api_client.v2.model.ticket_creation_rule_data_create import TicketCreationRuleDataCreate
from datadog_api_client.v2.model.ticket_creation_rule_type import TicketCreationRuleType
from datadog_api_client.v2.model.ticket_creation_target import TicketCreationTarget
from uuid import UUID
body = TicketCreationRuleCreateRequest(
data=TicketCreationRuleDataCreate(
attributes=TicketCreationRuleAttributesCreate(
action=TicketCreationRuleAction(
max_tickets_per_day=10,
project_id=UUID("11111111-1111-1111-1111-111111111111"),
target=TicketCreationTarget.JIRA,
),
enabled=True,
name="Example-Security-Monitoring",
rule=AutomationRuleScope(
finding_types=[
SecurityFindingType.MISCONFIGURATION,
],
query="env:staging",
),
),
type=TicketCreationRuleType.TICKET_CREATION_RULES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["create_security_findings_automation_ticket_creation_rule"] = True
with ApiClient(configuration) as api_client:
api_instance = SecurityMonitoringApi(api_client)
response = api_instance.create_security_findings_automation_ticket_creation_rule(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 a ticket creation rule returns "Successfully created the ticket creation rule" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.create_security_findings_automation_ticket_creation_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
body = DatadogAPIClient::V2::TicketCreationRuleCreateRequest.new({
data: DatadogAPIClient::V2::TicketCreationRuleDataCreate.new({
attributes: DatadogAPIClient::V2::TicketCreationRuleAttributesCreate.new({
action: DatadogAPIClient::V2::TicketCreationRuleAction.new({
max_tickets_per_day: 10,
project_id: "11111111-1111-1111-1111-111111111111",
target: DatadogAPIClient::V2::TicketCreationTarget::JIRA,
}),
enabled: true,
name: "Example-Security-Monitoring",
rule: DatadogAPIClient::V2::AutomationRuleScope.new({
finding_types: [
DatadogAPIClient::V2::SecurityFindingType::MISCONFIGURATION,
],
query: "env:staging",
}),
}),
type: DatadogAPIClient::V2::TicketCreationRuleType::TICKET_CREATION_RULES,
}),
})
p api_instance.create_security_findings_automation_ticket_creation_rule(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 a ticket creation rule returns "Successfully created the ticket creation
// rule" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
use datadog_api_client::datadogV2::model::AutomationRuleScope;
use datadog_api_client::datadogV2::model::SecurityFindingType;
use datadog_api_client::datadogV2::model::TicketCreationRuleAction;
use datadog_api_client::datadogV2::model::TicketCreationRuleAttributesCreate;
use datadog_api_client::datadogV2::model::TicketCreationRuleCreateRequest;
use datadog_api_client::datadogV2::model::TicketCreationRuleDataCreate;
use datadog_api_client::datadogV2::model::TicketCreationRuleType;
use datadog_api_client::datadogV2::model::TicketCreationTarget;
use uuid::Uuid;
#[tokio::main]
async fn main() {
let body = TicketCreationRuleCreateRequest::new(TicketCreationRuleDataCreate::new(
TicketCreationRuleAttributesCreate::new(
TicketCreationRuleAction::new(
10,
Uuid::parse_str("11111111-1111-1111-1111-111111111111").expect("invalid UUID"),
TicketCreationTarget::JIRA,
),
"Example-Security-Monitoring".to_string(),
AutomationRuleScope::new(vec![SecurityFindingType::MISCONFIGURATION])
.query("env:staging".to_string()),
)
.enabled(true),
TicketCreationRuleType::TICKET_CREATION_RULES,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled(
"v2.create_security_findings_automation_ticket_creation_rule",
true,
);
let api = SecurityMonitoringAPI::with_config(configuration);
let resp = api
.create_security_findings_automation_ticket_creation_rule(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="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Create a ticket creation rule returns "Successfully created the ticket creation rule" 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.createSecurityFindingsAutomationTicketCreationRule"
] = true;
const apiInstance = new v2.SecurityMonitoringApi(configuration);
const params: v2.SecurityMonitoringApiCreateSecurityFindingsAutomationTicketCreationRuleRequest =
{
body: {
data: {
attributes: {
action: {
maxTicketsPerDay: 10,
projectId: "11111111-1111-1111-1111-111111111111",
target: "jira",
},
enabled: true,
name: "Example-Security-Monitoring",
rule: {
findingTypes: ["misconfiguration"],
query: "env:staging",
},
},
type: "ticket_creation_rules",
},
},
};
apiInstance
.createSecurityFindingsAutomationTicketCreationRule(params)
.then((data: v2.TicketCreationRuleResponse) => {
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"