Skip to content

Commit dc91a2c

Browse files
Add ci.job.id tag (#9256)
1 parent d7cc78c commit dc91a2c

File tree

15 files changed

+173
-1
lines changed

15 files changed

+173
-1
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/AwsCodePipelineInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public CIInfo buildCIInfo() {
2929
return CIInfo.builder(environment)
3030
.ciProviderName(AWS_CODEPIPELINE_PROVIDER_NAME)
3131
.ciPipelineId(environment.get(AWS_CODEPIPELINE_EXECUTION_ID))
32+
.ciJobId(environment.get(AWS_CODEPIPELINE_ACTION_EXECUTION_ID))
3233
.ciEnvVars(
3334
AWS_CODEPIPELINE_EXECUTION_ID,
3435
AWS_CODEPIPELINE_ACTION_EXECUTION_ID,

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/AzurePipelinesInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public CIInfo buildCIInfo() {
7777
.ciPipelineNumber(buildId)
7878
.ciPipelineUrl(buildCiPipelineUrl(uri, project, buildId))
7979
.ciStageName(environment.get(AZURE_SYSTEM_STAGEDISPLAYNAME))
80+
.ciJobId(jobId)
8081
.ciJobName(environment.get(AZURE_SYSTEM_JOBDISPLAYNAME))
8182
.ciJobUrl(buildCiJobUrl(uri, project, buildId, jobId, taskId))
8283
.ciWorkspace(expandTilde(environment.get(AZURE_WORKSPACE_PATH)))

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BuildkiteInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public CIInfo buildCIInfo() {
7070
.ciPipelineName(environment.get(BUILDKITE_PIPELINE_NAME))
7171
.ciPipelineNumber(environment.get(BUILDKITE_PIPELINE_NUMBER))
7272
.ciPipelineUrl(ciPipelineUrl)
73+
.ciJobId(environment.get(BUILDKITE_JOB_ID))
7374
.ciJobUrl(String.format("%s#%s", ciPipelineUrl, environment.get(BUILDKITE_JOB_ID)))
7475
.ciWorkspace(expandTilde(environment.get(BUILDKITE_WORKSPACE_PATH)))
7576
.ciNodeName(environment.get(BUILDKITE_AGENT_ID))

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CIInfo.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public static final class Builder {
2323
private String ciPipelineId;
2424
private String ciPipelineName;
2525
private String ciStageName;
26+
private String ciJobId;
2627
private String ciJobName;
2728
private String ciPipelineNumber;
2829
private String ciPipelineUrl;
@@ -72,6 +73,11 @@ public Builder ciPipelineUrl(String ciPipelineUrl) {
7273
return this;
7374
}
7475

76+
public Builder ciJobId(String ciJobId) {
77+
this.ciJobId = ciJobId;
78+
return this;
79+
}
80+
7581
public Builder ciJobUrl(String ciJobUrl) {
7682
this.ciJobUrl = ciJobUrl;
7783
return this;
@@ -118,6 +124,7 @@ public CIInfo build() {
118124
ciPipelineId,
119125
ciPipelineName,
120126
ciStageName,
127+
ciJobId,
121128
ciJobName,
122129
ciPipelineNumber,
123130
ciPipelineUrl,
@@ -134,6 +141,7 @@ public CIInfo build() {
134141
private final String ciPipelineId;
135142
private final String ciPipelineName;
136143
private final String ciStageName;
144+
private final String ciJobId;
137145
private final String ciJobName;
138146
private final String ciPipelineNumber;
139147
private final String ciPipelineUrl;
@@ -145,14 +153,15 @@ public CIInfo build() {
145153
private final Map<String, String> additionalTags;
146154

147155
public CIInfo() {
148-
this(null, null, null, null, null, null, null, null, null, null, null, null, null);
156+
this(null, null, null, null, null, null, null, null, null, null, null, null, null, null);
149157
}
150158

151159
public CIInfo(
152160
String ciProviderName,
153161
String ciPipelineId,
154162
String ciPipelineName,
155163
String ciStageName,
164+
String ciJobId,
156165
String ciJobName,
157166
String ciPipelineNumber,
158167
String ciPipelineUrl,
@@ -166,6 +175,7 @@ public CIInfo(
166175
this.ciPipelineId = ciPipelineId;
167176
this.ciPipelineName = ciPipelineName;
168177
this.ciStageName = ciStageName;
178+
this.ciJobId = ciJobId;
169179
this.ciJobName = ciJobName;
170180
this.ciPipelineNumber = ciPipelineNumber;
171181
this.ciPipelineUrl = ciPipelineUrl;
@@ -193,6 +203,10 @@ public String getCiStageName() {
193203
return ciStageName;
194204
}
195205

206+
public String getCiJobId() {
207+
return ciJobId;
208+
}
209+
196210
public String getCiJobName() {
197211
return ciJobName;
198212
}
@@ -252,6 +266,7 @@ public boolean equals(Object o) {
252266
&& Objects.equals(ciPipelineId, ciInfo.ciPipelineId)
253267
&& Objects.equals(ciPipelineName, ciInfo.ciPipelineName)
254268
&& Objects.equals(ciStageName, ciInfo.ciStageName)
269+
&& Objects.equals(ciJobId, ciInfo.ciJobId)
255270
&& Objects.equals(ciJobName, ciInfo.ciJobName)
256271
&& Objects.equals(ciPipelineNumber, ciInfo.ciPipelineNumber)
257272
&& Objects.equals(ciPipelineUrl, ciInfo.ciPipelineUrl)
@@ -270,6 +285,7 @@ public int hashCode() {
270285
hash = 31 * hash + (ciPipelineId == null ? 0 : ciPipelineId.hashCode());
271286
hash = 31 * hash + (ciPipelineName == null ? 0 : ciPipelineName.hashCode());
272287
hash = 31 * hash + (ciStageName == null ? 0 : ciStageName.hashCode());
288+
hash = 31 * hash + (ciJobId == null ? 0 : ciJobId.hashCode());
273289
hash = 31 * hash + (ciJobName == null ? 0 : ciJobName.hashCode());
274290
hash = 31 * hash + (ciPipelineNumber == null ? 0 : ciPipelineNumber.hashCode());
275291
hash = 31 * hash + (ciPipelineUrl == null ? 0 : ciPipelineUrl.hashCode());
@@ -297,6 +313,9 @@ public String toString() {
297313
+ ", ciStageName='"
298314
+ ciStageName
299315
+ '\''
316+
+ ", ciJobId='"
317+
+ ciJobId
318+
+ '\''
300319
+ ", ciJobName='"
301320
+ ciJobName
302321
+ '\''

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public Map<String, String> getCiTags(CIInfo ciInfo, PullRequestInfo pullRequestI
3131
.withCiPipelineName(ciInfo.getCiPipelineName())
3232
.withCiStageName(ciInfo.getCiStageName())
3333
.withCiJobName(ciInfo.getCiJobName())
34+
.withCiJobId(ciInfo.getCiJobId())
3435
.withCiPipelineNumber(ciInfo.getCiPipelineNumber())
3536
.withCiPipelineUrl(ciInfo.getCiPipelineUrl())
3637
.withCiJorUrl(ciInfo.getCiJobUrl())
@@ -92,6 +93,10 @@ public CITagsBuilder withCiStageName(final String ciStageName) {
9293
return putTagValue(Tags.CI_STAGE_NAME, ciStageName);
9394
}
9495

96+
public CITagsBuilder withCiJobId(final String ciJobId) {
97+
return putTagValue(Tags.CI_JOB_ID, ciJobId);
98+
}
99+
95100
public CITagsBuilder withCiJobName(final String ciJobName) {
96101
return putTagValue(Tags.CI_JOB_NAME, ciJobName);
97102
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CircleCIInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public CIInfo buildCIInfo() {
5151
.ciPipelineId(pipelineId)
5252
.ciPipelineName(environment.get(CIRCLECI_PIPELINE_NAME))
5353
.ciPipelineUrl(buildPipelineUrl(pipelineId))
54+
.ciJobId(environment.get(CIRCLECI_BUILD_NUM))
5455
.ciJobName(environment.get(CIRCLECI_JOB_NAME))
5556
.ciJobUrl(environment.get(CIRCLECI_BUILD_URL))
5657
.ciWorkspace(expandTilde(environment.get(CIRCLECI_WORKSPACE_PATH)))

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/GitLabInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public CIInfo buildCIInfo() {
7373
.ciPipelineNumber(environment.get(GITLAB_PIPELINE_NUMBER))
7474
.ciPipelineUrl(environment.get(GITLAB_PIPELINE_URL))
7575
.ciStageName(environment.get(GITLAB_STAGE_NAME))
76+
.ciJobId(environment.get(GITLAB_JOB_ID))
7677
.ciJobName(environment.get(GITLAB_JOB_NAME))
7778
.ciJobUrl(environment.get(GITLAB_JOB_URL))
7879
.ciWorkspace(expandTilde(environment.get(GITLAB_WORKSPACE_PATH)))

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/GithubActionsInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ public CIInfo buildCIInfo() {
8282
.ciPipelineName(environment.get(GHACTIONS_PIPELINE_NAME))
8383
.ciPipelineNumber(environment.get(GHACTIONS_PIPELINE_NUMBER))
8484
.ciPipelineUrl(pipelineUrl)
85+
.ciJobId(environment.get(GHACTIONS_JOB))
8586
.ciJobName(environment.get(GHACTIONS_JOB))
8687
.ciJobUrl(jobUrl)
8788
.ciWorkspace(expandTilde(environment.get(GHACTIONS_WORKSPACE_PATH)))

dd-java-agent/agent-ci-visibility/src/test/resources/ci/awscodepipeline.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
},
1919
{
2020
"_dd.ci.env_vars": "{\"CODEBUILD_BUILD_ARN\":\"arn:aws:codebuild:eu-north-1:12345678:build/codebuild-demo-project:b1e6661e-e4f2-4156-9ab9-82a19\",\"DD_PIPELINE_EXECUTION_ID\":\"bb1f15ed-fde2-494d-8e13-88785bca9cc0\",\"DD_ACTION_EXECUTION_ID\":\"35519dc3-7c45-493c-9ba6-cd78ea11f69d\"}",
21+
"ci.job.id": "35519dc3-7c45-493c-9ba6-cd78ea11f69d",
2122
"ci.pipeline.id": "bb1f15ed-fde2-494d-8e13-88785bca9cc0",
2223
"ci.provider.name": "awscodepipeline",
2324
"git.branch": "user-supplied-branch",

0 commit comments

Comments
 (0)