Skip to content

Commit 7052add

Browse files
stuartrowetimja
andauthored
Add links to previous and next builds to pipeline graph and console views (#212)
Co-authored-by: Tim Jacomb <[email protected]>
1 parent 9542820 commit 7052add

File tree

5 files changed

+59
-3
lines changed

5 files changed

+59
-3
lines changed

src/main/frontend/pipeline-console-view/pipeline-console/main/pipeline-console.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,3 +310,8 @@ div.split-pane {
310310
a {
311311
cursor: pointer !important;
312312
}
313+
314+
.app-details__prev_next {
315+
color: inherit !important;
316+
text-decoration: none !important;
317+
}

src/main/frontend/pipeline-graph-view/app.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,8 @@
5252
height: 20px !important;
5353
color: currentColor !important;
5454
}
55+
56+
.app-details__prev_next {
57+
color: inherit !important;
58+
text-decoration: none !important;
59+
}

src/main/java/io/jenkins/plugins/pipelinegraphview/utils/AbstractPipelineViewAction.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,32 @@ public Permission getConfigurePermission() {
4343
}
4444

4545
public String getBuildDisplayName() {
46+
return run.getDisplayName();
47+
}
48+
49+
public String getFullBuildDisplayName() {
4650
return run.getFullDisplayName();
4751
}
4852

53+
public String getFullProjectDisplayName() {
54+
return run.getParent().getFullDisplayName();
55+
}
56+
57+
private String getBuildNumber(WorkflowRun run) {
58+
if (run != null) {
59+
return String.valueOf(run.getNumber());
60+
}
61+
return null;
62+
}
63+
64+
public String getPreviousBuildNumber() {
65+
return getBuildNumber(run.getPreviousBuild());
66+
}
67+
68+
public String getNextBuildNumber() {
69+
return getBuildNumber(run.getNextBuild());
70+
}
71+
4972
public BallColor getIconColor() {
5073
return run.getIconColor();
5174
}

src/main/resources/io/jenkins/plugins/pipelinegraphview/PipelineGraphViewAction/index.jelly

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,26 @@
22

33
<?jelly escape-by-default='true'?>
44
<j:jelly xmlns:j="jelly:core" xmlns:l="/lib/layout" xmlns:p="/lib/pipeline-graph-view">
5-
<l:layout title="${%Graph} [${it.buildDisplayName}]" type="one-column">
5+
<l:layout title="${%Graph} [${it.fullBuildDisplayName}]" type="one-column">
66
<l:main-panel>
77
<div class="jenkins-app-bar">
88
<div class="jenkins-app-bar__content">
99
<h1>
10-
<l:icon alt="${it.iconColor.description}" class="${it.buildStatusIconClassName} icon-xlg"
11-
tooltip="${it.iconColor.description}"/>
10+
<l:icon alt="${it.iconColor.description}"
11+
class="${it.buildStatusIconClassName} icon-xlg"
12+
tooltip="${it.iconColor.description}" />
13+
${it.fullProjectDisplayName}
14+
<j:if test="${it.previousBuildNumber!=null}">
15+
<a href="../../${it.previousBuildNumber}/pipeline-graph" class="app-details__prev_next">
16+
<l:icon class="symbol-chevron-back-outline plugin-ionicons-api icon-md" tooltip="${%Previous Build}" />
17+
</a>
18+
</j:if>
1219
${it.buildDisplayName}
20+
<j:if test="${it.nextBuildNumber!=null}">
21+
<a href="../../${it.nextBuildNumber}/pipeline-graph" class="app-details__prev_next">
22+
<l:icon class="symbol-chevron-forward-outline plugin-ionicons-api icon-md" tooltip="${%Next Build}"/>
23+
</a>
24+
</j:if>
1325
</h1>
1426
</div>
1527
<div class="jenkins-app-bar__controls">

src/main/resources/io/jenkins/plugins/pipelinegraphview/consoleview/PipelineConsoleViewAction/index.jelly

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,18 @@
88
<div class="jenkins-app-bar__content">
99
<h1>
1010
<l:icon alt="${it.iconColor.description}" class="${it.buildStatusIconClassName} icon-xlg" tooltip="${it.iconColor.description}"/>
11+
${it.fullProjectDisplayName}
12+
<j:if test="${it.previousBuildNumber!=null}">
13+
<a href="../../${it.previousBuildNumber}/pipeline-console" class="app-details__prev_next">
14+
<l:icon class="symbol-chevron-back-outline plugin-ionicons-api icon-md" tooltip="${%Previous Build}"/>
15+
</a>
16+
</j:if>
1117
${it.buildDisplayName}
18+
<j:if test="${it.nextBuildNumber!=null}">
19+
<a href="../../${it.nextBuildNumber}/pipeline-console" class="app-details__prev_next">
20+
<l:icon class="symbol-chevron-forward-outline plugin-ionicons-api icon-md" tooltip="${%Next Build}"/>
21+
</a>
22+
</j:if>
1223
</h1>
1324
</div>
1425
<div class="jenkins-app-bar__controls">

0 commit comments

Comments
 (0)