Send pipeline event
https://api.datadoghq.com/api/v2/ci/pipelinehttps://api.us3.datadoghq.com/api/v2/ci/pipelinehttps://api.us5.datadoghq.com/api/v2/ci/pipelinehttps://api.datadoghq.eu/api/v2/ci/pipelinehttps://api.ap1.datadoghq.com/api/v2/ci/pipelinehttps://api.ap2.datadoghq.com/api/v2/ci/pipelinehttps://api.uk1.datadoghq.com/api/v2/ci/pipelinehttps://api.ddog-gov.com/api/v2/ci/pipelinehttps://api.us2.ddog-gov.com/api/v2/ci/pipelineOverview
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)
dataData of the pipeline events to create.
<type=cipipeline_resource_request>Data of the pipeline event to create.
attributesAttributes of the pipeline event to create.
envThe Datadog environment.
provider_nameThe name of the CI provider. By default, this is "custom".
resource [required]Details of the CI pipeline event.
Object 1Details of the top level pipeline, build, or workflow of your CI.
Object 1Details of a finished pipeline.
end [required]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.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
is_manualWhether or not the pipeline was triggered manually by the user.
is_resumedWhether or not the pipeline was resumed after being blocked.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
pipelinepipelinemetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]Name of the pipeline. All pipeline runs for the builds should have the same name.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>parent_pipelineIf the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
partial_retry [required]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_idAny 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_attemptIf the pipeline is a retry, this should contain the details of the previous attempt.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
queue_timeThe queue time in milliseconds, if applicable.
start [required]Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.
status [required]The final status of the pipeline.
success, error, canceled, skipped, blockedtagsA list of user-defined tags. The tags must follow the key:value pattern.
unique_id [required]UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.
url [required]The URL to look at the pipeline in the CI provider UI.
<status=running>Details of a running pipeline.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
is_manualWhether or not the pipeline was triggered manually by the user.
is_resumedWhether or not the pipeline was resumed after being blocked.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
pipelinepipelinemetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]Name of the pipeline. All pipeline runs for the builds should have the same name.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>parent_pipelineIf the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
partial_retry [required]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_idAny 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_attemptIf the pipeline is a retry, this should contain the details of the previous attempt.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
queue_timeThe queue time in milliseconds, if applicable.
start [required]Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.
status [required]The in progress status of the pipeline.
runningtagsA list of user-defined tags. The tags must follow the key:value pattern.
unique_id [required]UUID of the pipeline run. The ID has to be the same as the finished pipeline.
url [required]The URL to look at the pipeline in the CI provider UI.
Object 2Details of a CI stage.
dependenciesA list of stage IDs that this stage depends on.
end [required]Time when the stage run finished. The time format must be RFC3339.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]UUID for the stage. It has to be unique at least in the pipeline scope.
level [required]Used to distinguish between pipelines, stages, jobs and steps.
stagestagemetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the stage.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
queue_timeThe queue time in milliseconds, if applicable.
start [required]Time when the stage run started (it should not include any queue time). The time format must be RFC3339.
status [required]The final status of the stage.
success, error, canceled, skippedtagsA list of user-defined tags. The tags must follow the key:value pattern.
Object 3Details of a CI job.
Object 1Details of a finished CI job.
dependenciesA list of job IDs that this job depends on.
end [required]Time when the job run finished. The time format must be RFC3339.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]The UUID for the job. It has to be unique within each pipeline execution.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
jobjobmetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the job.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
queue_timeThe queue time in milliseconds, if applicable.
stage_idThe parent stage UUID (if applicable).
stage_nameThe parent stage name (if applicable).
start [required]Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.
status [required]The final status of the job.
success, error, canceled, skippedtagsA list of user-defined tags. The tags must follow the key:value pattern.
url [required]The URL to look at the job in the CI provider UI.
<status=running>Details of a running CI job.
dependenciesA list of job IDs that this job depends on.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]The UUID for the job. It must match the ID of the corresponding finished job.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
jobjobmetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the job.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
queue_timeThe queue time in milliseconds, if applicable.
stage_idThe parent stage UUID (if applicable).
stage_nameThe parent stage name (if applicable).
start [required]Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.
status [required]The in-progress status of the job.
runningtagsA list of user-defined tags. The tags must follow the key:value pattern.
url [required]The URL to look at the job in the CI provider UI.
Object 4Details of a CI step.
end [required]Time when the step run finished. The time format must be RFC3339.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]UUID for the step. It has to be unique within each pipeline execution.
job_idThe parent job UUID (if applicable).
job_nameThe parent job name (if applicable).
level [required]Used to distinguish between pipelines, stages, jobs and steps.
stepstepmetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the step.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
stage_idThe parent stage UUID (if applicable).
stage_nameThe parent stage name (if applicable).
start [required]Time when the step run started. The time format must be RFC3339.
status [required]The final status of the step.
success, errortagsA list of user-defined tags. The tags must follow the key:value pattern.
urlThe URL to look at the step in the CI provider UI.
serviceIf the CI provider is SaaS, use this to differentiate between instances.
typeType of the event.
cipipeline_resource_requestcipipeline_resource_requestObject 2Array of pipeline events to create in batch.
attributesAttributes of the pipeline event to create.
envThe Datadog environment.
provider_nameThe name of the CI provider. By default, this is "custom".
resource [required]Details of the CI pipeline event.
Object 1Details of the top level pipeline, build, or workflow of your CI.
Object 1Details of a finished pipeline.
end [required]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.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
is_manualWhether or not the pipeline was triggered manually by the user.
is_resumedWhether or not the pipeline was resumed after being blocked.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
pipelinepipelinemetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]Name of the pipeline. All pipeline runs for the builds should have the same name.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>parent_pipelineIf the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
partial_retry [required]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_idAny 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_attemptIf the pipeline is a retry, this should contain the details of the previous attempt.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
queue_timeThe queue time in milliseconds, if applicable.
start [required]Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.
status [required]The final status of the pipeline.
success, error, canceled, skipped, blockedtagsA list of user-defined tags. The tags must follow the key:value pattern.
unique_id [required]UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.
url [required]The URL to look at the pipeline in the CI provider UI.
<status=running>Details of a running pipeline.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
is_manualWhether or not the pipeline was triggered manually by the user.
is_resumedWhether or not the pipeline was resumed after being blocked.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
pipelinepipelinemetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]Name of the pipeline. All pipeline runs for the builds should have the same name.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>parent_pipelineIf the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
partial_retry [required]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_idAny 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_attemptIf the pipeline is a retry, this should contain the details of the previous attempt.
id [required]UUID of a pipeline.
urlThe URL to look at the pipeline in the CI provider UI.
queue_timeThe queue time in milliseconds, if applicable.
start [required]Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.
status [required]The in progress status of the pipeline.
runningtagsA list of user-defined tags. The tags must follow the key:value pattern.
unique_id [required]UUID of the pipeline run. The ID has to be the same as the finished pipeline.
url [required]The URL to look at the pipeline in the CI provider UI.
Object 2Details of a CI stage.
dependenciesA list of stage IDs that this stage depends on.
end [required]Time when the stage run finished. The time format must be RFC3339.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]UUID for the stage. It has to be unique at least in the pipeline scope.
level [required]Used to distinguish between pipelines, stages, jobs and steps.
stagestagemetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the stage.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
queue_timeThe queue time in milliseconds, if applicable.
start [required]Time when the stage run started (it should not include any queue time). The time format must be RFC3339.
status [required]The final status of the stage.
success, error, canceled, skippedtagsA list of user-defined tags. The tags must follow the key:value pattern.
Object 3Details of a CI job.
Object 1Details of a finished CI job.
dependenciesA list of job IDs that this job depends on.
end [required]Time when the job run finished. The time format must be RFC3339.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]The UUID for the job. It has to be unique within each pipeline execution.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
jobjobmetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the job.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
queue_timeThe queue time in milliseconds, if applicable.
stage_idThe parent stage UUID (if applicable).
stage_nameThe parent stage name (if applicable).
start [required]Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.
status [required]The final status of the job.
success, error, canceled, skippedtagsA list of user-defined tags. The tags must follow the key:value pattern.
url [required]The URL to look at the job in the CI provider UI.
<status=running>Details of a running CI job.
dependenciesA list of job IDs that this job depends on.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]The UUID for the job. It must match the ID of the corresponding finished job.
level [required]Used to distinguish between pipelines, stages, jobs, and steps.
jobjobmetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the job.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
queue_timeThe queue time in milliseconds, if applicable.
stage_idThe parent stage UUID (if applicable).
stage_nameThe parent stage name (if applicable).
start [required]Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.
status [required]The in-progress status of the job.
runningtagsA list of user-defined tags. The tags must follow the key:value pattern.
url [required]The URL to look at the job in the CI provider UI.
Object 4Details of a CI step.
end [required]Time when the step run finished. The time format must be RFC3339.
errorContains information of the CI error.
domainError category used to differentiate between issues related to the developer or provider environments.
provider, user, unknownmessageError message.
stackThe stack trace of the reported errors.
typeShort description of the error type.
gitIf 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]The commit author email.
author_nameThe commit author name.
author_timeThe commit author timestamp in RFC3339 format.
branchThe branch name (if a tag use the tag parameter).
commit_timeThe commit timestamp in RFC3339 format.
committer_emailThe committer email.
committer_nameThe committer name.
default_branchThe Git repository's default branch.
messageThe commit message.
repository_url [required]The URL of the repository.
sha [required]The git commit SHA.
tagThe tag name (if a branch use the branch parameter).
id [required]UUID for the step. It has to be unique within each pipeline execution.
job_idThe parent job UUID (if applicable).
job_nameThe parent job name (if applicable).
level [required]Used to distinguish between pipelines, stages, jobs and steps.
stepstepmetricsA list of user-defined metrics. The metrics must follow the key:value pattern and the value must be numeric.
name [required]The name for the step.
nodeContains information of the host running the pipeline, stage, job, or step.
hostnameFQDN of the host.
labelsA list of labels used to select or identify the node.
nameName for the host.
workspaceThe path where the code is checked out.
parametersA map of key-value parameters or environment variables that were defined for the pipeline.
<any-key>pipeline_name [required]The parent pipeline name.
pipeline_unique_id [required]The parent pipeline UUID.
stage_idThe parent stage UUID (if applicable).
stage_nameThe parent stage name (if applicable).
start [required]Time when the step run started. The time format must be RFC3339.
status [required]The final status of the step.
success, errortagsA list of user-defined tags. The tags must follow the key:value pattern.
urlThe URL to look at the step in the CI provider UI.
serviceIf the CI provider is SaaS, use this to differentiate between instances.
typeType of the event.
cipipeline_resource_requestcipipeline_resource_requestSend pipeline event returns "Request accepted for processing" response
{
"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"
}
}Send pipeline event with custom provider returns "Request accepted for processing" response
{
"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"
}
}Send running job event returns "Request accepted for processing" response
{
"data": {
"attributes": {
"resource": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}Response
Request accepted for processing
No response body
{}Bad Request
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Unauthorized
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Forbidden
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Request Timeout
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Payload Too Large
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Too Many Requests
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Internal Server Error
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Service Unavailable
Errors occurred.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Code Example
Send pipeline event returns "Request accepted for processing" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"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"
}
}
EOFSend pipeline event with custom provider returns "Request accepted for processing" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"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"
}
}
EOFSend running job event returns "Request accepted for processing" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
curl -X POST "https://api.${DD_SITE}/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": {
"level": "job",
"id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
"name": "Build image",
"pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
"pipeline_name": "Deploy to AWS",
"start": "2021-11-11T11:09:11+00:00",
"status": "running",
"url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
}
},
"type": "cipipeline_resource_request"
}
}
EOFSend pipeline event returns "Request accepted for processing" response
// 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
// 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 job event returns "Request accepted for processing" response
// Send running job 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{
CIAppPipelineEventJob: &datadogV2.CIAppPipelineEventJob{
CIAppPipelineEventInProgressJob: &datadogV2.CIAppPipelineEventInProgressJob{
Level: datadogV2.CIAPPPIPELINEEVENTJOBLEVEL_JOB,
Id: "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
Name: "Build image",
PipelineUniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
PipelineName: "Deploy to AWS",
Start: time.Now().Add(time.Second * -120),
Status: datadogV2.CIAPPPIPELINEEVENTJOBINPROGRESSSTATUS_RUNNING,
Url: "https://my-ci-provider.example/jobs/my-jobs/run/1",
}}},
},
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.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"Send pipeline event returns "Request accepted for processing" response
// 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
// 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 job event returns "Request accepted for processing" response
// Send running job 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.CIAppPipelineEventInProgressJob;
import com.datadog.api.client.v2.model.CIAppPipelineEventJob;
import com.datadog.api.client.v2.model.CIAppPipelineEventJobInProgressStatus;
import com.datadog.api.client.v2.model.CIAppPipelineEventJobLevel;
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 CIAppPipelineEventJob(
new CIAppPipelineEventInProgressJob()
.level(CIAppPipelineEventJobLevel.JOB)
.id("cf9456de-8b9e-4c27-aa79-27b1e78c1a33")
.name("Build image")
.pipelineUniqueId(
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
.pipelineName("Deploy to AWS")
.start(OffsetDateTime.now().plusSeconds(-120))
.status(
CIAppPipelineEventJobInProgressStatus.RUNNING)
.url(
"https://my-ci-provider.example/jobs/my-jobs/run/1")))))
.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.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"Send pipeline event returns "Request accepted for processing" response
"""
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
"""
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 job event returns "Request accepted for processing" response
"""
Send running job 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_pipeline_event_in_progress_job import CIAppPipelineEventInProgressJob
from datadog_api_client.v2.model.ci_app_pipeline_event_job_in_progress_status import (
CIAppPipelineEventJobInProgressStatus,
)
from datadog_api_client.v2.model.ci_app_pipeline_event_job_level import CIAppPipelineEventJobLevel
body = CIAppCreatePipelineEventRequest(
data=CIAppCreatePipelineEventRequestData(
attributes=CIAppCreatePipelineEventRequestAttributes(
resource=CIAppPipelineEventInProgressJob(
level=CIAppPipelineEventJobLevel.JOB,
id="cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
name="Build image",
pipeline_unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
pipeline_name="Deploy to AWS",
start=(datetime.now() + relativedelta(seconds=-120)),
status=CIAppPipelineEventJobInProgressStatus.RUNNING,
url="https://my-ci-provider.example/jobs/my-jobs/run/1",
),
),
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.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"Send pipeline event returns "Request accepted for processing" response
# 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
# 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 job event returns "Request accepted for processing" response
# Send running job 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::CIAppPipelineEventInProgressJob.new({
level: DatadogAPIClient::V2::CIAppPipelineEventJobLevel::JOB,
id: "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
name: "Build image",
pipeline_unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
pipeline_name: "Deploy to AWS",
start: (Time.now + -120),
status: DatadogAPIClient::V2::CIAppPipelineEventJobInProgressStatus::RUNNING,
url: "https://my-ci-provider.example/jobs/my-jobs/run/1",
}),
}),
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.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"Send pipeline event returns "Request accepted for processing" response
// 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
// 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 job event returns "Request accepted for processing" response
// Send running job 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::CIAppPipelineEventInProgressJob;
use datadog_api_client::datadogV2::model::CIAppPipelineEventJob;
use datadog_api_client::datadogV2::model::CIAppPipelineEventJobInProgressStatus;
use datadog_api_client::datadogV2::model::CIAppPipelineEventJobLevel;
#[tokio::main]
async fn main() {
let body = CIAppCreatePipelineEventRequest::new().data(
CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
Box::new(
CIAppCreatePipelineEventRequestData::new()
.attributes(CIAppCreatePipelineEventRequestAttributes::new(
CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventJob(
Box::new(CIAppPipelineEventJob::CIAppPipelineEventInProgressJob(
Box::new(CIAppPipelineEventInProgressJob::new(
"cf9456de-8b9e-4c27-aa79-27b1e78c1a33".to_string(),
CIAppPipelineEventJobLevel::JOB,
"Build image".to_string(),
"Deploy to AWS".to_string(),
"3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
CIAppPipelineEventJobInProgressStatus::RUNNING,
"https://my-ci-provider.example/jobs/my-jobs/run/1".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.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo runSend pipeline event returns "Request accepted for processing" response
/**
* 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
/**
* 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 job event returns "Request accepted for processing" response
/**
* Send running job 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: "job",
id: "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
name: "Build image",
pipelineUniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
pipelineName: "Deploy to AWS",
start: new Date(new Date().getTime() + -120 * 1000),
status: "running",
url: "https://my-ci-provider.example/jobs/my-jobs/run/1",
},
},
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.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"