TestLink Plugin

Plugin Information

Plugin ID testlink
Latest Release 2.0.1
Latest Release Date Dec 13, 2010
Plugin Central Plugin Central 3.2
Sources Subversion
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla
Hudson Core (latest) 3.3.3

This plug-in integrates Hudson and TestLink and generates reports on automated test execution.With this plug-in you can manage your tests in TestLink, schedule and control in Hudson, and execute using your favorite test execution tool. Nice uhn?


The TestLink plug-in integrates Hudson with TestLink. TestLink plug-in uses testlink-java-api to access TestLink XML-RPC api. With the information that you provide in the build step configuration the plug-in retrieves automated tests from TestLink. For each automated test found, the plug-in calls a test command that you specify in the build configuration page. The plug-in also includes the automated test case data (name, author, custom fields, etc) as environment variable. This way you can use information from your automated test case in your test command.

It is important that your test command returns 0 when succeeded, or else the plug-in won't be able to tell when it succeeds or not.

How does the plug-in execute my automated tests?

TestLink Hudson Plug-in retrieves automated test cases data from TestLink. This data is then set as environment variables. Thus your test command can make use of this information to execute your automated tests.

For instance, you could run ant passing a Test Class as parameter: /opt/java/apache-ant-1.8.0/bin/ant -DtestClass=$TESTLINK_TESTCASE_TEST_CLASS

List of environment variables that TestLink Hudson Plug-in defines:


For each Custom Field found, TestLink Hudson Plug-in defines an environment variable for with its name and value, as shown above (%CUSTOM_FIELD_NAME%). If the custom field name contains spaces the plug-in will convert them into _'s. i.e., Test Class can be accessed as %TESTLINK_TESTCASE_TEST_CLASS% in Windows or $TESTLINK_TESTCASE_TEST_CLASS in *nix-like systems.

How does the plug-in know if a test passed or failed?

There are three strategies in the plug-in for finding test results status. Please, refer to Strategies+for+finding+Test+Results for further information.


  1. Download and install TestLink (http://www.teamst.org) 1.9.0.
  2. Create automated tests in TestLink.
  3. Install the TestLink plug-in from the Hudson Plugin Manager
  4. Define a TestLink configuration from the Configure System page.
  5. Add a Invoke TestLink build step in the job you want execute automated tests.
  6. Configure the required properties and drum roll.

Languages Supported

  1. American English
  2. Portuguese
  3. Spanish

Want to see this plug-in in your language? Send us an e-mail and we will get in touch with the text that needs to be translated.


Your feedback is very welcomed, but you don't need donate money, nay. You can drop a message in [http://www.kinoshita.eti.br] with suggestions and ideas (or even patches).

The company that I work with (Sysmap Solutions) sponsored this project. If you liked this project, please drop a message to my company supporting this initiative. This way I can continue supporting this project and contributing to the community.

Compatibility Matrix

The plug-in 1.0 and 1.1 versions were pilot projects that should be ignored. They have issues in distributed environments and depend on Maven. Please, consider updating your plug-in to the 2.0 version.

Plugin 1.0 1.1 2.0
TestLink 1.8.x 1.8.x 1.9.0
Hudson 1.366+ 1.366+ 1.388+
Error formatting macro: jiraissues: java.lang.RuntimeException: Not Found


  1. Article published in Testing Experience magazine issue number 12 (Open Source Tools) written by Bruno P. Kinoshita and Anderson dos Santos. 2010.
  2. Slides used in the lighting talk presented at Encontro Ágil 2010 in IME-USP (Portuguese Only). 2010.
  3. More articles and tips on Bruno P. Kinoshita's website.
  4. Sponsor company: Sysmap Solutions - Brazil.

Known Limitations

  1. TestLink Plug-in cannot handle automated tests with platforms. We are studying how to implement it using the TestLink PHP XML-RPC API and handle test plans with multiple platforms. 
  2. TestLink Plug-in is not able to execute one single test command to all automated tests. Release 2.1 includes a feature that will enable the user to specify a global command, that is ran before iterating over the array of automated test cases.

Release Notes

Version 2.1
  1. Test transaction property.
  2. i18n (version 1.0 supports only English).
  3. Add Javascript validation functions to each field in the global and config pages.
  4. Add Javascript function that controls the List of Automated Custom Fields and the Key Custom Field (the key must be present in the list).
  5. Add single test command feature (it will enable running test suites)
  6. Fixed Java class headers
Version 2.0.1
  1. Fix BUG 8292 (java.lang.NullPointerException at hudson.plugins.testlink.updater.TestLinkTestStatusUpdater.updateTestCases(TestLinkTestStatusUpdater.java:55)
Release 2.0
  1. Settings automated tests properties as environment variables.
  2. Switch from dbfacade-testlink-java-api to testlink-java-api http://sourceforge.net/projects/testlinkjavaapi/.
  3. JUnit parser.
  4. TestNG parser.
  5. TAP parser using tap4j http://sourceforge.net/projects/tap4j/.
Release 1.1
  1. Execute Test Suites.
  2. Let the user define the custom fields name.
  3. Implement feature that lets user to use the latest revision from a SVN repository as Build name.
Release 1.0
  1. First version of the plug-in (the development was guided based on the source code of the following plug-ins: CCM , Sonar (how to ref maven installations)).


Version 2.2
  1. JFreeChart graphics betterment
  2. Increase project quality (add PMD, CheckStyle, FindBugs and Emma)
  3. Create maven site and host it in SourceForge.net
  4. Remove javadoc warnings (as you model your objects you may have mistaken annotations inserted)


plugin-report plugin-report Delete
plugin-builder plugin-builder Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.