Skip to content

Commit 8aa4601

Browse files
Collect pull request info for GitHub and Gitlab
1 parent 51829d3 commit 8aa4601

File tree

23 files changed

+192
-34
lines changed

23 files changed

+192
-34
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import datadog.trace.civisibility.ci.CIInfo;
99
import datadog.trace.civisibility.ci.CIProviderInfo;
1010
import datadog.trace.civisibility.ci.CITagsProvider;
11+
import datadog.trace.civisibility.ci.PullRequestInfo;
1112
import datadog.trace.civisibility.codeowners.Codeowners;
1213
import datadog.trace.civisibility.codeowners.CodeownersProvider;
1314
import datadog.trace.civisibility.codeowners.NoCodeowners;
@@ -59,9 +60,10 @@ public class CiVisibilityRepoServices {
5960
ciProvider = ciProviderInfo.getProvider();
6061

6162
CIInfo ciInfo = ciProviderInfo.buildCIInfo();
63+
PullRequestInfo pullRequestInfo = ciProviderInfo.buildPullRequestInfo();
6264
repoRoot = ciInfo.getNormalizedCiWorkspace();
6365
moduleName = getModuleName(services.config, path, ciInfo);
64-
ciTags = new CITagsProvider().getCiTags(ciInfo);
66+
ciTags = new CITagsProvider().getCiTags(ciInfo, pullRequestInfo);
6567

6668
gitDataUploader =
6769
buildGitDataUploader(

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ public CIInfo buildCIInfo() {
7979
.build();
8080
}
8181

82+
@Override
83+
public PullRequestInfo buildPullRequestInfo() {
84+
return PullRequestInfo.EMPTY;
85+
}
86+
8287
private String buildGitBranch(final String repoProvider) {
8388
if ("github".equals(repoProvider)) {
8489
String branch = environment.get(APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ public CIInfo buildCIInfo() {
3535
.build();
3636
}
3737

38+
@Override
39+
public PullRequestInfo buildPullRequestInfo() {
40+
return PullRequestInfo.EMPTY;
41+
}
42+
3843
@Override
3944
public Provider getProvider() {
4045
return Provider.AWS;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ public CIInfo buildCIInfo() {
8181
.build();
8282
}
8383

84+
@Override
85+
public PullRequestInfo buildPullRequestInfo() {
86+
return PullRequestInfo.EMPTY;
87+
}
88+
8489
private String buildGitBranch() {
8590
String gitBranchOrTag = getGitBranchOrTag();
8691
if (!isTagReference(gitBranchOrTag)) {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ public CIInfo buildCIInfo() {
7070
.build();
7171
}
7272

73+
@Override
74+
public PullRequestInfo buildPullRequestInfo() {
75+
return PullRequestInfo.EMPTY;
76+
}
77+
7378
private String buildPipelineUrl(final String repo, final String number) {
7479
return String.format(
7580
"https://bitbucket.org/%s/addon/pipelines/home#!/results/%s", repo, number);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ public CIInfo buildCIInfo() {
6666
.build();
6767
}
6868

69+
@Override
70+
public PullRequestInfo buildPullRequestInfo() {
71+
return PullRequestInfo.EMPTY;
72+
}
73+
6974
private String buildGitCommit() {
7075
final String fromCommit = environment.get(BITRISE_GIT_PR_COMMIT);
7176
if (fromCommit != null && !fromCommit.isEmpty()) {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ public CIInfo buildCIInfo() {
5858
.build();
5959
}
6060

61+
@Override
62+
public PullRequestInfo buildPullRequestInfo() {
63+
return PullRequestInfo.EMPTY;
64+
}
65+
6166
private String getPipelineId(String pipelineNumber) {
6267
String pipelineId = environment.get(BUDDY_PIPELINE_ID);
6368
if (pipelineId == null) {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ public CIInfo buildCIInfo() {
7474
.build();
7575
}
7676

77+
@Override
78+
public PullRequestInfo buildPullRequestInfo() {
79+
return PullRequestInfo.EMPTY;
80+
}
81+
7782
private String buildCiNodeLabels() {
7883
List<String> labels = new ArrayList<>();
7984
for (Map.Entry<String, String> e : environment.get().entrySet()) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ public interface CIProviderInfo {
99

1010
CIInfo buildCIInfo();
1111

12+
PullRequestInfo buildPullRequestInfo();
13+
1214
Provider getProvider();
1315
}

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public CITagsProvider() {
2121
this.gitInfoProvider = gitInfoProvider;
2222
}
2323

24-
public Map<String, String> getCiTags(CIInfo ciInfo) {
24+
public Map<String, String> getCiTags(CIInfo ciInfo, PullRequestInfo pullRequestInfo) {
2525
String repoRoot = ciInfo.getNormalizedCiWorkspace();
2626
GitInfo gitInfo = gitInfoProvider.getGitInfo(repoRoot);
2727

@@ -39,6 +39,9 @@ public Map<String, String> getCiTags(CIInfo ciInfo) {
3939
.withCiNodeLabels(ciInfo.getCiNodeLabels())
4040
.withCiEnvVars(ciInfo.getCiEnvVars())
4141
.withAdditionalTags(ciInfo.getAdditionalTags())
42+
.withPullRequestBaseBranch(pullRequestInfo)
43+
.withPullRequestBaseBranchSha(pullRequestInfo)
44+
.withGitCommitHeadSha(pullRequestInfo)
4245
.withGitRepositoryUrl(gitInfo)
4346
.withGitCommit(gitInfo)
4447
.withGitBranch(gitInfo)
@@ -118,6 +121,20 @@ public CITagsBuilder withAdditionalTags(final Map<String, String> additionalTags
118121
return this;
119122
}
120123

124+
public CITagsBuilder withPullRequestBaseBranch(final PullRequestInfo pullRequestInfo) {
125+
return putTagValue(
126+
Tags.GIT_PULL_REQUEST_BASE_BRANCH, pullRequestInfo.getPullRequestBaseBranch());
127+
}
128+
129+
public CITagsBuilder withPullRequestBaseBranchSha(final PullRequestInfo pullRequestInfo) {
130+
return putTagValue(
131+
Tags.GIT_PULL_REQUEST_BASE_BRANCH_SHA, pullRequestInfo.getPullRequestBaseBranchSha());
132+
}
133+
134+
public CITagsBuilder withGitCommitHeadSha(final PullRequestInfo pullRequestInfo) {
135+
return putTagValue(Tags.GIT_COMMIT_HEAD_SHA, pullRequestInfo.getGitCommitHeadSha());
136+
}
137+
121138
public CITagsBuilder withGitRepositoryUrl(final GitInfo gitInfo) {
122139
return putTagValue(Tags.GIT_REPOSITORY_URL, gitInfo.getRepositoryURL());
123140
}

0 commit comments

Comments
 (0)