Skip to content

Commit a8fcb9f

Browse files
committed
Adding a try-catch while resolving parent-child relationship.
1 parent c1f4865 commit a8fcb9f

File tree

2 files changed

+28
-10
lines changed

2 files changed

+28
-10
lines changed

src/main/java/com/browserstack/automate/ci/jenkins/qualityDashboard/QualityDashboardInit.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,21 @@ private static List<PipelineDetails> getAllBuilds(BrowserStackCredentials browse
203203
String result = overallResult != null ? overallResult.toString() : null;
204204

205205
// Get root upstream project information for QEI with build number (returns in format "project#build")
206-
String rootUpstreamProject = UpstreamPipelineResolver.resolveRootUpstreamProject(build, browserStackCredentials);
207-
// Get immediate parent project information for QEI (returns in format "project#build")
208-
String immediateParentProject = UpstreamPipelineResolver.resolveImmediateUpstreamProjectForQEI(build, browserStackCredentials);
209-
PipelineDetails pipelineDetail = new PipelineDetails(pipelineName, buildNumber, duration, result,
210-
endTime, rootUpstreamProject, immediateParentProject);
206+
String rootUpstreamProject = "";
207+
String immediateParentProject = "";
208+
try {
209+
rootUpstreamProject = UpstreamPipelineResolver.resolveRootUpstreamProject(build, browserStackCredentials);
210+
immediateParentProject = UpstreamPipelineResolver.resolveImmediateUpstreamProjectForQEI(build, browserStackCredentials);
211+
} catch (Exception e) {
212+
try {
213+
apiUtil.logToQD(browserStackCredentials, "Failed to resolve root upstream project for build " + buildNumber + ": " + e.getMessage());
214+
} catch (JsonProcessingException ex) {
215+
System.err.println("Error logging upstream project resolution failure for build " + buildNumber + ": " + ex.getMessage());
216+
ex.printStackTrace();
217+
}
218+
}
219+
PipelineDetails pipelineDetail = new PipelineDetails(pipelineName, buildNumber, duration, result,
220+
endTime, rootUpstreamProject, immediateParentProject);
211221
allBuildResults.add(pipelineDetail);
212222
}
213223
);

src/main/java/com/browserstack/automate/ci/jenkins/qualityDashboard/QualityDashboardPipelineTracker.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,20 @@ private void sendBuildDataToQD(Run run, Result overallResult, String finalZipPat
100100
if(rootUrl != null) {
101101
jobUrl = rootUrl + run.getUrl();
102102
}
103-
104103
// Get root upstream project information for QEI with build number (returns in format "project#build")
105-
String rootUpstreamProject = UpstreamPipelineResolver.resolveRootUpstreamProject(run, browserStackCredentials);
106-
// Get immediate parent project information for QEI (returns in format "project#build")
107-
String immediateParentProject = UpstreamPipelineResolver.resolveImmediateUpstreamProjectForQEI(run, browserStackCredentials);
108-
104+
String rootUpstreamProject = "";
105+
String immediateParentProject = "";
106+
try {
107+
rootUpstreamProject = UpstreamPipelineResolver.resolveRootUpstreamProject(run, browserStackCredentials);
108+
immediateParentProject = UpstreamPipelineResolver.resolveImmediateUpstreamProjectForQEI(run, browserStackCredentials);
109+
} catch (Exception e) {
110+
try {
111+
apiUtil.logToQD(browserStackCredentials, "Failed to resolve root upstream project for build " + buildNumber + ": " + e.getMessage());
112+
} catch (JsonProcessingException ex) {
113+
System.err.println("Error logging upstream project resolution failure for build " + buildNumber + ": " + ex.getMessage());
114+
ex.printStackTrace();
115+
}
116+
}
109117
Timestamp endTime = new Timestamp(endTimeInMillis);
110118
PipelineResults pipelineResultsReqObj = new PipelineResults(buildNumber, pipelineDuration, overallResult.toString(),
111119
finalZipPath, jobName, endTime, jobUrl, rootUpstreamProject, immediateParentProject);

0 commit comments

Comments
 (0)