Created by Unknown User (tracetronic), last modified on Jul 03, 2019

This plugin integrates Jenkins with
ECU-TEST and generates reports on automated test execution.
ECU-TEST is a test automation software for the validation of embedded systems in automotive environments developed by TraceTronic GmbH.
This software executes regression tests which are essential for validating complex technical products such as electronic control units (ECUs).
It supports standardized access to a broad range of test tools and provides an extensive automation of distributed test environments (SiL – MiL – HiL – vehicle).
Table of contents
- Features
- Configuration
- Downstream report generation
- Downstream trace analysis
- Extensions
- Screencasts
- Issues
- FAQ
- Compatibility
- License
- Changelog
- Release 2.10 (Jul 03, 2019)
- Release 2.9 (Jun 14, 2019)
- Release 2.8 (May 24, 2019)
- Release 2.7 (May 17, 2019)
- Release 2.6 (Feb 15, 2019)
- Release 2.5 (Dec 07, 2018)
- Release 2.4 (Jul 30, 2018)
- Release 2.3 (Jul 20, 2018)
- Release 2.2 (Apr 13, 2018)
- Release 2.1 (Feb 16, 2018)
- Release 2.0 (Dec 08, 2017)
- Release 1.18 (Jul 28, 2017)
- Release 1.17.1 (Jun 06, 2017)
- Release 1.17 (Jun 02, 2017)
- Release 1.16 (Mar 10, 2017)
- Release 1.15 (Jan 06, 2017)
- Release 1.14 (Nov 25, 2016)
- Release 1.13 (Oct 14, 2016)
- Release 1.12 (Sep 16, 2016)
- Release 1.11 (May 27, 2016)
- Release 1.10 (May 13, 2016)
- Release 1.9 (Apr 15, 2016)
- Release 1.8 (Mar 18, 2016)
- Release 1.7 (Mar 04, 2016)
- Release 1.6 (Jan 29, 2016)
- Release 1.5 (Dec 18, 2015)
- Release 1.4 (Dec 04, 2015)
- Release 1.3 (Nov 23, 2015)
- Release 1.2 (Nov 06, 2015)
- Release 1.1 (Oct 23, 2015)
- Release 1.0 (Oct 09, 2015)
Features
- Provides an easy integration and control of ECU-TEST and the Tool-Server with Jenkins
- Enables the execution of ECU-TEST packages and projects with their respective configurations
Moreover publishing test results is included in form of:
- Linking the TRF reports
- Generating various report formats
- Displaying test result trend graphs
- Uploading ATX test reports to TEST-GUIDE
- Parsing the ECU-TEST logs for warnings and errors
- Downstream report generation
Configuration
ECU-TEST configuration
- ECU-TEST installations are administrated in the Jenkins system configuration or starting with Jenkins 2.0 in the global tool configuration at section "ECU-TEST"
- An installation entry is specified by an arbitrary name and the path to the installation directory
- The execution on a Jenkins slave requires the adaption of the ECU-TEST installation directory on the slave configuration page

TEST-GUIDE configuration
- TEST-GUIDE is also configured in the Jenkins system configuration at section "TEST-GUIDE"
- A new entry requires both an arbitrary name and the selection of a previously configured ECU-TEST installation
- Further settings like the server or ATX specific configuration can be found in the advanced block

Job configuration
The plugin provides several new build steps:

Note:
- All build steps have an "Advanced" button through which more options can be accessed
- All text fields can be parameterized and are resolved at build execution
Syntax: $parameter or ${parameter}
The post-build actions are extended by these test report related post-build steps:

Job execution
- After job configuration is done a new build can be triggerd by clicking on the "Build now" button
- The console log contains detailed information per build step execution
- The test results are published both on the build page and the job page based on the latest build

Environment variables
- This plugin also exposes the tool and test related information of the current build as environment variables
- These variables are composed of $TT_<TOOL | TEST>_<information>_n where n is the 0-based index of the related build steps in the job configuration
- The summary of all generated environment variables is also shown on the build page
Tool related variables
Environment variable | Description |
|---|
TT_TOOL_NAME | Name of the selected ECU-TEST installation |
TT_TOOL_INSTALL | Full path to related ECU-TEST executable |
TT_TOOL_VERSION | Program version of selected ECU-TEST installation |
TT_TOOL_WORKSPACE | ECU-TEST workspace directory |
TT_TOOL_SETTINGS | ECU-TEST settings directory |
TT_TOOL_DEBUG | ECU-TEST debug mode |
TT_TOOL_TIMEOUT | Maximum execution time |
| TT_TOOL_LAST_TBC | Last loaded TBC file path |
| TT_TOOL_LAST_TCF | Last loaded TCF file path |
Test related variables
Environment variable | Description |
|---|
TT_TEST_NAME | Name of the executed test |
TT_TEST_FILE | Full path to related test file |
TT_TEST_TYPE | Type of related test (PACKAGE, PROJECT) |
TT_TEST_DESCRIPTION | Test description |
TT_TEST_TBC | Full path to test bench configuration file |
TT_TEST_TCF | Full path to test configuration file |
TT_TEST_TIMEOUT | Maximum execution time |
TT_TEST_RESULT | Test result (SUCCESS, INCONCLUSIVE, FAILED, ERROR, NONE) |
TT_TEST_REPORT | Full path to test report directory |
Downstream report generation
The concept of downstream report generation allows to execute the report generators like ATX, UNIT, HTML etc. in a downstream-based project.
Therefore the report artifacts like TRF reports etc. must be archived after the test execution stage and will then be copied into a separate workspace of the triggered downstream project.
This downstream project acts like a central reporting service which waits for inputs from other test executions. It will be an ease to scale this service with help of Jenkins parallelization and distribution features.
The big advantage of this approach is to save time for the report generation and uploading process on expensive testing resources like HiL test benches. These resources can be directly used for the next test.

Example configurations
Preconditions
To prevent duplicate reports the build workspace should be cleaned before running the tests and before copying artifacts inside of the downstream project.
This can be achieved by using clean checkouts from repository or using the Workspace Cleanup Plugin when preparing the build environment.
To transfer the report artifacts from one node to another the Copy Artifact Plugin is required for freestyle projects. When using pipelines also stash/unstash commands can be used.
Freestyle configuration
Executing tests and archiving the artifacts (upstream)


Copying artifacts and generating ATX report (downstream)


Pipeline configuration
Upstream pipeline definition
node('windows') {
deleteDir()
startET 'ECU-TEST'
testPackage testFile: 'sample.pkg', testConfig: [tbcFile: 'sample.tbc', tcfFile: 'sample.tcf']
stopET 'ECU-TEST'
archiveArtifacts 'TestReports/**/*.trf'
build job: 'downstream', wait: false
}
Downstream pipeline definition
node('windows') {
deleteDir()
copyArtifacts filter: 'TestReports/**/*.trf', projectName: 'upstream', selector: lastSuccessful()
// Class notation is required for publisher steps inside downstream wrapper!
// Available: ATXPublisher, ETLogPublisher, JUnitPublisher, ReportGeneratorPublisher, TMSPublisher, TRFPublisher
downstreamPublisher workspace: '', publishers: [
[$class: 'ATXPublisher', atxName: 'ECU-TEST'],
[$class: 'JUnitPublisher', toolName: 'ECU-TEST']]
}
Downstream trace analysis
In addition to downstream report generation the plugin allows to run trace analyses in a downstream-based project. Therefore the test cases are executed without trace analysis at first.
Afterwards all trace analysis artifacts like analysis job files, traces, trace step templates and TRF reports etc. must be archived and will then be copied into a separate workspace of the triggered downstream project.
This downstream project acts like a central trace analysis service which waits for inputs from other test executions and is designed to be highly scalable.
The huge advantage of better ressource efficiency is the same as for downstream report generation and can also be used in combination.

Example configurations
Preconditions
Same as in downstream report generation.
Freestyle configuration
Executing test cases without trace analysis and archiving the artifacts (upstream)


Copying artifacts and running the trace analysis (downstream)


Pipeline configuration
Upstream pipeline definition
node('windows') {
deleteDir()
startET 'ECU-TEST'
testPackage testFile: 'sample.pkg', testConfig: [tbcFile: 'sample.tbc', tcfFile: 'sample.tcf'], packageConfig: [runTraceAnalysis: false]
stopET 'ECU-TEST'
archiveArtifacts 'TestReports/**/*.trf, TestReports/**/*.ajob, Packages/**, Traces/**, TraceStepTemplates/**'
build job: 'downstream', wait: false
}
Downstream pipeline definition
node('windows') {
deleteDir()
copyArtifacts filter: 'TestReports/**/*.trf, TestReports/**/*.ajob, Packages/**, Traces/**, TraceStepTemplates/**', projectName: 'upstream', selector: lastSuccessful()
// Class notation is required for publisher steps inside downstream wrapper!
downstreamPublisher workspace: '', publishers: [
[$class: 'TraceAnalysisPublisher', toolName: 'ECU-TEST', mergeReports: true]]
}
Extensions
Job DSL
The Job DSL Plugin allows the programmatic creation of projects using a DSL. This plugin provides some specific DSL extensions.
Furthermore, if there is a method which is currently not supported then Job DSL also provides an auto-generator.
Controlling tools
steps {
// Start ECU-TEST
startET(String installation) {
workspaceDir(String directory)
settingsDir(String directory)
timeout(int | String timeout = 120)
debugMode(boolean debugMode = false)
keepInstance(boolean keepInstance = false)
}
// Stop ECU-TEST
stopET(String installation) {
timeout(int | String timeout = 30)
}
// Start Tool-Server
startTS(String installation) {
toolLibsIni(String toolLibsPath)
tcpPort(int | String port = 5017)
timeout(int | String timeout = 120)
keepInstance(boolean keepInstance = false)
}
// Stop Tool-Server
stopTS(String installation)
timeout(int | String timeout = 30)
}
}
Test execution
steps {
// Run package
testPackage(String packageFile) {
testConfig {
tbcFile(String tbcFile)
tcfFile(String tcfFile)
forceReload(boolean forceReload = false)
loadOnly(boolean loadOnly = false)
constants {
constant(String name, String value)
constant {
name(String name)
value(String value)
}
}
}
packageConfig {
runTest(boolean runTest = true)
runTraceAnalysis(boolean runTraceAnalysis = true)
parameters {
parameter(String name, String value)
parameter {
name(String name)
value(String value)
}
}
}
executionConfig {
timeout(int | String timeout = 3600)
checkTestFile(boolean checkTestFile = true)
stopOnError(boolean stopOnError = true)
}
}
// Run project
testProject(String projectFile) {
testConfig { (...) }
projectConfig {
execInCurrentPkgDir(boolean currentPkgDir = false)
filterExpression(String expression)
// modes: NO_EXECUTION(0), SEQUENTIAL_EXECUTION(1),
// PARALLEL_EXECUTION(2), SEPARATE_SEQUENTIAL_EXECUTION(5),
// SEPARATE_PARALLEL_EXECUTION(6), NO_TESTCASE_EXECUTION(9)
jobExecutionMode(int | String execMode = 1)
}
executionConfig { (...) }
}
// Run test folder
testFolder(String testFolder) {
// modes: PACKAGES_ONLY, PROJECTS_ONLY, PACKAGES_AND_PROJECTS
scanMode(String mode = 'PACKAGES_AND_PROJECTS')
recursiveScan(boolean recursive = false)
testConfig { (...) }
packageConfig { (...) }
projectConfig { (...) }
executionConfig { (...) }
}
}
Test management
steps {
// Import projects
importProjects {
importFromArchive(String archivePath, String importPath, String importConfigPath, boolean replaceFiles)
importFromArchive(String archivePath) {
importPath(String importPath)
importConfigPath(String importConfigPath)
replaceFiles(boolean replaceFiles)
}
importFromTMS(String credentialsId, String projectPath, String importPath, int | String timeout = 60)
importFromTMS(String credentialsId, String projectPath) {
importPath(String importPath)
timeout(int | String timeout = 60)
}
importFromTMSDir(String credentialsId, String projectDirPath, String importPath, int | String timeout = 60)
importFromTMSDir(String credentialsId, String projectDirPath) {
importPath(String importPath)
timeout(int | String timeout = 60)
}
importAttributesFromTMS(String credentialsId, String projectPath, int | String timeout = 60)
importAttributesFromTMS(String credentialsId, String projectPath) {
timeout(int | String timeout = 60)
}
}
// Import packages
importPackages {
importFromTMS { (...) }
importFromTMSDir { (...) }
importAttributesFromTMS { (...) }
}
// Export projects
exportProjects {
exportToTMS(String credentialsId, String projectPath, String exportPath, boolean createNewPath, int | String timeout = 60)
exportToTMS(String credentialsId, String projectPath) {
exportPath(String exportPath)
createNewPath(boolean createNewPath)
timeout(int | String timeout = 60)
}
exportAttributesToTMS(String credentialsId, String projectPath, int | String timeout = 60)
exportAttributesToTMS(String credentialsId, String projectPath) {
timeout(int | String timeout = 60)
}
}
// Export packages
exportPackages {
exportToTMS { (...) }
exportAttributesToTMS { (...) }
}
}
Publishing reports
publishers {
// Publish ATX reports
publishATX(String atxInstallation) {
// Archive options
allowMissing(boolean allowMissing = false)
runOnFailed(boolean runOnFailed = false)
archiving(boolean archiving = true)
keepAll(boolean keepAll = true)
}
// Publish TRF reports
publishTRF() {
// Archive options...
}
// Publish UNIT reports
publishUNIT(String installation) {
unstableThreshold(double threshold = 0)
failedThreshold(double threshold = 0)
// Archive options...
}
// Publish ECU-TEST logs
publishETLogs() {
unstableOnWarning(boolean markUnstable = false)
failedOnError(boolean markFailed = false)
testSpecific(boolean testSpecific = false)
// Archive options...
}
// Publish Report Generators
publishGenerators(String installation) {
generators {
generator(String generatorName) {
settings {
setting(String name, String value)
setting {
name(String name)
value(String value)
}
}
}
}
customGenerators {
customGenerator(String generatorName) { (...) }
}
// Archive options...
}
// Publish to Test Management System
publishTMS(String installation, String credentialsId) {
timeout(int | String timeout = 60)
// Archive options...
}
}
Pipeline
The Pipeline Plugin allows to orchestrate automation, simple or complex, using a DSL. This plugin supports the use of all provided build steps and post-build actions from within a Jenkins Pipeline build. The appropriate DSL syntax for these steps and actions can be easily generated with help of the Pipeline Snippet Generator using the related custom pipeline step or the 'step' command, when using plugin version prior to 1.13.
Basic pipeline example
node('windows') {
stage('Start Tools') {
startET 'ECU-TEST'
}
stage('Test Execution') {
testPackage testFile: 'sample.pkg', testConfig: [tbcFile: 'sample.tbc', tcfFile: 'sample.tcf']
testProject testFile: 'sample.prj', testConfig: [tbcFile: 'sample.tbc', tcfFile: 'sample.tcf']
}
stage('Publish Reports') {
publishATX 'TEST-GUIDE'
}
stage('Stop Tools') {
stopET 'ECU-TEST'
}
}
Dynamic ECU-TEST pipeline example
node('windows') {
// ECU-TEST installation using global variable ET
def et = ET.newInstallation toolName: 'ECU-TEST', installPath: 'C:\\Program Files\\ECU-TEST 8.0'
// or getting existing installation from global tool configuration
def et = ET.installation('ECU-TEST')
// Start ECU-TEST
et.start('C:\\Data\\workspace', 'C:\\Data\\settings')
// Stop ECU-TEST
et.stop()
}
Dynamic TEST-GUIDE pipeline example
node('windows') {
// Start tools, execute tests
...
// TEST-GUIDE server instantiation using global variable ATX
def atx = ATX.newServer atxName: 'TEST-GUIDE', toolName: 'ECU-TEST', serverUrl: 'http://localhost:8085', uploadToServer: false, authKey: 'xxx', projectId: '1'
// or getting existing instance from global configuration
def atx = ATX.server('TEST-GUIDE')
// Publish ATX reports directly
atx.publish()
}
Screencasts
For more information about installation and configuration of the plugin as well as using the plugin in a slave-based setup see our screencasts.
Issues
To report a bug or request an enhancement to this plugin please create a ticket in JIRA.
| type |
key |
summary |
priority |
status |
|
|
Known limitations
When using the plugin in a slave-based setup (especially running the slave at command line via JNLP) you also need to restart the slave when restarting the master.
This is due to already loaded libraries, for more information see this blog post and related issue JENKINS-31961.
Release 1.8 implemented an extension point that will workaround this issue. In order to work a new task has to be created in the Windows Task Scheduler named RESTART_JENKINS_SLAVE and configured with actions how to restart the slave.
FAQ
When encountering problems or error messages, please check the installed plugin version at first and update to the most recent version, if any.
If the problem still exists search the following list of issues for possible solutions, otherwise you are asked to create a ticket in JIRA.
Compatibility
- Jenkins LTS 2.60.3 or higher
- Java SE Runtime Environment 8 or higher
- ECU-TEST 7.0.0 or higher
- optional: TEST-GUIDE 1.55.0 or higher
License
This plugin is licensed under 3-clause BSD license.
More information can be found inside the LICENSE file.
Changelog
Release 2.10 (Jul 03, 2019)
Dynamic TEST-GUIDE installation not found when publishing reports (PR #69)
Rename pipeline symbols to camel case names (PR #68)
Dependencies updates (PR #63, #66)
Release 2.9 (Jun 14, 2019)
Add generator option to read from persisted settings file (PR #44)
Add support for analysis packages (PR #45)
Dynamic ECU-TEST installation not found when stopping instance (PR #43)
Enable Dependabot (PR #49)
Enable Release Drafter (PR #52)
Release 2.8 (May 24, 2019)
Check whether configurations are started (PR #32)
Add timeout option using Quit and Exit via COM API (PR #34)
Add more debug logs (PR #37)
Ensure compatibility up to ECU-TEST 8.0.0 (PR #35)
Drop support for ECU-TEST 6.x (PR #35)
Update available ATX settings to TEST-GUIDE 1.67.0 (PR #36)
Release 2.7 (May 17, 2019)
Add full support for Configuration as Code plugin (PR #23)
Allow dynamic inline ECU-TEST instances in pipelines (PR #31)
Allow dynamic inline TEST-GUIDE instances in pipelines (PR #29)
Use random generated id for linking reports (PR #24)
Release 2.6 (Feb 15, 2019)
Add option to update user libraries (PR #12)
Support generation and re-use of ECU-TEST caches (PR #13)
Allow individual Windows task name (PR #19)
Request API endpoint to check TEST-GUIDE availability (PR #15)
Internal refactoring (PR #7)
Reference filter validation throws ANTLR exception (PR #17)
Updated available ATX settings to TEST-GUIDE 1.64.1
Requires at least TEST-GUIDE 1.55.0
Release 2.5 (Dec 07, 2018)
Allow dynamic TEST-GUIDE configuration in Pipelines
Add partial JCasC plugin support to manage ECU-TEST installations
Use unique ATX id for linking reports to TEST-GUIDE if available
Improved ECU-TEST version parsing (PR #6)
Ensured compatibility up to ECU-TEST 7.2.0
Release 2.4 (Jul 30, 2018)
Fixed security issues SECURITY-932, SECURITY-994
Release 2.3 (Jul 20, 2018)
Allow to use TMS credentials from any Jenkins context
Removed existence check of .workspace directory
Improved COM connection stability by updating to JACOB 1.19
More robust parsing the ATX upload response
Updated available ATX settings to TEST-GUIDE 1.57.1
Release 2.2 (Apr 13, 2018)
Allow additional data types as global constant
Improved COM connection stability with COM timeouts
Evaluate ATX upload info for linking ATX reports
Ensured compatibility up to ECU-TEST 7.1.0
Updated available ATX settings to TEST-GUIDE 1.54.0
Release 2.1 (Feb 16, 2018)
Added publisher for downstream trace analysis
Disabled COM timeout by default
Fixed ATX report links when using downstream publisher
Bumped Jenkins baseline to LTS 2.60.3
Release 2.0 (Dec 08, 2017)
Added publisher for downstream report generation
Added build variables containing last loaded ECU-TEST configurations
Added COM timeout to detect non-responding ECU-TEST instance or tool connections
Fixed sporadic errors when setting global constants
Bumped Jenkins baseline to LTS 2.60.1
Requires Java 8 on master and slaves
Ensured compatibility up to ECU-TEST 7.0.0
Updated available ATX settings to TEST-GUIDE 1.49.0
Releases 1.x
Release 1.18 (Jul 28, 2017)
Added option to re-use ECU-TEST and Tool-Server instances
Ignore ECU-TEST patch version in compatibility checks
Check architecture compatibility between ECU-TEST and JVM
Ignore test configuration validation if previous ones re-used
Updated available ATX settings to TEST-GUIDE 1.46.0
Release 1.17.1 (Jun 06, 2017)
Fixed duplicate test project action
Release 1.17 (Jun 02, 2017)
Added option to keep currently loaded configurations
Added option to import missing packages for project imports
Added build step to import and export packages/projects from/to test management system
Added build step to import and export package/project attributes from/to test management system
Added appropriate Job DSL and Pipeline plugin support for for test management build steps
Keep test results in case of manual build abort or exceeded timeout
Debug log used COM ProgId and version (use system property ecutest.debugLog=<true|false>)
Retain backward compatibility for legacy test management builders
Ensured compatibility up to ECU-TEST 6.6.0
Updated available ATX settings to TEST-GUIDE 1.44.0
Release 1.16 (Mar 10, 2017)
Improved summary view for tool and test related build variables
Added support for multiple TEST-GUIDE projects
Append to existing JUnit results to prevent duplicated trend graphs
Exclude job analysis files when traversing sub reports
Compatibility changes for TEST-GUIDE 1.39+
Updated available ATX settings to TEST-GUIDE 1.41.0
Release 1.15 (Jan 06, 2017)
Added build step to import projects from an archive or a test management system (like RQM, ALM)
Added post-build step allowing to export test results to a test management system
Added appropriate Job DSL and Pipeline plugin support for new features above
Depend on Icon Shim Plugin to simplify icon usage (JENKINS-36472)
Fixed ATX report links for long-running uploads
Release 1.14 (Nov 25, 2016)
Remove empty installations when saving configurations
Avoid circular dependency warning on Jenkins startup (JENKINS-39169)
Fixed TRF include/exclude pattern for report publishers
Fixed ATX report links for sub project execution
Updated available ATX settings to TEST-GUIDE 1.38.0
Release 1.13 (Oct 14, 2016)
Added @Symbol annotation to simplify pipeline syntax
Exclude job analysis reports from publishing
Release 1.12 (Sep 16, 2016)
Added support for new TRF naming convention (like package/project name)
Added support for changed installation path of Tool-Server
Added support for parallel installations (configurable COM ProgID)
Properly log ATX report upload errors
Simplified configuration with automatic migration
Improved Windows process control (using WinP)
Fixed absolute configuration path check
Ensured compatibility up to ECU-TEST 6.5.0
Updated available ATX settings to TEST-GUIDE 1.35.0
Release 1.11 (May 27, 2016)
Added support for Pipeline plugin (fka Workflow) (JENKINS-31999)
Bumped Jenkins baseline to LTS 1.580.1
Release 1.10 (May 13, 2016)
Added option to publish and parse test specific log files
Allow use of parameterized tool selection in Job DSL extensions
Bumped to new parent POM 2.9
Updated available ATX settings to TEST-GUIDE 1.30.0
Release 1.9 (Apr 15, 2016)
Added publishing option to disable archiving reports
Added option to keep artifacts of most recent build only (project level)
Ensured compatibility up to ECU-TEST 6.4.0
Updated available ATX settings to TEST-GUIDE 1.29.0
Release 1.8 (Mar 18, 2016)
Added workaround for already loaded JACOB library (JENKINS-31961)
Added report publisher allowing to execute report generators
Fixed test execution handling when aborting the build (JENKINS-33457)
Release 1.7 (Mar 04, 2016)
Added parameterized ECU-TEST and TEST-GUIDE selection
Allow use of parameterized ATX settings
Improved test execution timeout handling
Ensured compatibility up to ECU-TEST 6.3.2
Updated available ATX settings to TEST-GUIDE 1.27.0
Release 1.6 (Jan 29, 2016)
Added option to only load the configurations without starting them automatically
Check for existing global constants, prevents to unnecessarily reload the configurations
Release 1.5 (Dec 18, 2015)
Added option to explicitly set the ECU-TEST settings directory
Allow use of GStrings in Job DSL extensions
Discard empty global constants and package parameters
Fixed undetected ATX upload errors (JENKINS-32078)
Release 1.4 (Dec 04, 2015)
Added support to pre-check packages and projects
Added option to force reloading the current configuration
Highlighted the test result in the console log
Fixed ATX report links for multiple archived ATX files (JENKINS-31770)
Release 1.3 (Nov 23, 2015)
Added post-execution timeouts
Improved Job DSL extensions by providing default settings
Fixed form validation for some ATX settings (JENKINS-31703)
Release 1.2 (Nov 06, 2015)
Added support for Job DSL plugin
Added ZIP download link for published TRF and ATX reports
Aggregated UNIT test results for matrix projects
Release 1.1 (Oct 23, 2015)
Added support for separate sub-project execution
Added archiving of ATX reports for disabled ATX upload
Improved publisher behavior handling ECU-TEST instances
Improved ECU-TEST log parser performance
Improved validation of TEST-GUIDE server availability
Release 1.0 (Oct 09, 2015)
Initial release