src/main/resources/com/microfocus/application/automation/tools/octane/actions/UFTTestDetectionBuildAction/index.jelly
<?jelly escape-by-default='true'?>
<!--
~ Certain versions of software accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company.
~ This software was acquired by Micro Focus on September 1, 2017, and is now offered by OpenText.
~ Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.
~ __________________________________________________________________
~ MIT License
~
~ Copyright 2012-2024 Open Text
~
~ The only warranties for products and services of Open Text and
~ its affiliates and licensors ("Open Text") are as may be set forth
~ in the express warranty statements accompanying such products and services.
~ Nothing herein should be construed as constituting an additional warranty.
~ Open Text shall not be liable for technical or editorial errors or
~ omissions contained herein. The information contained herein is subject
~ to change without notice.
~
~ Except as specifically indicated otherwise, this document contains
~ confidential information and a valid license is required for possession,
~ use or copying. If this work is provided to the U.S. Government,
~ consistent with FAR 12.211 and 12.212, Commercial Computer Software,
~ Computer Software Documentation, and Technical Data for Commercial Items are
~ licensed to the U.S. Government under vendor's standard commercial license.
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~ ___________________________________________________________________
-->
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project" xmlns:s="/lib/samples">
<l:layout title="ALM Octane UFT Tests Discovery Report">
<style type="text/css">
.myTable {
empty-cells: show;
border: 1px solid #cbcbcb;
border-collapse: collapse;
border-spacing: 0;
}
.myTable thead {
background-color: #ffedb3;
text-align: left;
vertical-align: bottom;
}
.myTable th{
color: #555753;
}
.myTable caption{
font-weight: bold;
padding-bottom: 10px;
}
.myTable td, .myTable th {
border-left: 1px solid #cbcbcb;
border-width: 0 0 0 1px;
margin: 0;
text-align: left;
padding: 8px;
}
.myTable tbody tr:nth-child(even) {
background-color: #fff9e6;
}
.firstColumn{
min-width:400px;
}
</style>
<st:include it="${it.build}" page="sidepanel.jelly" />
<l:main-panel>
<p><h1><u>ALM Octane UFT Tests Discovery Report</u></h1></p>
<br/>
<br/>
<p>
<j:if test="${it.hasNewTests}">
New tests : ${it.results.newTests.size()}
<br/>
<br/>
</j:if>
<j:if test="${it.hasDeletedTests}">
Deleted tests : ${it.results.deletedTests.size()}
<br/>
<br/>
</j:if>
<j:if test="${it.hasUpdatedTests}">
Updated tests : ${it.results.updatedTests.size()}
<br/>
<br/>
</j:if>
<j:if test="${it.hasNewScmResources}">
New data tables : ${it.results.newScmResourceFiles.size()}
<br/>
<br/>
</j:if>
<j:if test="${it.hasDeletedScmResources}">
Deleted data tables : ${it.results.deletedScmResourceFiles.size()}
<br/>
<br/>
</j:if>
<j:if test="${it.hasUpdatedScmResources}">
Moved data tables : ${it.results.updatedScmResourceFiles.size()}
<br/>
<br/>
</j:if>
<j:if test="${it.hasDeletedFolders}">
Deleted folders : ${it.results.deletedFolders.size()}
<br/>
<br/>
</j:if>
</p>
<p>
<!--
~ [JENKINS-64639]: This table is only for drawing information.
-->
<table class = "myTable" frame="vsides above bottom" >
<caption>Tests</caption>
<thead>
<tr>
<th class = "firstColumn">Test package</th>
<th>Test name</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<j:forEach var="s" items="${it.results.allTests}">
<tr>
<td >${s.package}</td>
<td >${s.name}</td>
<td >${s.octaneStatus}</td>
<td ><j:if test="${s.isMoved}">moved from ${s.oldPackage}\${s.oldName} </j:if></td>
</tr>
</j:forEach>
</tbody>
</table>
</p>
<br/><br/>
<p>
<table class = "myTable" frame="vsides above bottom" >
<caption>Data tables</caption>
<thead>
<tr>
<th class = "firstColumn">Path</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<j:forEach var="s" items="${it.results.allScmResourceFiles}">
<tr>
<td >${s.relativePath}</td>
<td >${s.octaneStatus}</td>
<td ><j:if test="${s.isMoved}">moved from ${s.oldRelativePath}</j:if> </td>
</tr>
</j:forEach>
</tbody>
</table>
</p>
<br/><br/>
<p>
<table class = "myTable" frame="vsides above bottom" >
<caption>Deleted Folders</caption>
<thead>
<tr>
<th class = "firstColumn">Path</th>
</tr>
</thead>
<tbody>
<j:forEach var="s" items="${it.results.deletedFolders}">
<tr>
<td >${s}</td>
</tr>
</j:forEach>
</tbody>
</table>
</p>
<br/><br/>
<j:if test="${it.hasQuotedPaths}">
<b>NOTE</b>: This run may not have discovered all updated tests.
<br/>It seems that the changes in this build included filenames with Unicode characters, which Git did not list correctly.
<br/>To make sure Git can properly list such file names, configure Git as follows : git config --global core.quotepath false
<br/>To discover the updated tests that were missed in this run and send them to ALM Octane, run this job manually with the "Full sync" parameter selected.
</j:if>
<br/><br/><br/>
This report contains items that were discovered in SCM repository. Final list of dispatched items can be found <a href="../../ws/_Final_Detection_Results/final_detection_result_build_${it.build.id}.json">here</a> after dispatching.
</l:main-panel>
</l:layout>
</j:jelly>