This is a pre-release plugin that is still undergoing development.
This is a 'See It Work' plugin, meaning it has been enhanced to include functionality that makes it easy to spin up and configure a dockerized version of the XebiaLabs platform with this plugin installed. Using the provided test data, you can then try out the plugin features. This is useful for familiarizing yourself with the plugin functionality, for demonstrations, testing and for further plugin development.
This document describes the functionality provided by the XL Release Telnet plugin.
See the XL Release reference manual for background information on XL Release and release automation concepts.
This plugin provides a way to run simple command sequences on a telnet server. At this point, its capabilities are quite unsophisticated.
The plugin adds a new server type named 'Telnet Server'. Currently, there is a single new task type name 'Run Commands'.
*XL Release version 9.0+ *This plugin has been tested on version 9.7 as well
- Copy the latest JAR file from the releases page into the
XL_RELEASE_SERVER/plugins/__local__
directory. - Restart the XL Release server.
Add a new Telnet Server on the Settings -> Shared Configration page.
To configure the server:
- Give the server a unique name
- Enter the Telnet Host address
- Enter the Telnet Host port
- Modify the timeout, if desired
- If a login is necessary, enter the username and password
- Enter the command steps for login.
- The commands will be processed in the order they are entered into the map. Don't edit entries in place because that will change the order, re-enter all entries instead.
- The Key is a character string that will uniquely identify the tail of the telnet prompt. Trailing spaces, if any, are significant, so be sure to include them.
- The value is the command string. Be sure to end the command with the 'return control characters' such as \r\n or \n.
- If the username or password is part of the command, use the literal string [$username] or [$password] and the telnet plugin will subsitute the actual value.
- Choose a Telnet Server from the drop down list
- If you need to use a different username or password than that entered during the Telnet Server configuration, enter it here.
- Enter the sequence of command steps.
- The commands will be processed in the order they are entered into the map. Don't edit entries in place because that will change the order, re-enter all entries instead.
- The key is a character string that will uniquely identify the tail of the telnet prompt. Trailing spaces (if any) at the end of the prompt are significant, so be sure to include them.
- The value is the command string. Be sure to end with the 'return control characters' such as \r\n or \n" />
Download this github project to a local directory.
- You will need to have Docker and Docker Compose installed.
- The XL-Release image will use the community license. Note that by using this license, you are accepting the End User License Agreement. If you prefer to use your own license, modify the docker-compose.yml file.
- Plugin log files will be written to /build/reports/tests/log directory
- XL Release will run on the localhost port 15516.
- The XL Release username / password is admin / admin.
Before running the demo, be sure to create the plugin jar by opening a terminal, cd into the plugin source code directory, and run
./gradlew clean build
To run the dev/demo mode, open a terminal, cd into the src/test/resources/docker directory of the plugin code and run:
docker-compose up
After XLR starts up:
- log in using the admin / admin credentials
- Create a telnet server for the publicly available wunderground weather server - use the values found in this file: src/test/resources/docker/initialize/data/server-config.json. This telnet server does not need a login.
- Use the XLR 'Import Template' feature to import the template found in the src/test/resources/docker/initialize/data directory. You can then create a release and run the test example.
To shut down and remove the docker containers, in the src/test/resources/docker/initialize/data directory, run
docker-compose down