보안 탐지 결과 Jira 이슈에 첨부
https://api.datadoghq.com/api/v2/security/findings/jira_issueshttps://api.us3.datadoghq.com/api/v2/security/findings/jira_issueshttps://api.us5.datadoghq.com/api/v2/security/findings/jira_issueshttps://api.datadoghq.eu/api/v2/security/findings/jira_issueshttps://api.ap1.datadoghq.com/api/v2/security/findings/jira_issueshttps://api.ap2.datadoghq.com/api/v2/security/findings/jira_issueshttps://api.uk1.datadoghq.com/api/v2/security/findings/jira_issueshttps://api.ddog-gov.com/api/v2/security/findings/jira_issueshttps://api.us2.ddog-gov.com/api/v2/security/findings/jira_issues개요
Jira 이슈 URL을 제공하여 보안 결과를 Jira 이슈에 첨부합니다. Jira 이슈당 최대 50개의 보안 결과를 첨부할 수 있습니다. Jira 이슈가 어떤 케이스에도 연결되어 있지 않은 경우 이 작업은 보안 결과를 위한 케이스를 생성하고 새로 생성된 케이스에 Jira 이슈를 연결합니다. Jira 통합을 구성하려면 Jira와의 양방향 티켓 동기화를 참조하세요. 이미 다른 Jira 이슈에 첨부된 보안 결과는 이전 Jira 이슈에서 분리되어 지정된 Jira 이슈에 첨부됩니다.
요청
Body Data (required)
data보안 결과를 Jira 이슈에 첨부하도록 요청합니다.
attributesAttributes of the Jira issue to attach security findings to.
jira_issue_url [required]URL of the Jira issue to attach security findings to.
relationshipsRelationships of the Jira issue to attach security findings to.
findings [required]Security findings to attach to the Jira issue.
dataArray of security finding data objects.
id [required]Unique identifier of the security finding.
type [required]Security findings resource type.
findingsfindingsproject [required]Case management project with Jira integration configured. It is used to attach security findings to the Jira issue. To configure the integration, see Bidirectional ticket syncing with Jira.
data [required]Data object representing a case management project.
id [required]Unique identifier of the case management project.
type [required]Projects resource type.
projectsprojectstype [required]Jira issues resource type.
jira_issuesjira_issues{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}응답
OK
Case response.
dataData of the case.
attributesAttributes of the case.
archived_atTimestamp of when the case was archived.
assigned_toUser assigned to the case.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersattributesCustom attributes associated with the case as key-value pairs where values are string arrays.
<any-key>closed_atTimestamp of when the case was closed.
created_atTimestamp of when the case was created.
creation_sourceSource of the case creation.
descriptionDescription of the case.
due_dateDue date of the case.
insightsInsights of the case.
refReference of the insight.
resource_idUnique identifier of the resource. For example, the unique identifier of a security finding.
typeType of the resource. For example, the type of a security finding is "SECURITY_FINDING".
jira_issueJira issue associated with the case.
error_messageError message if the Jira issue creation failed.
resultResult of the Jira issue creation.
account_idAccount ID of the Jira issue.
issue_idUnique identifier of the Jira issue.
issue_keyKey of the Jira issue.
issue_urlURL of the Jira issue.
statusStatus of the Jira issue creation. Can be "COMPLETED" if the Jira issue was created successfully, or "FAILED" if the Jira issue creation failed.
keyKey of the case.
linear_issueLinear issue associated with the case.
error_messageError message if the Linear issue creation failed.
resultResult of the Linear issue creation.
account_idAccount ID of the Linear workspace.
issue_idUnique identifier of the Linear issue.
issue_keyKey of the Linear issue.
team_idTeam ID of the Linear issue.
urlURL of the Linear issue.
statusStatus of the Linear issue creation. Can be "COMPLETED" if the Linear issue was created successfully, or "FAILED" if the Linear issue creation failed.
modified_atTimestamp of when the case was last modified.
priorityPriority of the case.
servicenow_ticketServiceNow ticket associated with the case.
resultResult of the ServiceNow ticket creation or attachment.
instance_nameServiceNow instance name extracted from the ticket URL.
sys_idUnique identifier of the ServiceNow incident record.
sys_target_linkDirect link to the ServiceNow incident record.
sys_target_sys_idUnique identifier of the target ServiceNow record.
table_nameServiceNow table containing the incident record.
urlURL of the ServiceNow incident record.
statusStatus of the ServiceNow ticket operation. Can be "COMPLETED" if successful, or "FAILED" if the operation failed.
statusStatus of the case.
status_groupStatus group of the case.
status_nameStatus name of the case.
titleTitle of the case.
typeType of the case. For security cases, this is always "SECURITY".
idUnique identifier of the case.
relationshipsRelationships of the case.
created_byUser who created the case.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersmodified_byUser who last modified the case.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersprojectProject in which the case was created.
data [required]Data object representing a case management project.
id [required]Unique identifier of the case management project.
type [required]Projects resource type.
projectsprojectstype [required]Cases resource type.
casescases{
"data": {
"attributes": {
"archived_at": "2025-01-01T00:00:00.000Z",
"assigned_to": {
"data": {
"id": "00000000-0000-0000-2345-000000000000",
"type": "users"
}
},
"attributes": {
"<any-key>": []
},
"closed_at": "2025-01-01T00:00:00.000Z",
"created_at": "2025-01-01T00:00:00.000Z",
"creation_source": "CS_SECURITY_FINDING",
"description": "A description of the case.",
"due_date": "2025-01-01",
"insights": [
{
"ref": "/security/appsec/vm/library/vulnerability/dfa027f7c037b2f77159adc027fecb56?detection=static",
"resource_id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==",
"type": "SECURITY_FINDING"
}
],
"jira_issue": {
"error_message": "{\"errorMessages\":[\"An error occured.\"],\"errors\":{}}",
"result": {
"account_id": "463a8631-680e-455c-bfd3-3ed04d326eb7",
"issue_id": "2871276",
"issue_key": "PROJ-123",
"issue_url": "https://domain.atlassian.net/browse/PROJ-123"
},
"status": "COMPLETED"
},
"key": "PROJ-123",
"linear_issue": {
"error_message": "Linear issue creation failed.",
"result": {
"account_id": "463a8631-680e-455c-bfd3-3ed04d326eb7",
"issue_id": "9c1e5f8a-2b3d-4c7e-8f6a-1d2e3f4a5b6c",
"issue_key": "ENG-123",
"team_id": "b5d3c8a1-7e6f-4d2c-9a8b-3c4d5e6f7a8b",
"url": "https://linear.app/your-workspace/issue/ENG-123"
},
"status": "COMPLETED"
},
"modified_at": "2025-01-01T00:00:00.000Z",
"priority": "P4",
"servicenow_ticket": {
"result": {
"instance_name": "example",
"sys_id": "abcdef0123456789abcdef0123456789",
"sys_target_link": "https://example.service-now.com/incident.do?sys_id=abcdef0123456789abcdef0123456789",
"sys_target_sys_id": "abcdef0123456789abcdef0123456789",
"table_name": "incident",
"url": "https://example.service-now.com/now/nav/ui/classic/params/target/incident.do?sys_id=abcdef0123456789abcdef0123456789"
},
"status": "COMPLETED"
},
"status": "OPEN",
"status_group": "SG_OPEN",
"status_name": "Open",
"title": "A title for the case.",
"type": "SECURITY"
},
"id": "c1234567-89ab-cdef-0123-456789abcdef",
"relationships": {
"created_by": {
"data": {
"id": "00000000-0000-0000-2345-000000000000",
"type": "users"
}
},
"modified_by": {
"data": {
"id": "00000000-0000-0000-2345-000000000000",
"type": "users"
}
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "cases"
}
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Found
API error response.
errors [required]A list of errors.
{
"errors": [
"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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
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 PATCH "https://api.${DD_SITE}/api/v2/security/findings/jira_issues" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"jira_issue_url": "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"
},
"relationships": {
"findings": {
"data": [
{
"id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
}
]
},
"project": {
"data": {
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "projects"
}
}
},
"type": "jira_issues"
}
}
EOFAttach security finding to a Jira issue returns "OK" response
// Attach security finding to a Jira issue returns "OK" 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"
)
func main() {
body := datadogV2.AttachJiraIssueRequest{
Data: &datadogV2.AttachJiraIssueRequestData{
Attributes: &datadogV2.AttachJiraIssueRequestDataAttributes{
JiraIssueUrl: "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
},
Relationships: &datadogV2.AttachJiraIssueRequestDataRelationships{
Findings: datadogV2.Findings{
Data: []datadogV2.FindingData{
{
Id: "OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
Type: datadogV2.FINDINGDATATYPE_FINDINGS,
},
},
},
Project: datadogV2.CaseManagementProject{
Data: datadogV2.CaseManagementProjectData{
Id: "959a6f71-bac8-4027-b1d3-2264f569296f",
Type: datadogV2.CASEMANAGEMENTPROJECTDATATYPE_PROJECTS,
},
},
},
Type: datadogV2.JIRAISSUESDATATYPE_JIRA_ISSUES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewSecurityMonitoringApi(apiClient)
resp, r, err := api.AttachJiraIssue(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.AttachJiraIssue`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.AttachJiraIssue`:\n%s\n", responseContent)
}
Attach security findings to a Jira issue returns "OK" response
// Attach security findings to a Jira issue returns "OK" 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"
)
func main() {
body := datadogV2.AttachJiraIssueRequest{
Data: &datadogV2.AttachJiraIssueRequestData{
Attributes: &datadogV2.AttachJiraIssueRequestDataAttributes{
JiraIssueUrl: "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
},
Relationships: &datadogV2.AttachJiraIssueRequestDataRelationships{
Findings: datadogV2.Findings{
Data: []datadogV2.FindingData{
{
Id: "OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
Type: datadogV2.FINDINGDATATYPE_FINDINGS,
},
{
Id: "MTNjN2ZmYWMzMDIxYmU1ZDFiZDRjNWUwN2I1NzVmY2F-YTA3MzllMTUzNWM3NmEyZjdiNzEzOWM5YmViZTMzOGM=",
Type: datadogV2.FINDINGDATATYPE_FINDINGS,
},
},
},
Project: datadogV2.CaseManagementProject{
Data: datadogV2.CaseManagementProjectData{
Id: "959a6f71-bac8-4027-b1d3-2264f569296f",
Type: datadogV2.CASEMANAGEMENTPROJECTDATATYPE_PROJECTS,
},
},
},
Type: datadogV2.JIRAISSUESDATATYPE_JIRA_ISSUES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewSecurityMonitoringApi(apiClient)
resp, r, err := api.AttachJiraIssue(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.AttachJiraIssue`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.AttachJiraIssue`:\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"Attach security finding to a Jira issue returns "OK" response
// Attach security finding to a Jira issue returns "OK" 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.AttachJiraIssueRequest;
import com.datadog.api.client.v2.model.AttachJiraIssueRequestData;
import com.datadog.api.client.v2.model.AttachJiraIssueRequestDataAttributes;
import com.datadog.api.client.v2.model.AttachJiraIssueRequestDataRelationships;
import com.datadog.api.client.v2.model.CaseManagementProject;
import com.datadog.api.client.v2.model.CaseManagementProjectData;
import com.datadog.api.client.v2.model.CaseManagementProjectDataType;
import com.datadog.api.client.v2.model.FindingCaseResponse;
import com.datadog.api.client.v2.model.FindingData;
import com.datadog.api.client.v2.model.FindingDataType;
import com.datadog.api.client.v2.model.Findings;
import com.datadog.api.client.v2.model.JiraIssuesDataType;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
AttachJiraIssueRequest body =
new AttachJiraIssueRequest()
.data(
new AttachJiraIssueRequestData()
.attributes(
new AttachJiraIssueRequestDataAttributes()
.jiraIssueUrl(
"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"))
.relationships(
new AttachJiraIssueRequestDataRelationships()
.findings(
new Findings()
.data(
Collections.singletonList(
new FindingData()
.id(
"OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=")
.type(FindingDataType.FINDINGS))))
.project(
new CaseManagementProject()
.data(
new CaseManagementProjectData()
.id("959a6f71-bac8-4027-b1d3-2264f569296f")
.type(CaseManagementProjectDataType.PROJECTS))))
.type(JiraIssuesDataType.JIRA_ISSUES));
try {
FindingCaseResponse result = apiInstance.attachJiraIssue(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SecurityMonitoringApi#attachJiraIssue");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Attach security findings to a Jira issue returns "OK" response
// Attach security findings to a Jira issue returns "OK" 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.AttachJiraIssueRequest;
import com.datadog.api.client.v2.model.AttachJiraIssueRequestData;
import com.datadog.api.client.v2.model.AttachJiraIssueRequestDataAttributes;
import com.datadog.api.client.v2.model.AttachJiraIssueRequestDataRelationships;
import com.datadog.api.client.v2.model.CaseManagementProject;
import com.datadog.api.client.v2.model.CaseManagementProjectData;
import com.datadog.api.client.v2.model.CaseManagementProjectDataType;
import com.datadog.api.client.v2.model.FindingCaseResponse;
import com.datadog.api.client.v2.model.FindingData;
import com.datadog.api.client.v2.model.FindingDataType;
import com.datadog.api.client.v2.model.Findings;
import com.datadog.api.client.v2.model.JiraIssuesDataType;
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
AttachJiraIssueRequest body =
new AttachJiraIssueRequest()
.data(
new AttachJiraIssueRequestData()
.attributes(
new AttachJiraIssueRequestDataAttributes()
.jiraIssueUrl(
"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476"))
.relationships(
new AttachJiraIssueRequestDataRelationships()
.findings(
new Findings()
.data(
Arrays.asList(
new FindingData()
.id(
"OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=")
.type(FindingDataType.FINDINGS),
new FindingData()
.id(
"MTNjN2ZmYWMzMDIxYmU1ZDFiZDRjNWUwN2I1NzVmY2F-YTA3MzllMTUzNWM3NmEyZjdiNzEzOWM5YmViZTMzOGM=")
.type(FindingDataType.FINDINGS))))
.project(
new CaseManagementProject()
.data(
new CaseManagementProjectData()
.id("959a6f71-bac8-4027-b1d3-2264f569296f")
.type(CaseManagementProjectDataType.PROJECTS))))
.type(JiraIssuesDataType.JIRA_ISSUES));
try {
FindingCaseResponse result = apiInstance.attachJiraIssue(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SecurityMonitoringApi#attachJiraIssue");
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"Attach security finding to a Jira issue returns "OK" response
"""
Attach security finding to a Jira issue returns "OK" 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.attach_jira_issue_request import AttachJiraIssueRequest
from datadog_api_client.v2.model.attach_jira_issue_request_data import AttachJiraIssueRequestData
from datadog_api_client.v2.model.attach_jira_issue_request_data_attributes import AttachJiraIssueRequestDataAttributes
from datadog_api_client.v2.model.attach_jira_issue_request_data_relationships import (
AttachJiraIssueRequestDataRelationships,
)
from datadog_api_client.v2.model.case_management_project import CaseManagementProject
from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
from datadog_api_client.v2.model.finding_data import FindingData
from datadog_api_client.v2.model.finding_data_type import FindingDataType
from datadog_api_client.v2.model.findings import Findings
from datadog_api_client.v2.model.jira_issues_data_type import JiraIssuesDataType
body = AttachJiraIssueRequest(
data=AttachJiraIssueRequestData(
attributes=AttachJiraIssueRequestDataAttributes(
jira_issue_url="https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
),
relationships=AttachJiraIssueRequestDataRelationships(
findings=Findings(
data=[
FindingData(
id="OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
type=FindingDataType.FINDINGS,
),
],
),
project=CaseManagementProject(
data=CaseManagementProjectData(
id="959a6f71-bac8-4027-b1d3-2264f569296f",
type=CaseManagementProjectDataType.PROJECTS,
),
),
),
type=JiraIssuesDataType.JIRA_ISSUES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = SecurityMonitoringApi(api_client)
response = api_instance.attach_jira_issue(body=body)
print(response)
Attach security findings to a Jira issue returns "OK" response
"""
Attach security findings to a Jira issue returns "OK" 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.attach_jira_issue_request import AttachJiraIssueRequest
from datadog_api_client.v2.model.attach_jira_issue_request_data import AttachJiraIssueRequestData
from datadog_api_client.v2.model.attach_jira_issue_request_data_attributes import AttachJiraIssueRequestDataAttributes
from datadog_api_client.v2.model.attach_jira_issue_request_data_relationships import (
AttachJiraIssueRequestDataRelationships,
)
from datadog_api_client.v2.model.case_management_project import CaseManagementProject
from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
from datadog_api_client.v2.model.finding_data import FindingData
from datadog_api_client.v2.model.finding_data_type import FindingDataType
from datadog_api_client.v2.model.findings import Findings
from datadog_api_client.v2.model.jira_issues_data_type import JiraIssuesDataType
body = AttachJiraIssueRequest(
data=AttachJiraIssueRequestData(
attributes=AttachJiraIssueRequestDataAttributes(
jira_issue_url="https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
),
relationships=AttachJiraIssueRequestDataRelationships(
findings=Findings(
data=[
FindingData(
id="OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
type=FindingDataType.FINDINGS,
),
FindingData(
id="MTNjN2ZmYWMzMDIxYmU1ZDFiZDRjNWUwN2I1NzVmY2F-YTA3MzllMTUzNWM3NmEyZjdiNzEzOWM5YmViZTMzOGM=",
type=FindingDataType.FINDINGS,
),
],
),
project=CaseManagementProject(
data=CaseManagementProjectData(
id="959a6f71-bac8-4027-b1d3-2264f569296f",
type=CaseManagementProjectDataType.PROJECTS,
),
),
),
type=JiraIssuesDataType.JIRA_ISSUES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = SecurityMonitoringApi(api_client)
response = api_instance.attach_jira_issue(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"Attach security finding to a Jira issue returns "OK" response
# Attach security finding to a Jira issue returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
body = DatadogAPIClient::V2::AttachJiraIssueRequest.new({
data: DatadogAPIClient::V2::AttachJiraIssueRequestData.new({
attributes: DatadogAPIClient::V2::AttachJiraIssueRequestDataAttributes.new({
jira_issue_url: "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
}),
relationships: DatadogAPIClient::V2::AttachJiraIssueRequestDataRelationships.new({
findings: DatadogAPIClient::V2::Findings.new({
data: [
DatadogAPIClient::V2::FindingData.new({
id: "OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
}),
],
}),
project: DatadogAPIClient::V2::CaseManagementProject.new({
data: DatadogAPIClient::V2::CaseManagementProjectData.new({
id: "959a6f71-bac8-4027-b1d3-2264f569296f",
type: DatadogAPIClient::V2::CaseManagementProjectDataType::PROJECTS,
}),
}),
}),
type: DatadogAPIClient::V2::JiraIssuesDataType::JIRA_ISSUES,
}),
})
p api_instance.attach_jira_issue(body)
Attach security findings to a Jira issue returns "OK" response
# Attach security findings to a Jira issue returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
body = DatadogAPIClient::V2::AttachJiraIssueRequest.new({
data: DatadogAPIClient::V2::AttachJiraIssueRequestData.new({
attributes: DatadogAPIClient::V2::AttachJiraIssueRequestDataAttributes.new({
jira_issue_url: "https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
}),
relationships: DatadogAPIClient::V2::AttachJiraIssueRequestDataRelationships.new({
findings: DatadogAPIClient::V2::Findings.new({
data: [
DatadogAPIClient::V2::FindingData.new({
id: "OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
}),
DatadogAPIClient::V2::FindingData.new({
id: "MTNjN2ZmYWMzMDIxYmU1ZDFiZDRjNWUwN2I1NzVmY2F-YTA3MzllMTUzNWM3NmEyZjdiNzEzOWM5YmViZTMzOGM=",
type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
}),
],
}),
project: DatadogAPIClient::V2::CaseManagementProject.new({
data: DatadogAPIClient::V2::CaseManagementProjectData.new({
id: "959a6f71-bac8-4027-b1d3-2264f569296f",
type: DatadogAPIClient::V2::CaseManagementProjectDataType::PROJECTS,
}),
}),
}),
type: DatadogAPIClient::V2::JiraIssuesDataType::JIRA_ISSUES,
}),
})
p api_instance.attach_jira_issue(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"Attach security finding to a Jira issue returns "OK" response
// Attach security finding to a Jira issue returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequest;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequestData;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequestDataAttributes;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequestDataRelationships;
use datadog_api_client::datadogV2::model::CaseManagementProject;
use datadog_api_client::datadogV2::model::CaseManagementProjectData;
use datadog_api_client::datadogV2::model::CaseManagementProjectDataType;
use datadog_api_client::datadogV2::model::FindingData;
use datadog_api_client::datadogV2::model::FindingDataType;
use datadog_api_client::datadogV2::model::Findings;
use datadog_api_client::datadogV2::model::JiraIssuesDataType;
#[tokio::main]
async fn main() {
let body =
AttachJiraIssueRequest
::new().data(
AttachJiraIssueRequestData::new(JiraIssuesDataType::JIRA_ISSUES)
.attributes(
AttachJiraIssueRequestDataAttributes::new(
"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476".to_string(),
),
)
.relationships(
AttachJiraIssueRequestDataRelationships::new(
Findings
::new().data(
vec![
FindingData::new(
"OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=".to_string(),
FindingDataType::FINDINGS,
)
],
),
CaseManagementProject::new(
CaseManagementProjectData::new(
"959a6f71-bac8-4027-b1d3-2264f569296f".to_string(),
CaseManagementProjectDataType::PROJECTS,
),
),
),
),
);
let configuration = datadog::Configuration::new();
let api = SecurityMonitoringAPI::with_config(configuration);
let resp = api.attach_jira_issue(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Attach security findings to a Jira issue returns "OK" response
// Attach security findings to a Jira issue returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequest;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequestData;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequestDataAttributes;
use datadog_api_client::datadogV2::model::AttachJiraIssueRequestDataRelationships;
use datadog_api_client::datadogV2::model::CaseManagementProject;
use datadog_api_client::datadogV2::model::CaseManagementProjectData;
use datadog_api_client::datadogV2::model::CaseManagementProjectDataType;
use datadog_api_client::datadogV2::model::FindingData;
use datadog_api_client::datadogV2::model::FindingDataType;
use datadog_api_client::datadogV2::model::Findings;
use datadog_api_client::datadogV2::model::JiraIssuesDataType;
#[tokio::main]
async fn main() {
let body =
AttachJiraIssueRequest
::new().data(
AttachJiraIssueRequestData::new(JiraIssuesDataType::JIRA_ISSUES)
.attributes(
AttachJiraIssueRequestDataAttributes::new(
"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476".to_string(),
),
)
.relationships(
AttachJiraIssueRequestDataRelationships::new(
Findings
::new().data(
vec![
FindingData::new(
"OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=".to_string(),
FindingDataType::FINDINGS,
),
FindingData::new(
"MTNjN2ZmYWMzMDIxYmU1ZDFiZDRjNWUwN2I1NzVmY2F-YTA3MzllMTUzNWM3NmEyZjdiNzEzOWM5YmViZTMzOGM=".to_string(),
FindingDataType::FINDINGS,
)
],
),
CaseManagementProject::new(
CaseManagementProjectData::new(
"959a6f71-bac8-4027-b1d3-2264f569296f".to_string(),
CaseManagementProjectDataType::PROJECTS,
),
),
),
),
);
let configuration = datadog::Configuration::new();
let api = SecurityMonitoringAPI::with_config(configuration);
let resp = api.attach_jira_issue(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 runAttach security finding to a Jira issue returns "OK" response
/**
* Attach security finding to a Jira issue returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.SecurityMonitoringApi(configuration);
const params: v2.SecurityMonitoringApiAttachJiraIssueRequest = {
body: {
data: {
attributes: {
jiraIssueUrl:
"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
},
relationships: {
findings: {
data: [
{
id: "OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
type: "findings",
},
],
},
project: {
data: {
id: "959a6f71-bac8-4027-b1d3-2264f569296f",
type: "projects",
},
},
},
type: "jira_issues",
},
},
};
apiInstance
.attachJiraIssue(params)
.then((data: v2.FindingCaseResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Attach security findings to a Jira issue returns "OK" response
/**
* Attach security findings to a Jira issue returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.SecurityMonitoringApi(configuration);
const params: v2.SecurityMonitoringApiAttachJiraIssueRequest = {
body: {
data: {
attributes: {
jiraIssueUrl:
"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476",
},
relationships: {
findings: {
data: [
{
id: "OTQ3NjJkMmYwMTIzMzMxNTc1Y2Q4MTA5NWU0NTBmMDl-ZjE3NjMxZWVkYzBjZGI1NDY2NWY2OGQxZDk4MDY4MmI=",
type: "findings",
},
{
id: "MTNjN2ZmYWMzMDIxYmU1ZDFiZDRjNWUwN2I1NzVmY2F-YTA3MzllMTUzNWM3NmEyZjdiNzEzOWM5YmViZTMzOGM=",
type: "findings",
},
],
},
project: {
data: {
id: "959a6f71-bac8-4027-b1d3-2264f569296f",
type: "projects",
},
},
},
type: "jira_issues",
},
},
};
apiInstance
.attachJiraIssue(params)
.then((data: v2.FindingCaseResponse) => {
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"