Skip to content

Commit fef4c5e

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit fc3ae2c of spec repo
1 parent 3cae402 commit fef4c5e

17 files changed

+373
-37
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13426,7 +13426,8 @@ components:
1342613426
description: Attributes of the Jira issue to create.
1342713427
properties:
1342813428
assignee_id:
13429-
description: Unique identifier of the user assigned to the Jira issue.
13429+
description: Unique identifier of the Datadog user assigned to the Jira
13430+
issue.
1343013431
example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0
1343113432
type: string
1343213433
description:
@@ -13447,8 +13448,9 @@ components:
1344713448
type: object
1344813449
priority:
1344913450
$ref: '#/components/schemas/CasePriority'
13450-
description: Priority of the Jira issue. If not provided, the priority will
13451-
be automatically set to "NOT_DEFINED".
13451+
description: Datadog case priority mapped to the Jira issue priority. If
13452+
not provided, the priority will be automatically set to "NOT_DEFINED".
13453+
To configure the mapping, see [Bidirectional ticket syncing with Jira](https://docs.datadoghq.com/security/ticketing_integrations/#bidirectional-ticket-syncing-with-jira).
1345213454
example: P4
1345313455
title:
1345413456
description: Title of the Jira issue. If not provided, the title will be
@@ -84711,9 +84713,6 @@ paths:
8471184713
permissions:
8471284714
- security_monitoring_findings_write
8471384715
- appsec_vm_write
84714-
x-unstable: '**Note**: This endpoint is in beta and is subject to change.
84715-
84716-
Please check the documentation regularly for updates.'
8471784716
post:
8471884717
description: 'Create Jira issues for security findings.
8471984718

@@ -84757,9 +84756,6 @@ paths:
8475784756
permissions:
8475884757
- security_monitoring_findings_write
8475984758
- appsec_vm_write
84760-
x-unstable: '**Note**: This endpoint is in beta and is subject to change.
84761-
84762-
Please check the documentation regularly for updates.'
8476384759
/api/v2/security/findings/search:
8476484760
post:
8476584761
description: 'Get a list of security findings that match a search query. [See

examples/v2/security-monitoring/CreateJiraIssues.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from datadog_api_client.v2.model.case_management_project import CaseManagementProject
88
from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
99
from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
10-
from datadog_api_client.v2.model.case_priority import CasePriority
1110
from datadog_api_client.v2.model.create_jira_issue_request_array import CreateJiraIssueRequestArray
1211
from datadog_api_client.v2.model.create_jira_issue_request_data import CreateJiraIssueRequestData
1312
from datadog_api_client.v2.model.create_jira_issue_request_data_attributes import CreateJiraIssueRequestDataAttributes
@@ -23,24 +22,44 @@
2322
data=[
2423
CreateJiraIssueRequestData(
2524
attributes=CreateJiraIssueRequestDataAttributes(
26-
assignee_id="f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0",
27-
description="A description of the Jira issue.",
28-
fields=dict([("key1", "value"), ("key2", "['value']"), ("key3", "{'key4': 'value'}")]),
29-
priority=CasePriority.NOT_DEFINED,
30-
title="A title for the Jira issue.",
25+
title="A title",
26+
description="A description",
3127
),
3228
relationships=CreateJiraIssueRequestDataRelationships(
3329
findings=Findings(
3430
data=[
3531
FindingData(
36-
id="ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==",
32+
id="eWswLWJsdC1hZm5-aS0wMjRlYTgwMzVkZTU1MGIwYQ==",
3733
type=FindingDataType.FINDINGS,
3834
),
3935
],
4036
),
4137
project=CaseManagementProject(
4238
data=CaseManagementProjectData(
43-
id="aeadc05e-98a8-11ec-ac2c-da7ad0900001",
39+
id="959a6f71-bac8-4027-b1d3-2264f569296f",
40+
type=CaseManagementProjectDataType.PROJECTS,
41+
),
42+
),
43+
),
44+
type=JiraIssuesDataType.JIRA_ISSUES,
45+
),
46+
CreateJiraIssueRequestData(
47+
attributes=CreateJiraIssueRequestDataAttributes(
48+
title="A title",
49+
description="A description",
50+
),
51+
relationships=CreateJiraIssueRequestDataRelationships(
52+
findings=Findings(
53+
data=[
54+
FindingData(
55+
id="a3ZoLXNjbS14eXV-aS0wNWY5MGYwMGE4NDg2ODdlOA==",
56+
type=FindingDataType.FINDINGS,
57+
),
58+
],
59+
),
60+
project=CaseManagementProject(
61+
data=CaseManagementProjectData(
62+
id="959a6f71-bac8-4027-b1d3-2264f569296f",
4463
type=CaseManagementProjectDataType.PROJECTS,
4564
),
4665
),
@@ -51,7 +70,6 @@
5170
)
5271

5372
configuration = Configuration()
54-
configuration.unstable_operations["create_jira_issues"] = True
5573
with ApiClient(configuration) as api_client:
5674
api_instance = SecurityMonitoringApi(api_client)
5775
response = api_instance.create_jira_issues(body=body)
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
"""
2+
Create Jira issue for security finding returns "Created" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
7+
from datadog_api_client.v2.model.case_management_project import CaseManagementProject
8+
from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
9+
from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
10+
from datadog_api_client.v2.model.create_jira_issue_request_array import CreateJiraIssueRequestArray
11+
from datadog_api_client.v2.model.create_jira_issue_request_data import CreateJiraIssueRequestData
12+
from datadog_api_client.v2.model.create_jira_issue_request_data_attributes import CreateJiraIssueRequestDataAttributes
13+
from datadog_api_client.v2.model.create_jira_issue_request_data_relationships import (
14+
CreateJiraIssueRequestDataRelationships,
15+
)
16+
from datadog_api_client.v2.model.finding_data import FindingData
17+
from datadog_api_client.v2.model.finding_data_type import FindingDataType
18+
from datadog_api_client.v2.model.findings import Findings
19+
from datadog_api_client.v2.model.jira_issues_data_type import JiraIssuesDataType
20+
21+
body = CreateJiraIssueRequestArray(
22+
data=[
23+
CreateJiraIssueRequestData(
24+
attributes=CreateJiraIssueRequestDataAttributes(
25+
title="A title",
26+
description="A description",
27+
),
28+
relationships=CreateJiraIssueRequestDataRelationships(
29+
findings=Findings(
30+
data=[
31+
FindingData(
32+
id="YmNlZmJhYTcyMDU5ZDk0ZDhiNjRmNGI0NDk4MDdiNzN-MDJlMjg0NzNmYzJiODY2MzJkNjU0OTI4NmVhZTUyY2U=",
33+
type=FindingDataType.FINDINGS,
34+
),
35+
],
36+
),
37+
project=CaseManagementProject(
38+
data=CaseManagementProjectData(
39+
id="959a6f71-bac8-4027-b1d3-2264f569296f",
40+
type=CaseManagementProjectDataType.PROJECTS,
41+
),
42+
),
43+
),
44+
type=JiraIssuesDataType.JIRA_ISSUES,
45+
),
46+
],
47+
)
48+
49+
configuration = Configuration()
50+
with ApiClient(configuration) as api_client:
51+
api_instance = SecurityMonitoringApi(api_client)
52+
response = api_instance.create_jira_issues(body=body)
53+
54+
print(response)
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
"""
2+
Create Jira issue for security findings returns "Created" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
7+
from datadog_api_client.v2.model.case_management_project import CaseManagementProject
8+
from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
9+
from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
10+
from datadog_api_client.v2.model.create_jira_issue_request_array import CreateJiraIssueRequestArray
11+
from datadog_api_client.v2.model.create_jira_issue_request_data import CreateJiraIssueRequestData
12+
from datadog_api_client.v2.model.create_jira_issue_request_data_attributes import CreateJiraIssueRequestDataAttributes
13+
from datadog_api_client.v2.model.create_jira_issue_request_data_relationships import (
14+
CreateJiraIssueRequestDataRelationships,
15+
)
16+
from datadog_api_client.v2.model.finding_data import FindingData
17+
from datadog_api_client.v2.model.finding_data_type import FindingDataType
18+
from datadog_api_client.v2.model.findings import Findings
19+
from datadog_api_client.v2.model.jira_issues_data_type import JiraIssuesDataType
20+
21+
body = CreateJiraIssueRequestArray(
22+
data=[
23+
CreateJiraIssueRequestData(
24+
attributes=CreateJiraIssueRequestDataAttributes(
25+
title="A title",
26+
description="A description",
27+
),
28+
relationships=CreateJiraIssueRequestDataRelationships(
29+
findings=Findings(
30+
data=[
31+
FindingData(
32+
id="a3ZoLXNjbS14eXV-aS0wNWY5MGYwMGE4NDg2ODdlOA==",
33+
type=FindingDataType.FINDINGS,
34+
),
35+
FindingData(
36+
id="eWswLWJsdC1hZm5-aS0wMjRlYTgwMzVkZTU1MGIwYQ==",
37+
type=FindingDataType.FINDINGS,
38+
),
39+
],
40+
),
41+
project=CaseManagementProject(
42+
data=CaseManagementProjectData(
43+
id="959a6f71-bac8-4027-b1d3-2264f569296f",
44+
type=CaseManagementProjectDataType.PROJECTS,
45+
),
46+
),
47+
),
48+
type=JiraIssuesDataType.JIRA_ISSUES,
49+
),
50+
],
51+
)
52+
53+
configuration = Configuration()
54+
with ApiClient(configuration) as api_client:
55+
api_instance = SecurityMonitoringApi(api_client)
56+
response = api_instance.create_jira_issues(body=body)
57+
58+
print(response)

src/datadog_api_client/configuration.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,8 @@ def __init__(
266266
"v2.get_open_api": False,
267267
"v2.list_apis": False,
268268
"v2.update_open_api": False,
269-
"v2.attach_jira_issue": False,
270269
"v2.cancel_threat_hunting_job": False,
271270
"v2.convert_job_result_to_signal": False,
272-
"v2.create_jira_issues": False,
273271
"v2.delete_threat_hunting_job": False,
274272
"v2.get_finding": False,
275273
"v2.get_rule_version_history": False,

src/datadog_api_client/v2/model/create_jira_issue_request_data_attributes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def __init__(
6969
"""
7070
Attributes of the Jira issue to create.
7171
72-
:param assignee_id: Unique identifier of the user assigned to the Jira issue.
72+
:param assignee_id: Unique identifier of the Datadog user assigned to the Jira issue.
7373
:type assignee_id: str, optional
7474
7575
:param description: Description of the Jira issue. If not provided, the description will be automatically generated.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-01-02T17:04:07.979Z
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
interactions:
2+
- request:
3+
body: '{"data":[{"attributes":{"description":"A description","title":"A title"},"relationships":{"findings":{"data":[{"id":"YmNlZmJhYTcyMDU5ZDk0ZDhiNjRmNGI0NDk4MDdiNzN-MDJlMjg0NzNmYzJiODY2MzJkNjU0OTI4NmVhZTUyY2U=","type":"findings"}]},"project":{"data":{"id":"959a6f71-bac8-4027-b1d3-2264f569296f","type":"projects"}}},"type":"jira_issues"}]}'
4+
headers:
5+
accept:
6+
- application/json
7+
content-type:
8+
- application/json
9+
method: POST
10+
uri: https://api.datadoghq.com/api/v2/security/findings/jira_issues
11+
response:
12+
body:
13+
string: '{"data":[{"id":"b5b9ee39-29f8-4b84-a878-28e597e2a33f","type":"cases","attributes":{"created_at":"2026-01-02T17:04:10.514692Z","creation_source":"CS_SECURITY_FINDING","description":"A
14+
description","insights":[{"type":"SECURITY_FINDING","ref":"/security/csm/vm?query=%40workflow.integrations.cases.id%3A%2A\u0026vulnerability=bcefbaa72059d94d8b64f4b449807b73","resource_id":"YmNlZmJhYTcyMDU5ZDk0ZDhiNjRmNGI0NDk4MDdiNzN-MDJlMjg0NzNmYzJiODY2MzJkNjU0OTI4NmVhZTUyY2U="}],"jira_issue":{"status":"COMPLETED","result":{"issue_id":"2523546","issue_key":"CSMSEC-105847","issue_url":"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105847","account_id":"fdcffa62-24ab-4914-a195-a22bdc607030"}},"key":"CSMINV-521","modified_at":"2026-01-02T17:04:11.504549Z","priority":"P4","status":"OPEN","status_group":"SG_OPEN","status_name":"Open","title":"A
15+
title","type":"SECURITY"},"relationships":{"created_by":{"data":{"id":"dc09afab-6ae7-11ef-92b1-828dac1b0195","type":"users"}},"project":{"data":{"id":"959a6f71-bac8-4027-b1d3-2264f569296f","type":"projects"}}}}]}'
16+
headers:
17+
content-type:
18+
- application/vnd.api+json
19+
status:
20+
code: 201
21+
message: Created
22+
- request:
23+
body: '{"data":{"relationships":{"findings":{"data":[{"id":"YmNlZmJhYTcyMDU5ZDk0ZDhiNjRmNGI0NDk4MDdiNzN-MDJlMjg0NzNmYzJiODY2MzJkNjU0OTI4NmVhZTUyY2U=","type":"findings"}]}},"type":"cases"}}'
24+
headers:
25+
accept:
26+
- '*/*'
27+
content-type:
28+
- application/json
29+
method: DELETE
30+
uri: https://api.datadoghq.com/api/v2/security/findings/cases
31+
response:
32+
body:
33+
string: ''
34+
headers: {}
35+
status:
36+
code: 204
37+
message: No Content
38+
version: 1
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-01-02T17:21:33.080Z
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
interactions:
2+
- request:
3+
body: '{"data":[{"attributes":{"description":"A description","title":"A title"},"relationships":{"findings":{"data":[{"id":"a3ZoLXNjbS14eXV-aS0wNWY5MGYwMGE4NDg2ODdlOA==","type":"findings"},{"id":"eWswLWJsdC1hZm5-aS0wMjRlYTgwMzVkZTU1MGIwYQ==","type":"findings"}]},"project":{"data":{"id":"959a6f71-bac8-4027-b1d3-2264f569296f","type":"projects"}}},"type":"jira_issues"}]}'
4+
headers:
5+
accept:
6+
- application/json
7+
content-type:
8+
- application/json
9+
method: POST
10+
uri: https://api.datadoghq.com/api/v2/security/findings/jira_issues
11+
response:
12+
body:
13+
string: '{"data":[{"id":"527aa591-d40e-4445-be80-9d012ba8397e","type":"cases","attributes":{"created_at":"2026-01-02T17:21:34.65318Z","creation_source":"CS_SECURITY_FINDING","description":"A
14+
description","insights":[{"type":"SECURITY_FINDING","ref":"/security/compliance?panels=cpfinding%7Cevent%7CruleId%3Akvh-scm-xyu%7CresourceId%3Ai-05f90f00a848687e8\u0026query=%40finding_id%3Aa3ZoLXNjbS14eXV-aS0wNWY5MGYwMGE4NDg2ODdlOA%3D%3D","resource_id":"a3ZoLXNjbS14eXV-aS0wNWY5MGYwMGE4NDg2ODdlOA=="},{"type":"SECURITY_FINDING","ref":"/security/compliance?panels=cpfinding%7Cevent%7CruleId%3Ayk0-blt-afn%7CresourceId%3Ai-024ea8035de550b0a\u0026query=%40finding_id%3AeWswLWJsdC1hZm5-aS0wMjRlYTgwMzVkZTU1MGIwYQ%3D%3D","resource_id":"eWswLWJsdC1hZm5-aS0wMjRlYTgwMzVkZTU1MGIwYQ=="}],"jira_issue":{"status":"COMPLETED","result":{"issue_id":"2523579","issue_key":"CSMSEC-105849","issue_url":"https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105849","account_id":"fdcffa62-24ab-4914-a195-a22bdc607030"}},"key":"CSMINV-523","modified_at":"2026-01-02T17:21:35.836445Z","priority":"P3","status":"OPEN","status_group":"SG_OPEN","status_name":"Open","title":"A
15+
title","type":"SECURITY"},"relationships":{"created_by":{"data":{"id":"dc09afab-6ae7-11ef-92b1-828dac1b0195","type":"users"}},"project":{"data":{"id":"959a6f71-bac8-4027-b1d3-2264f569296f","type":"projects"}}}}]}'
16+
headers:
17+
content-type:
18+
- application/vnd.api+json
19+
status:
20+
code: 201
21+
message: Created
22+
- request:
23+
body: '{"data":{"relationships":{"findings":{"data":[{"id":"a3ZoLXNjbS14eXV-aS0wNWY5MGYwMGE4NDg2ODdlOA==","type":"findings"}]}},"type":"cases"}}'
24+
headers:
25+
accept:
26+
- '*/*'
27+
content-type:
28+
- application/json
29+
method: DELETE
30+
uri: https://api.datadoghq.com/api/v2/security/findings/cases
31+
response:
32+
body:
33+
string: ''
34+
headers: {}
35+
status:
36+
code: 204
37+
message: No Content
38+
version: 1

0 commit comments

Comments
 (0)