Send pipeline event

POST https://api.ap1.datadoghq.com/api/v2/ci/pipelinehttps://api.ap2.datadoghq.com/api/v2/ci/pipelinehttps://api.datadoghq.eu/api/v2/ci/pipelinehttps://api.ddog-gov.com/api/v2/ci/pipelinehttps://api.us2.ddog-gov.com/api/v2/ci/pipelinehttps://api.datadoghq.com/api/v2/ci/pipelinehttps://api.us3.datadoghq.com/api/v2/ci/pipelinehttps://api.us5.datadoghq.com/api/v2/ci/pipeline

Overview

Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see Pipeline Data Model And Execution Types.

Multiple events can be sent in an array (up to 1000).

Pipeline events can be submitted with a timestamp that is up to 18 hours in the past. The duration between the event start and end times cannot exceed 1 year.

Request

Body Data (required)

Expand All

Field

Type

Description

data

 <oneOf>

Data of the pipeline events to create.

Option 1

object

Data of the pipeline event to create.

attributes

object

Attributes of the pipeline event to create.

env

string

The Datadog environment.

provider_name

string

The name of the CI provider. By default, this is "custom".

resource [required]

 <oneOf>

Details of the CI pipeline event.

Option 1

 <oneOf>

Details of the top level pipeline, build, or workflow of your CI.

Option 1

object

Details of a finished pipeline.

end [required]

date-time

Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

is_manual

boolean

Whether or not the pipeline was triggered manually by the user.

is_resumed

boolean

Whether or not the pipeline was resumed after being blocked.

level [required]

enum

Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: pipeline

default: pipeline

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

Name of the pipeline. All pipeline runs for the builds should have the same name.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

parent_pipeline

object

If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

partial_retry [required]

boolean

Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.

pipeline_id

string

Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the pipeline_id is unique, then both unique_id and pipeline_id can be set to the same value.

previous_attempt

object

If the pipeline is a retry, this should contain the details of the previous attempt.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

queue_time

int64

The queue time in milliseconds, if applicable.

start [required]

date-time

Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The final status of the pipeline. Allowed enum values: success,error,canceled,skipped,blocked

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

unique_id [required]

string

UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.

url [required]

string

The URL to look at the pipeline in the CI provider UI.

Option 2

object

Details of a running pipeline.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

is_manual

boolean

Whether or not the pipeline was triggered manually by the user.

is_resumed

boolean

Whether or not the pipeline was resumed after being blocked.

level [required]

enum

Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: pipeline

default: pipeline

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

Name of the pipeline. All pipeline runs for the builds should have the same name.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

parent_pipeline

object

If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

partial_retry [required]

boolean

Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.

pipeline_id

string

Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the pipeline_id is unique, then both unique_id and pipeline_id can be set to the same value.

previous_attempt

object

If the pipeline is a retry, this should contain the details of the previous attempt.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

queue_time

int64

The queue time in milliseconds, if applicable.

start [required]

date-time

Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The in progress status of the pipeline. Allowed enum values: running

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

unique_id [required]

string

UUID of the pipeline run. The ID has to be the same as the finished pipeline.

url [required]

string

The URL to look at the pipeline in the CI provider UI.

Option 2

object

Details of a CI stage.

dependencies

[string]

A list of stage IDs that this stage depends on.

end [required]

date-time

Time when the stage run finished. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

id [required]

string

UUID for the stage. It has to be unique at least in the pipeline scope.

level [required]

enum

Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: stage

default: stage

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

The name for the stage.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

pipeline_name [required]

string

The parent pipeline name.

pipeline_unique_id [required]

string

The parent pipeline UUID.

queue_time

int64

The queue time in milliseconds, if applicable.

start [required]

date-time

Time when the stage run started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The final status of the stage. Allowed enum values: success,error,canceled,skipped

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

Option 3

object

Details of a CI job.

dependencies

[string]

A list of job IDs that this job depends on.

end [required]

date-time

Time when the job run finished. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

id [required]

string

The UUID for the job. It has to be unique within each pipeline execution.

level [required]

enum

Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: job

default: job

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

The name for the job.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

pipeline_name [required]

string

The parent pipeline name.

pipeline_unique_id [required]

string

The parent pipeline UUID.

queue_time

int64

The queue time in milliseconds, if applicable.

stage_id

string

The parent stage UUID (if applicable).

stage_name

string

The parent stage name (if applicable).

start [required]

date-time

Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The final status of the job. Allowed enum values: success,error,canceled,skipped

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

url [required]

string

The URL to look at the job in the CI provider UI.

Option 4

object

Details of a CI step.

end [required]

date-time

Time when the step run finished. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

id [required]

string

UUID for the step. It has to be unique within each pipeline execution.

job_id

string

The parent job UUID (if applicable).

job_name

string

The parent job name (if applicable).

level [required]

enum

Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: step

default: step

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

The name for the step.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

pipeline_name [required]

string

The parent pipeline name.

pipeline_unique_id [required]

string

The parent pipeline UUID.

stage_id

string

The parent stage UUID (if applicable).

stage_name

string

The parent stage name (if applicable).

start [required]

date-time

Time when the step run started. The time format must be RFC3339.

status [required]

enum

The final status of the step. Allowed enum values: success,error

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

url

string

The URL to look at the step in the CI provider UI.

service

string

If the CI provider is SaaS, use this to differentiate between instances.

type

enum

Type of the event. Allowed enum values: cipipeline_resource_request

default: cipipeline_resource_request

Option 2

[object]

Array of pipeline events to create in batch.

attributes

object

Attributes of the pipeline event to create.

env

string

The Datadog environment.

provider_name

string

The name of the CI provider. By default, this is "custom".

resource [required]

 <oneOf>

Details of the CI pipeline event.

Option 1

 <oneOf>

Details of the top level pipeline, build, or workflow of your CI.

Option 1

object

Details of a finished pipeline.

end [required]

date-time

Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

is_manual

boolean

Whether or not the pipeline was triggered manually by the user.

is_resumed

boolean

Whether or not the pipeline was resumed after being blocked.

level [required]

enum

Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: pipeline

default: pipeline

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

Name of the pipeline. All pipeline runs for the builds should have the same name.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

parent_pipeline

object

If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

partial_retry [required]

boolean

Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.

pipeline_id

string

Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the pipeline_id is unique, then both unique_id and pipeline_id can be set to the same value.

previous_attempt

object

If the pipeline is a retry, this should contain the details of the previous attempt.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

queue_time

int64

The queue time in milliseconds, if applicable.

start [required]

date-time

Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The final status of the pipeline. Allowed enum values: success,error,canceled,skipped,blocked

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

unique_id [required]

string

UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.

url [required]

string

The URL to look at the pipeline in the CI provider UI.

Option 2

object

Details of a running pipeline.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

is_manual

boolean

Whether or not the pipeline was triggered manually by the user.

is_resumed

boolean

Whether or not the pipeline was resumed after being blocked.

level [required]

enum

Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: pipeline

default: pipeline

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

Name of the pipeline. All pipeline runs for the builds should have the same name.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

parent_pipeline

object

If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

partial_retry [required]

boolean

Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.

pipeline_id

string

Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the pipeline_id is unique, then both unique_id and pipeline_id can be set to the same value.

previous_attempt

object

If the pipeline is a retry, this should contain the details of the previous attempt.

id [required]

string

UUID of a pipeline.

url

string

The URL to look at the pipeline in the CI provider UI.

queue_time

int64

The queue time in milliseconds, if applicable.

start [required]

date-time

Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The in progress status of the pipeline. Allowed enum values: running

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

unique_id [required]

string

UUID of the pipeline run. The ID has to be the same as the finished pipeline.

url [required]

string

The URL to look at the pipeline in the CI provider UI.

Option 2

object

Details of a CI stage.

dependencies

[string]

A list of stage IDs that this stage depends on.

end [required]

date-time

Time when the stage run finished. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

id [required]

string

UUID for the stage. It has to be unique at least in the pipeline scope.

level [required]

enum

Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: stage

default: stage

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

The name for the stage.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

pipeline_name [required]

string

The parent pipeline name.

pipeline_unique_id [required]

string

The parent pipeline UUID.

queue_time

int64

The queue time in milliseconds, if applicable.

start [required]

date-time

Time when the stage run started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The final status of the stage. Allowed enum values: success,error,canceled,skipped

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

Option 3

object

Details of a CI job.

dependencies

[string]

A list of job IDs that this job depends on.

end [required]

date-time

Time when the job run finished. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

id [required]

string

The UUID for the job. It has to be unique within each pipeline execution.

level [required]

enum

Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: job

default: job

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

The name for the job.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

pipeline_name [required]

string

The parent pipeline name.

pipeline_unique_id [required]

string

The parent pipeline UUID.

queue_time

int64

The queue time in milliseconds, if applicable.

stage_id

string

The parent stage UUID (if applicable).

stage_name

string

The parent stage name (if applicable).

start [required]

date-time

Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.

status [required]

enum

The final status of the job. Allowed enum values: success,error,canceled,skipped

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

url [required]

string

The URL to look at the job in the CI provider UI.

Option 4

object

Details of a CI step.

end [required]

date-time

Time when the step run finished. The time format must be RFC3339.

error

object

Contains information of the CI error.

domain

enum

Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: provider,user,unknown

message

string

Error message.

stack

string

The stack trace of the reported errors.

type

string

Short description of the error type.

git

object

If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either tag or branch has to be provided, but not both.

author_email [required]

string

The commit author email.

author_name

string

The commit author name.

author_time

string

The commit author timestamp in RFC3339 format.

branch

string

The branch name (if a tag use the tag parameter).

commit_time

string

The commit timestamp in RFC3339 format.

committer_email

string

The committer email.

committer_name

string

The committer name.

default_branch

string

The Git repository's default branch.

message

string

The commit message.

repository_url [required]

string

The URL of the repository.

sha [required]

string

The git commit SHA.

tag

string

The tag name (if a branch use the branch parameter).

id [required]

string

UUID for the step. It has to be unique within each pipeline execution.

job_id

string

The parent job UUID (if applicable).

job_name

string

The parent job name (if applicable).

level [required]

enum

Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: step

default: step

metrics

[string]

A list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.

name [required]

string

The name for the step.

node

object

Contains information of the host running the pipeline, stage, job, or step.

hostname

string

FQDN of the host.

labels

[string]

A list of labels used to select or identify the node.

name

string

Name for the host.

workspace

string

The path where the code is checked out.

parameters

object

A map of key-value parameters or environment variables that were defined for the pipeline.

<any-key>

string

pipeline_name [required]

string

The parent pipeline name.

pipeline_unique_id [required]

string

The parent pipeline UUID.

stage_id

string

The parent stage UUID (if applicable).

stage_name

string

The parent stage name (if applicable).

start [required]

date-time

Time when the step run started. The time format must be RFC3339.

status [required]

enum

The final status of the step. Allowed enum values: success,error

tags

[string]

A list of user-defined tags. The tags must follow the key:value pattern.

url

string

The URL to look at the step in the CI provider UI.

service

string

If the CI provider is SaaS, use this to differentiate between instances.

type

enum

Type of the event. Allowed enum values: cipipeline_resource_request

default: cipipeline_resource_request

{
  "data": {
    "attributes": {
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "end": "2021-11-11T11:10:41+00:00",
        "status": "success",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
{
  "data": {
    "attributes": {
      "provider_name": "example-provider",
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "end": "2021-11-11T11:10:41+00:00",
        "status": "success",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
{
  "data": {
    "attributes": {
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "status": "running",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}

Response

Request accepted for processing

Expand All

Field

Type

Description

No response body

{}

Bad Request

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Forbidden

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Request Timeout

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Payload Too Large

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too Many Requests

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Internal Server Error

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Service Unavailable

Errors occurred.

Expand All

Field

Type

Description

errors

[object]

Structured errors.

detail

string

Error message.

status

string

Error code.

title

string

Error title.

{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Code Example

                          ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/ci/pipeline" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -d @- << EOF { "data": { "attributes": { "resource": { "end": "2024-11-25T20:08:11.018Z", "git": { "author_email": "john.doe@email.com", "repository_url": "https://github.com/organization/example-repository", "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2" }, "level": "pipeline", "name": "Deploy to AWS", "partial_retry": false, "start": "2024-11-25T20:06:41.018Z", "status": "success", "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a", "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1" } }, "type": "cipipeline_resource_request" } } EOF
                          ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/ci/pipeline" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -d @- << EOF { "data": { "attributes": { "resource": { "end": "2024-11-25T20:08:11.018Z", "git": { "author_email": "john.doe@email.com", "repository_url": "https://github.com/organization/example-repository", "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2" }, "level": "pipeline", "name": "Deploy to AWS", "partial_retry": false, "start": "2024-11-25T20:06:41.018Z", "status": "success", "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a", "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1" } }, "type": "cipipeline_resource_request" } } EOF
                          ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/ci/pipeline" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -d @- << EOF { "data": { "attributes": { "resource": { "end": "2024-11-25T20:08:11.018Z", "git": { "author_email": "john.doe@email.com", "repository_url": "https://github.com/organization/example-repository", "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2" }, "level": "pipeline", "name": "Deploy to AWS", "partial_retry": false, "start": "2024-11-25T20:06:41.018Z", "status": "success", "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a", "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1" } }, "type": "cipipeline_resource_request" } } EOF
// Send pipeline event returns "Request accepted for processing" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CIAppCreatePipelineEventRequest{
		Data: &datadogV2.CIAppCreatePipelineEventRequestDataSingleOrArray{
			CIAppCreatePipelineEventRequestData: &datadogV2.CIAppCreatePipelineEventRequestData{
				Attributes: &datadogV2.CIAppCreatePipelineEventRequestAttributes{
					Resource: datadogV2.CIAppCreatePipelineEventRequestAttributesResource{
						CIAppPipelineEventPipeline: &datadogV2.CIAppPipelineEventPipeline{
							CIAppPipelineEventFinishedPipeline: &datadogV2.CIAppPipelineEventFinishedPipeline{
								Level:        datadogV2.CIAPPPIPELINEEVENTPIPELINELEVEL_PIPELINE,
								UniqueId:     "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
								Name:         "Deploy to AWS",
								Url:          "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
								Start:        time.Now().Add(time.Second * -120),
								End:          time.Now().Add(time.Second * -30),
								Status:       datadogV2.CIAPPPIPELINEEVENTPIPELINESTATUS_SUCCESS,
								PartialRetry: false,
								Git: *datadogV2.NewNullableCIAppGitInfo(&datadogV2.CIAppGitInfo{
									RepositoryUrl: "https://github.com/DataDog/datadog-agent",
									Sha:           "7f263865994b76066c4612fd1965215e7dcb4cd2",
									AuthorEmail:   "john.doe@email.com",
								}),
							}}},
				},
				Type: datadogV2.CIAPPCREATEPIPELINEEVENTREQUESTDATATYPE_CIPIPELINE_RESOURCE_REQUEST.Ptr(),
			}},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCIVisibilityPipelinesApi(apiClient)
	resp, r, err := api.CreateCIAppPipelineEvent(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`:\n%s\n", responseContent)
}
// Send pipeline event with custom provider returns "Request accepted for processing" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CIAppCreatePipelineEventRequest{
		Data: &datadogV2.CIAppCreatePipelineEventRequestDataSingleOrArray{
			CIAppCreatePipelineEventRequestData: &datadogV2.CIAppCreatePipelineEventRequestData{
				Attributes: &datadogV2.CIAppCreatePipelineEventRequestAttributes{
					ProviderName: datadog.PtrString("example-provider"),
					Resource: datadogV2.CIAppCreatePipelineEventRequestAttributesResource{
						CIAppPipelineEventPipeline: &datadogV2.CIAppPipelineEventPipeline{
							CIAppPipelineEventFinishedPipeline: &datadogV2.CIAppPipelineEventFinishedPipeline{
								Level:        datadogV2.CIAPPPIPELINEEVENTPIPELINELEVEL_PIPELINE,
								UniqueId:     "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
								Name:         "Deploy to AWS",
								Url:          "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
								Start:        time.Now().Add(time.Second * -120),
								End:          time.Now().Add(time.Second * -30),
								Status:       datadogV2.CIAPPPIPELINEEVENTPIPELINESTATUS_SUCCESS,
								PartialRetry: false,
								Git: *datadogV2.NewNullableCIAppGitInfo(&datadogV2.CIAppGitInfo{
									RepositoryUrl: "https://github.com/DataDog/datadog-agent",
									Sha:           "7f263865994b76066c4612fd1965215e7dcb4cd2",
									AuthorEmail:   "john.doe@email.com",
								}),
							}}},
				},
				Type: datadogV2.CIAPPCREATEPIPELINEEVENTREQUESTDATATYPE_CIPIPELINE_RESOURCE_REQUEST.Ptr(),
			}},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCIVisibilityPipelinesApi(apiClient)
	resp, r, err := api.CreateCIAppPipelineEvent(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`:\n%s\n", responseContent)
}
// Send running pipeline event returns "Request accepted for processing" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CIAppCreatePipelineEventRequest{
		Data: &datadogV2.CIAppCreatePipelineEventRequestDataSingleOrArray{
			CIAppCreatePipelineEventRequestData: &datadogV2.CIAppCreatePipelineEventRequestData{
				Attributes: &datadogV2.CIAppCreatePipelineEventRequestAttributes{
					Resource: datadogV2.CIAppCreatePipelineEventRequestAttributesResource{
						CIAppPipelineEventPipeline: &datadogV2.CIAppPipelineEventPipeline{
							CIAppPipelineEventInProgressPipeline: &datadogV2.CIAppPipelineEventInProgressPipeline{
								Level:        datadogV2.CIAPPPIPELINEEVENTPIPELINELEVEL_PIPELINE,
								UniqueId:     "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
								Name:         "Deploy to AWS",
								Url:          "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
								Start:        time.Now().Add(time.Second * -120),
								Status:       datadogV2.CIAPPPIPELINEEVENTPIPELINEINPROGRESSSTATUS_RUNNING,
								PartialRetry: false,
								Git: *datadogV2.NewNullableCIAppGitInfo(&datadogV2.CIAppGitInfo{
									RepositoryUrl: "https://github.com/DataDog/datadog-agent",
									Sha:           "7f263865994b76066c4612fd1965215e7dcb4cd2",
									AuthorEmail:   "john.doe@email.com",
								}),
							}}},
				},
				Type: datadogV2.CIAPPCREATEPIPELINEEVENTREQUESTDATATYPE_CIPIPELINE_RESOURCE_REQUEST.Ptr(),
			}},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCIVisibilityPipelinesApi(apiClient)
	resp, r, err := api.CreateCIAppPipelineEvent(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"
// Send pipeline event returns "Request accepted for processing" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CiVisibilityPipelinesApi;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequest;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributes;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributesResource;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestData;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataSingleOrArray;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataType;
import com.datadog.api.client.v2.model.CIAppGitInfo;
import com.datadog.api.client.v2.model.CIAppPipelineEventFinishedPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineLevel;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineStatus;
import java.time.OffsetDateTime;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CiVisibilityPipelinesApi apiInstance = new CiVisibilityPipelinesApi(defaultClient);

    CIAppCreatePipelineEventRequest body =
        new CIAppCreatePipelineEventRequest()
            .data(
                new CIAppCreatePipelineEventRequestDataSingleOrArray(
                    new CIAppCreatePipelineEventRequestData()
                        .attributes(
                            new CIAppCreatePipelineEventRequestAttributes()
                                .resource(
                                    new CIAppCreatePipelineEventRequestAttributesResource(
                                        new CIAppPipelineEventPipeline(
                                            new CIAppPipelineEventFinishedPipeline()
                                                .level(CIAppPipelineEventPipelineLevel.PIPELINE)
                                                .uniqueId("3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
                                                .name("Deploy to AWS")
                                                .url(
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1")
                                                .start(OffsetDateTime.now().plusSeconds(-120))
                                                .end(OffsetDateTime.now().plusSeconds(-30))
                                                .status(CIAppPipelineEventPipelineStatus.SUCCESS)
                                                .partialRetry(false)
                                                .git(
                                                    new CIAppGitInfo()
                                                        .repositoryUrl(
                                                            "https://github.com/DataDog/datadog-agent")
                                                        .sha(
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2")
                                                        .authorEmail("john.doe@email.com"))))))
                        .type(
                            CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST)));

    try {
      apiInstance.createCIAppPipelineEvent(body);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CiVisibilityPipelinesApi#createCIAppPipelineEvent");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
// Send pipeline event with custom provider returns "Request accepted for processing" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CiVisibilityPipelinesApi;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequest;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributes;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributesResource;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestData;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataSingleOrArray;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataType;
import com.datadog.api.client.v2.model.CIAppGitInfo;
import com.datadog.api.client.v2.model.CIAppPipelineEventFinishedPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineLevel;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineStatus;
import java.time.OffsetDateTime;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CiVisibilityPipelinesApi apiInstance = new CiVisibilityPipelinesApi(defaultClient);

    CIAppCreatePipelineEventRequest body =
        new CIAppCreatePipelineEventRequest()
            .data(
                new CIAppCreatePipelineEventRequestDataSingleOrArray(
                    new CIAppCreatePipelineEventRequestData()
                        .attributes(
                            new CIAppCreatePipelineEventRequestAttributes()
                                .providerName("example-provider")
                                .resource(
                                    new CIAppCreatePipelineEventRequestAttributesResource(
                                        new CIAppPipelineEventPipeline(
                                            new CIAppPipelineEventFinishedPipeline()
                                                .level(CIAppPipelineEventPipelineLevel.PIPELINE)
                                                .uniqueId("3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
                                                .name("Deploy to AWS")
                                                .url(
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1")
                                                .start(OffsetDateTime.now().plusSeconds(-120))
                                                .end(OffsetDateTime.now().plusSeconds(-30))
                                                .status(CIAppPipelineEventPipelineStatus.SUCCESS)
                                                .partialRetry(false)
                                                .git(
                                                    new CIAppGitInfo()
                                                        .repositoryUrl(
                                                            "https://github.com/DataDog/datadog-agent")
                                                        .sha(
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2")
                                                        .authorEmail("john.doe@email.com"))))))
                        .type(
                            CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST)));

    try {
      apiInstance.createCIAppPipelineEvent(body);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CiVisibilityPipelinesApi#createCIAppPipelineEvent");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
// Send running pipeline event returns "Request accepted for processing" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CiVisibilityPipelinesApi;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequest;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributes;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributesResource;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestData;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataSingleOrArray;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataType;
import com.datadog.api.client.v2.model.CIAppGitInfo;
import com.datadog.api.client.v2.model.CIAppPipelineEventInProgressPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineInProgressStatus;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineLevel;
import java.time.OffsetDateTime;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CiVisibilityPipelinesApi apiInstance = new CiVisibilityPipelinesApi(defaultClient);

    CIAppCreatePipelineEventRequest body =
        new CIAppCreatePipelineEventRequest()
            .data(
                new CIAppCreatePipelineEventRequestDataSingleOrArray(
                    new CIAppCreatePipelineEventRequestData()
                        .attributes(
                            new CIAppCreatePipelineEventRequestAttributes()
                                .resource(
                                    new CIAppCreatePipelineEventRequestAttributesResource(
                                        new CIAppPipelineEventPipeline(
                                            new CIAppPipelineEventInProgressPipeline()
                                                .level(CIAppPipelineEventPipelineLevel.PIPELINE)
                                                .uniqueId("3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
                                                .name("Deploy to AWS")
                                                .url(
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1")
                                                .start(OffsetDateTime.now().plusSeconds(-120))
                                                .status(
                                                    CIAppPipelineEventPipelineInProgressStatus
                                                        .RUNNING)
                                                .partialRetry(false)
                                                .git(
                                                    new CIAppGitInfo()
                                                        .repositoryUrl(
                                                            "https://github.com/DataDog/datadog-agent")
                                                        .sha(
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2")
                                                        .authorEmail("john.doe@email.com"))))))
                        .type(
                            CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST)));

    try {
      apiInstance.createCIAppPipelineEvent(body);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CiVisibilityPipelinesApi#createCIAppPipelineEvent");
      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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"
"""
Send pipeline event returns "Request accepted for processing" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.ci_visibility_pipelines_api import CIVisibilityPipelinesApi
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request import CIAppCreatePipelineEventRequest
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_attributes import (
    CIAppCreatePipelineEventRequestAttributes,
)
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data import CIAppCreatePipelineEventRequestData
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data_type import (
    CIAppCreatePipelineEventRequestDataType,
)
from datadog_api_client.v2.model.ci_app_git_info import CIAppGitInfo
from datadog_api_client.v2.model.ci_app_pipeline_event_finished_pipeline import CIAppPipelineEventFinishedPipeline
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_level import CIAppPipelineEventPipelineLevel
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_status import CIAppPipelineEventPipelineStatus

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            resource=CIAppPipelineEventFinishedPipeline(
                level=CIAppPipelineEventPipelineLevel.PIPELINE,
                unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
                name="Deploy to AWS",
                url="https://my-ci-provider.example/pipelines/my-pipeline/run/1",
                start=(datetime.now() + relativedelta(seconds=-120)),
                end=(datetime.now() + relativedelta(seconds=-30)),
                status=CIAppPipelineEventPipelineStatus.SUCCESS,
                partial_retry=False,
                git=CIAppGitInfo(
                    repository_url="https://github.com/DataDog/datadog-agent",
                    sha="7f263865994b76066c4612fd1965215e7dcb4cd2",
                    author_email="john.doe@email.com",
                ),
            ),
        ),
        type=CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CIVisibilityPipelinesApi(api_client)
    response = api_instance.create_ci_app_pipeline_event(body=body)

    print(response)
"""
Send pipeline event with custom provider returns "Request accepted for processing" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.ci_visibility_pipelines_api import CIVisibilityPipelinesApi
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request import CIAppCreatePipelineEventRequest
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_attributes import (
    CIAppCreatePipelineEventRequestAttributes,
)
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data import CIAppCreatePipelineEventRequestData
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data_type import (
    CIAppCreatePipelineEventRequestDataType,
)
from datadog_api_client.v2.model.ci_app_git_info import CIAppGitInfo
from datadog_api_client.v2.model.ci_app_pipeline_event_finished_pipeline import CIAppPipelineEventFinishedPipeline
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_level import CIAppPipelineEventPipelineLevel
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_status import CIAppPipelineEventPipelineStatus

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            provider_name="example-provider",
            resource=CIAppPipelineEventFinishedPipeline(
                level=CIAppPipelineEventPipelineLevel.PIPELINE,
                unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
                name="Deploy to AWS",
                url="https://my-ci-provider.example/pipelines/my-pipeline/run/1",
                start=(datetime.now() + relativedelta(seconds=-120)),
                end=(datetime.now() + relativedelta(seconds=-30)),
                status=CIAppPipelineEventPipelineStatus.SUCCESS,
                partial_retry=False,
                git=CIAppGitInfo(
                    repository_url="https://github.com/DataDog/datadog-agent",
                    sha="7f263865994b76066c4612fd1965215e7dcb4cd2",
                    author_email="john.doe@email.com",
                ),
            ),
        ),
        type=CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CIVisibilityPipelinesApi(api_client)
    response = api_instance.create_ci_app_pipeline_event(body=body)

    print(response)
"""
Send running pipeline event returns "Request accepted for processing" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.ci_visibility_pipelines_api import CIVisibilityPipelinesApi
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request import CIAppCreatePipelineEventRequest
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_attributes import (
    CIAppCreatePipelineEventRequestAttributes,
)
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data import CIAppCreatePipelineEventRequestData
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data_type import (
    CIAppCreatePipelineEventRequestDataType,
)
from datadog_api_client.v2.model.ci_app_git_info import CIAppGitInfo
from datadog_api_client.v2.model.ci_app_pipeline_event_in_progress_pipeline import CIAppPipelineEventInProgressPipeline
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_in_progress_status import (
    CIAppPipelineEventPipelineInProgressStatus,
)
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_level import CIAppPipelineEventPipelineLevel

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            resource=CIAppPipelineEventInProgressPipeline(
                level=CIAppPipelineEventPipelineLevel.PIPELINE,
                unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
                name="Deploy to AWS",
                url="https://my-ci-provider.example/pipelines/my-pipeline/run/1",
                start=(datetime.now() + relativedelta(seconds=-120)),
                status=CIAppPipelineEventPipelineInProgressStatus.RUNNING,
                partial_retry=False,
                git=CIAppGitInfo(
                    repository_url="https://github.com/DataDog/datadog-agent",
                    sha="7f263865994b76066c4612fd1965215e7dcb4cd2",
                    author_email="john.doe@email.com",
                ),
            ),
        ),
        type=CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CIVisibilityPipelinesApi(api_client)
    response = api_instance.create_ci_app_pipeline_event(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"
# Send pipeline event returns "Request accepted for processing" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new

body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
  data: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestData.new({
    attributes: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestAttributes.new({
      resource: DatadogAPIClient::V2::CIAppPipelineEventFinishedPipeline.new({
        level: DatadogAPIClient::V2::CIAppPipelineEventPipelineLevel::PIPELINE,
        unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        name: "Deploy to AWS",
        url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        start: (Time.now + -120),
        _end: (Time.now + -30),
        status: DatadogAPIClient::V2::CIAppPipelineEventPipelineStatus::SUCCESS,
        partial_retry: false,
        git: DatadogAPIClient::V2::CIAppGitInfo.new({
          repository_url: "https://github.com/DataDog/datadog-agent",
          sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
          author_email: "john.doe@email.com",
        }),
      }),
    }),
    type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
  }),
})
p api_instance.create_ci_app_pipeline_event(body)
# Send pipeline event with custom provider returns "Request accepted for processing" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new

body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
  data: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestData.new({
    attributes: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestAttributes.new({
      provider_name: "example-provider",
      resource: DatadogAPIClient::V2::CIAppPipelineEventFinishedPipeline.new({
        level: DatadogAPIClient::V2::CIAppPipelineEventPipelineLevel::PIPELINE,
        unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        name: "Deploy to AWS",
        url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        start: (Time.now + -120),
        _end: (Time.now + -30),
        status: DatadogAPIClient::V2::CIAppPipelineEventPipelineStatus::SUCCESS,
        partial_retry: false,
        git: DatadogAPIClient::V2::CIAppGitInfo.new({
          repository_url: "https://github.com/DataDog/datadog-agent",
          sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
          author_email: "john.doe@email.com",
        }),
      }),
    }),
    type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
  }),
})
p api_instance.create_ci_app_pipeline_event(body)
# Send running pipeline event returns "Request accepted for processing" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new

body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
  data: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestData.new({
    attributes: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestAttributes.new({
      resource: DatadogAPIClient::V2::CIAppPipelineEventInProgressPipeline.new({
        level: DatadogAPIClient::V2::CIAppPipelineEventPipelineLevel::PIPELINE,
        unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        name: "Deploy to AWS",
        url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        start: (Time.now + -120),
        status: DatadogAPIClient::V2::CIAppPipelineEventPipelineInProgressStatus::RUNNING,
        partial_retry: false,
        git: DatadogAPIClient::V2::CIAppGitInfo.new({
          repository_url: "https://github.com/DataDog/datadog-agent",
          sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
          author_email: "john.doe@email.com",
        }),
      }),
    }),
    type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
  }),
})
p api_instance.create_ci_app_pipeline_event(body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
// Send pipeline event returns "Request accepted for processing" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
use datadog_api_client::datadogV2::model::CIAppGitInfo;
use datadog_api_client::datadogV2::model::CIAppPipelineEventFinishedPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineStatus;

#[tokio::main]
async fn main() {
    let body =
        CIAppCreatePipelineEventRequest
        ::new().data(
            CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
                Box::new(
                    CIAppCreatePipelineEventRequestData::new()
                        .attributes(
                            CIAppCreatePipelineEventRequestAttributes::new(
                                CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
                                    Box::new(
                                        CIAppPipelineEventPipeline::CIAppPipelineEventFinishedPipeline(
                                            Box::new(
                                                CIAppPipelineEventFinishedPipeline::new(
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineLevel::PIPELINE,
                                                    "Deploy to AWS".to_string(),
                                                    false,
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineStatus::SUCCESS,
                                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
                                                ).git(
                                                    Some(
                                                        CIAppGitInfo::new(
                                                            "john.doe@email.com".to_string(),
                                                            "https://github.com/DataDog/datadog-agent".to_string(),
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
                                                        ),
                                                    ),
                                                ),
                                            ),
                                        ),
                                    ),
                                ),
                            ),
                        )
                        .type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
                ),
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = CIVisibilityPipelinesAPI::with_config(configuration);
    let resp = api.create_ci_app_pipeline_event(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
// Send pipeline event with custom provider returns "Request accepted for
// processing" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
use datadog_api_client::datadogV2::model::CIAppGitInfo;
use datadog_api_client::datadogV2::model::CIAppPipelineEventFinishedPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineStatus;

#[tokio::main]
async fn main() {
    let body =
        CIAppCreatePipelineEventRequest
        ::new().data(
            CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
                Box::new(
                    CIAppCreatePipelineEventRequestData::new()
                        .attributes(
                            CIAppCreatePipelineEventRequestAttributes::new(
                                CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
                                    Box::new(
                                        CIAppPipelineEventPipeline::CIAppPipelineEventFinishedPipeline(
                                            Box::new(
                                                CIAppPipelineEventFinishedPipeline::new(
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineLevel::PIPELINE,
                                                    "Deploy to AWS".to_string(),
                                                    false,
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineStatus::SUCCESS,
                                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
                                                ).git(
                                                    Some(
                                                        CIAppGitInfo::new(
                                                            "john.doe@email.com".to_string(),
                                                            "https://github.com/DataDog/datadog-agent".to_string(),
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
                                                        ),
                                                    ),
                                                ),
                                            ),
                                        ),
                                    ),
                                ),
                            ).provider_name("example-provider".to_string()),
                        )
                        .type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
                ),
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = CIVisibilityPipelinesAPI::with_config(configuration);
    let resp = api.create_ci_app_pipeline_event(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
// Send running pipeline event returns "Request accepted for processing" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
use datadog_api_client::datadogV2::model::CIAppGitInfo;
use datadog_api_client::datadogV2::model::CIAppPipelineEventInProgressPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineInProgressStatus;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;

#[tokio::main]
async fn main() {
    let body =
        CIAppCreatePipelineEventRequest
        ::new().data(
            CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
                Box::new(
                    CIAppCreatePipelineEventRequestData::new()
                        .attributes(
                            CIAppCreatePipelineEventRequestAttributes::new(
                                CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
                                    Box::new(
                                        CIAppPipelineEventPipeline::CIAppPipelineEventInProgressPipeline(
                                            Box::new(
                                                CIAppPipelineEventInProgressPipeline::new(
                                                    CIAppPipelineEventPipelineLevel::PIPELINE,
                                                    "Deploy to AWS".to_string(),
                                                    false,
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineInProgressStatus::RUNNING,
                                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
                                                ).git(
                                                    Some(
                                                        CIAppGitInfo::new(
                                                            "john.doe@email.com".to_string(),
                                                            "https://github.com/DataDog/datadog-agent".to_string(),
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
                                                        ),
                                                    ),
                                                ),
                                            ),
                                        ),
                                    ),
                                ),
                            ),
                        )
                        .type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
                ),
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = CIVisibilityPipelinesAPI::with_config(configuration);
    let resp = api.create_ci_app_pipeline_event(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo run
/**
 * Send pipeline event returns "Request accepted for processing" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CIVisibilityPipelinesApi(configuration);

const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = {
  body: {
    data: {
      attributes: {
        resource: {
          level: "pipeline",
          uniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
          name: "Deploy to AWS",
          url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
          start: new Date(new Date().getTime() + -120 * 1000),
          end: new Date(new Date().getTime() + -30 * 1000),
          status: "success",
          partialRetry: false,
          git: {
            repositoryUrl: "https://github.com/DataDog/datadog-agent",
            sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
            authorEmail: "john.doe@email.com",
          },
        },
      },
      type: "cipipeline_resource_request",
    },
  },
};

apiInstance
  .createCIAppPipelineEvent(params)
  .then((data: any) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
/**
 * Send pipeline event with custom provider returns "Request accepted for processing" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CIVisibilityPipelinesApi(configuration);

const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = {
  body: {
    data: {
      attributes: {
        providerName: "example-provider",
        resource: {
          level: "pipeline",
          uniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
          name: "Deploy to AWS",
          url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
          start: new Date(new Date().getTime() + -120 * 1000),
          end: new Date(new Date().getTime() + -30 * 1000),
          status: "success",
          partialRetry: false,
          git: {
            repositoryUrl: "https://github.com/DataDog/datadog-agent",
            sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
            authorEmail: "john.doe@email.com",
          },
        },
      },
      type: "cipipeline_resource_request",
    },
  },
};

apiInstance
  .createCIAppPipelineEvent(params)
  .then((data: any) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
/**
 * Send running pipeline event returns "Request accepted for processing" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CIVisibilityPipelinesApi(configuration);

const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = {
  body: {
    data: {
      attributes: {
        resource: {
          level: "pipeline",
          uniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
          name: "Deploy to AWS",
          url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
          start: new Date(new Date().getTime() + -120 * 1000),
          status: "running",
          partialRetry: false,
          git: {
            repositoryUrl: "https://github.com/DataDog/datadog-agent",
            sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
            authorEmail: "john.doe@email.com",
          },
        },
      },
      type: "cipipeline_resource_request",
    },
  },
};

apiInstance
  .createCIAppPipelineEvent(params)
  .then((data: any) => {
    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"