Skip to content

Commit 203b28e

Browse files
committed
Add description, fix tracker and handle null or empty strings
1 parent 85f92e0 commit 203b28e

4 files changed

Lines changed: 24 additions & 11 deletions

File tree

src/main/java/com/browserstack/automate/ci/jenkins/BrowserStackCypressReportForBuild.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ public JSONObject getCypressMatrix(String filepath) {
5353
report = new JSONObject(jsonTxt);
5454
} catch (FileNotFoundException e) {
5555
logError(logger, "No BrowserStackBuildAction found");
56-
tracker.sendError("BrowserStack Cypress Report Not Found", pipelineStatus, "ReportGeneration");
56+
tracker.sendError("BrowserStack Cypress Report Not Found", pipelineStatus, "CypressReportGeneration");
5757
} catch (IOException e) {
5858
logError(logger, "There was a problem while reading report files");
59-
tracker.sendError(e.toString(), pipelineStatus, "ReportGeneration");
59+
tracker.sendError(e.toString(), pipelineStatus, "CypressReportGeneration");
6060
}
6161
return report;
6262
}
@@ -69,12 +69,18 @@ public boolean generateBrowserStackCypressReport(String workspace) {
6969
return false;
7070
}
7171

72-
String buildNameWithBuildNumber = matrix.getString("build_name");
72+
String buildNameWithBuildNumber = matrix.optString("build_name");
7373
String buildNameWithoutBuildNumber = buildNameWithBuildNumber.substring(0, buildNameWithBuildNumber.lastIndexOf(": "));
7474

75+
if (buildNameWithoutBuildNumber == null) {
76+
logError(logger, "BrowserStack Cypress Report not generated, result json may have been corrupted. Please retry.");
77+
tracker.sendError("Report not generated", pipelineStatus, "CypressReportGeneration");
78+
return false;
79+
}
80+
7581
if (!buildNameWithoutBuildNumber.equalsIgnoreCase(this.buildName)) {
7682
logError(logger, "BrowserStack Cypress Report not generated, build name mismatch.");
77-
tracker.sendError("Report not generated", pipelineStatus, "ReportGeneration");
83+
tracker.sendError("Report not generated", pipelineStatus, "CypressReportGeneration");
7884
return false;
7985
}
8086

src/main/java/com/browserstack/automate/ci/jenkins/BrowserStackCypressReportPublisher.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,9 @@ public void perform(@Nonnull Run<?, ?> build, @Nonnull FilePath workspace, @Nonn
4646

4747
final EnvVars parentEnvs = build.getEnvironment(listener);
4848
String browserStackBuildName = parentEnvs.get(BrowserStackEnvVars.BROWSERSTACK_BUILD_NAME);
49-
final String browserStackAppID = parentEnvs.get(BrowserStackEnvVars.BROWSERSTACK_APP_ID);
5049
browserStackBuildName = Optional.ofNullable(browserStackBuildName).orElse(parentEnvs.get(Constants.JENKINS_BUILD_TAG));
5150
final String jenkinsFolder = parentEnvs.get("WORKSPACE");
5251
ProjectType product = ProjectType.AUTOMATE;
53-
if (browserStackAppID != null && !browserStackAppID.isEmpty()) {
54-
product = ProjectType.APP_AUTOMATE;
55-
}
5652

5753
tracker.reportGenerationInitialized(browserStackBuildName, product.name(), pipelineStatus);
5854
log(logger, "BrowserStack Cypress Project identified as : " + product.name());

src/main/resources/com/browserstack/automate/ci/jenkins/AbstractBrowserStackCypressReportForBuild/index.jelly

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,16 @@
166166
<span class='spec-path'>
167167
${specs.path}
168168
</span>
169-
<span class='spec-stats spec-stats-failed'>
170-
${specs.failed}/${specs.total} FAILED
171-
</span>
169+
<j:if test="${(specs.failed > 0)}">
170+
<span class='spec-stats spec-stats-failed'>
171+
${specs.failed}/${specs.total} FAILED
172+
</span>
173+
</j:if>
174+
<j:if test="${(specs.failed == 0)}">
175+
<span class='spec-stats spec-stats-passed'>
176+
${specs.passed}/${specs.total} PASSED
177+
</span>
178+
</j:if>
172179
</div>
173180

174181
<div class='spec-sessions'>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?jelly escape-by-default='true'?>
2+
<j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form" xmlns:l="/lib/layout">
3+
This step will generate BrowserStack Cypress Test Report by utilising the build name from the environment variable BROWSERSTACK_BUILD_NAME set by the BrowserStack plugin
4+
</j:jelly>

0 commit comments

Comments
 (0)