Skip to content

Commit 3724ca9

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Allow to send batches of events in pipelines API (#885)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 8d5ed9b commit 3724ca9

13 files changed

+390
-125
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5994,7 +5994,7 @@ components:
59945994
description: Request object.
59955995
properties:
59965996
data:
5997-
$ref: '#/components/schemas/CIAppCreatePipelineEventRequestData'
5997+
$ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataSingleOrArray'
59985998
type: object
59995999
CIAppCreatePipelineEventRequestAttributes:
60006000
description: Attributes of the pipeline event to create.
@@ -6030,6 +6030,16 @@ components:
60306030
type:
60316031
$ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataType'
60326032
type: object
6033+
CIAppCreatePipelineEventRequestDataArray:
6034+
description: Array of pipeline events to create in batch.
6035+
items:
6036+
$ref: '#/components/schemas/CIAppCreatePipelineEventRequestData'
6037+
type: array
6038+
CIAppCreatePipelineEventRequestDataSingleOrArray:
6039+
description: Data of the pipeline events to create.
6040+
oneOf:
6041+
- $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData'
6042+
- $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataArray'
60336043
CIAppCreatePipelineEventRequestDataType:
60346044
default: cipipeline_resource_request
60356045
description: Type of the event.
@@ -51718,6 +51728,9 @@ paths:
5171851728
we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/).
5171951729

5172051730

51731+
Multiple events can be sent in an array (up to 1000).
51732+
51733+
5172151734
Pipeline events can be submitted with a timestamp that is up to 18 hours in
5172251735
the past.'
5172351736
operationId: CreateCIAppPipelineEvent

examples/v2_ci-visibility-pipelines_CreateCIAppPipelineEvent.rs

Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
66
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
77
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
88
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
9+
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
910
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
1011
use datadog_api_client::datadogV2::model::CIAppGitInfo;
1112
use datadog_api_client::datadogV2::model::CIAppPipelineEventFinishedPipeline;
@@ -15,38 +16,50 @@ use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineStatus;
1516

1617
#[tokio::main]
1718
async fn main() {
18-
let body = CIAppCreatePipelineEventRequest::new().data(
19-
CIAppCreatePipelineEventRequestData::new()
20-
.attributes(CIAppCreatePipelineEventRequestAttributes::new(
21-
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
22-
Box::new(
23-
CIAppPipelineEventPipeline::CIAppPipelineEventFinishedPipeline(Box::new(
24-
CIAppPipelineEventFinishedPipeline::new(
25-
DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
26-
.expect("Failed to parse datetime")
27-
.with_timezone(&Utc),
28-
CIAppPipelineEventPipelineLevel::PIPELINE,
29-
"Deploy to AWS".to_string(),
30-
false,
31-
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
32-
.expect("Failed to parse datetime")
33-
.with_timezone(&Utc),
34-
CIAppPipelineEventPipelineStatus::SUCCESS,
35-
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
36-
"https://my-ci-provider.example/pipelines/my-pipeline/run/1"
37-
.to_string(),
38-
)
39-
.git(Some(CIAppGitInfo::new(
40-
"john.doe@email.com".to_string(),
41-
"https://github.com/DataDog/datadog-agent".to_string(),
42-
"7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
43-
))),
44-
)),
45-
),
19+
let body =
20+
CIAppCreatePipelineEventRequest
21+
::new().data(
22+
CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
23+
Box::new(
24+
CIAppCreatePipelineEventRequestData::new()
25+
.attributes(
26+
CIAppCreatePipelineEventRequestAttributes::new(
27+
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
28+
Box::new(
29+
CIAppPipelineEventPipeline::CIAppPipelineEventFinishedPipeline(
30+
Box::new(
31+
CIAppPipelineEventFinishedPipeline::new(
32+
DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
33+
.expect("Failed to parse datetime")
34+
.with_timezone(&Utc),
35+
CIAppPipelineEventPipelineLevel::PIPELINE,
36+
"Deploy to AWS".to_string(),
37+
false,
38+
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
39+
.expect("Failed to parse datetime")
40+
.with_timezone(&Utc),
41+
CIAppPipelineEventPipelineStatus::SUCCESS,
42+
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
43+
"https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
44+
).git(
45+
Some(
46+
CIAppGitInfo::new(
47+
"john.doe@email.com".to_string(),
48+
"https://github.com/DataDog/datadog-agent".to_string(),
49+
"7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
50+
),
51+
),
52+
),
53+
),
54+
),
55+
),
56+
),
57+
),
58+
)
59+
.type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
4660
),
47-
))
48-
.type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
49-
);
61+
),
62+
);
5063
let configuration = datadog::Configuration::new();
5164
let api = CIVisibilityPipelinesAPI::with_config(configuration);
5265
let resp = api.create_ci_app_pipeline_event(body).await;

examples/v2_ci-visibility-pipelines_CreateCIAppPipelineEvent_129899466.rs

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
66
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
77
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
88
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
9+
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
910
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
1011
use datadog_api_client::datadogV2::model::CIAppPipelineEventJob;
1112
use datadog_api_client::datadogV2::model::CIAppPipelineEventJobLevel;
@@ -14,27 +15,31 @@ use datadog_api_client::datadogV2::model::CIAppPipelineEventJobStatus;
1415
#[tokio::main]
1516
async fn main() {
1617
let body = CIAppCreatePipelineEventRequest::new().data(
17-
CIAppCreatePipelineEventRequestData::new()
18-
.attributes(CIAppCreatePipelineEventRequestAttributes::new(
19-
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventJob(Box::new(
20-
CIAppPipelineEventJob::new(
21-
DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
22-
.expect("Failed to parse datetime")
23-
.with_timezone(&Utc),
24-
"cf9456de-8b9e-4c27-aa79-27b1e78c1a33".to_string(),
25-
CIAppPipelineEventJobLevel::JOB,
26-
"Build image".to_string(),
27-
"Deploy to AWS".to_string(),
28-
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
29-
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
30-
.expect("Failed to parse datetime")
31-
.with_timezone(&Utc),
32-
CIAppPipelineEventJobStatus::ERROR,
33-
"https://my-ci-provider.example/jobs/my-jobs/run/1".to_string(),
34-
),
35-
)),
36-
))
37-
.type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
18+
CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
19+
Box::new(
20+
CIAppCreatePipelineEventRequestData::new()
21+
.attributes(CIAppCreatePipelineEventRequestAttributes::new(
22+
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventJob(
23+
Box::new(CIAppPipelineEventJob::new(
24+
DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
25+
.expect("Failed to parse datetime")
26+
.with_timezone(&Utc),
27+
"cf9456de-8b9e-4c27-aa79-27b1e78c1a33".to_string(),
28+
CIAppPipelineEventJobLevel::JOB,
29+
"Build image".to_string(),
30+
"Deploy to AWS".to_string(),
31+
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
32+
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
33+
.expect("Failed to parse datetime")
34+
.with_timezone(&Utc),
35+
CIAppPipelineEventJobStatus::ERROR,
36+
"https://my-ci-provider.example/jobs/my-jobs/run/1".to_string(),
37+
)),
38+
),
39+
))
40+
.type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
41+
),
42+
),
3843
);
3944
let configuration = datadog::Configuration::new();
4045
let api = CIVisibilityPipelinesAPI::with_config(configuration);

examples/v2_ci-visibility-pipelines_CreateCIAppPipelineEvent_2341150096.rs

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
66
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
77
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
88
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
9+
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
910
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
1011
use datadog_api_client::datadogV2::model::CIAppGitInfo;
1112
use datadog_api_client::datadogV2::model::CIAppPipelineEventInProgressPipeline;
@@ -15,35 +16,47 @@ use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;
1516

1617
#[tokio::main]
1718
async fn main() {
18-
let body = CIAppCreatePipelineEventRequest::new().data(
19-
CIAppCreatePipelineEventRequestData::new()
20-
.attributes(CIAppCreatePipelineEventRequestAttributes::new(
21-
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
22-
Box::new(
23-
CIAppPipelineEventPipeline::CIAppPipelineEventInProgressPipeline(Box::new(
24-
CIAppPipelineEventInProgressPipeline::new(
25-
CIAppPipelineEventPipelineLevel::PIPELINE,
26-
"Deploy to AWS".to_string(),
27-
false,
28-
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
29-
.expect("Failed to parse datetime")
30-
.with_timezone(&Utc),
31-
CIAppPipelineEventPipelineInProgressStatus::RUNNING,
32-
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
33-
"https://my-ci-provider.example/pipelines/my-pipeline/run/1"
34-
.to_string(),
35-
)
36-
.git(Some(CIAppGitInfo::new(
37-
"john.doe@email.com".to_string(),
38-
"https://github.com/DataDog/datadog-agent".to_string(),
39-
"7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
40-
))),
41-
)),
42-
),
19+
let body =
20+
CIAppCreatePipelineEventRequest
21+
::new().data(
22+
CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
23+
Box::new(
24+
CIAppCreatePipelineEventRequestData::new()
25+
.attributes(
26+
CIAppCreatePipelineEventRequestAttributes::new(
27+
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
28+
Box::new(
29+
CIAppPipelineEventPipeline::CIAppPipelineEventInProgressPipeline(
30+
Box::new(
31+
CIAppPipelineEventInProgressPipeline::new(
32+
CIAppPipelineEventPipelineLevel::PIPELINE,
33+
"Deploy to AWS".to_string(),
34+
false,
35+
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
36+
.expect("Failed to parse datetime")
37+
.with_timezone(&Utc),
38+
CIAppPipelineEventPipelineInProgressStatus::RUNNING,
39+
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
40+
"https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
41+
).git(
42+
Some(
43+
CIAppGitInfo::new(
44+
"john.doe@email.com".to_string(),
45+
"https://github.com/DataDog/datadog-agent".to_string(),
46+
"7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
47+
),
48+
),
49+
),
50+
),
51+
),
52+
),
53+
),
54+
),
55+
)
56+
.type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
4357
),
44-
))
45-
.type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
46-
);
58+
),
59+
);
4760
let configuration = datadog::Configuration::new();
4861
let api = CIVisibilityPipelinesAPI::with_config(configuration);
4962
let resp = api.create_ci_app_pipeline_event(body).await;

0 commit comments

Comments
 (0)