Xray allows Project Managers to configure remote jobs triggers and their availability.
Configuration page
Under "Project settings" page, a new option is available on "Xray Settings" group, named "Remote Jobs Trigger"
Create configuration
A project manager can create up to 10 CI/CD configurations and from those select 6 that would be available on the Test Execution/Test Plan issue type.
Access "Remote Jobs Trigger" option on Project settings:
Select the desired CI/CD platform to use by selecting "Enable..." configuration on the right. This step is needed only once and you can have only one CI/CD tool selected at a given time.
Click the option to create a new configuration:
The new configuration screen will be displayed and you can fill in the input field regarding your CI/CD platform.
Be aware that the fields may differ according to the CI/CD platform selected but there are a few that are mandatory and cross CI/CD platforms
Generic fields:
- Configuration Name (Mandatory) - Name of the configuration, this is the reference that will be used on Test Plan/Test Execution on the "Trigger Build" option;
- Job Name/Plan Key/Workflow Id/Project Id/Pipeline Id (Mandatory) - This is your reference for the the build project on your CI/CD;
- Parameters (optional) - Key/value parameters list that you might have defined on your build and you want to pass from Xray.
To add more parameters, just click he option "Add" to have a new Key/Value added to the list.
To remove parameters, click the "x" option displayed right after the Key/Value row.
You may also use the following options to add to the parameter value regarding Xray entities:- ${ISSUE_KEY} - this will be replaced with issue key that user is triggering the build from;
- ${TESTS_KEY} - this value will then be replaced with a comma separated string of test keys part of the issue the user is triggering the build from;
- ${PROJECT_KEY} - this value will then be replaced with project key;
- ${USER} - this value will then be replaced with logged user triggering the build.
CI/CD specific fields:
- Jenkins:
- Job Name (Mandatory) - Exact job name defined on your Jenkins instance;
- API Token (Mandatory) - API token defined on Jenkins for this specific job;
- Username (Mandatory) - Jenkins user ID/name;
- API URL (Mandatory) - Jenkins endpoint url. e.g. jenkins.cloud.getxray.app/
- Password (Mandatory) - Jenkins user password
- Bamboo:
- Plan key (Mandatory) - Exact job name defined on your Jenkins instance;
- API URL (Mandatory) - Bamboo endpoint url. e.g. bamboo.cloud.getxray.app
- Username (Mandatory) - Bamboo username;
- Password (Mandatory) - Bamboo user password;
- Project Key (Mandatory) - Exact Bamboo project key
- GitHub:
- Repository Name (Mandatory) - Exact repository name;
- Workflow Id (Mandatory) - The desired workflow Id you want to use from your repository;
- Username (Mandatory) - GitHub username;
- API URL (Mandatory) - GitHub endpoint url. e.g. api.github.com
- Branch Name (Mandatory) - Repository branch name you want to trigger the build;
- Authentication Token (Mandatory) - GitHub Authentication token.
- GitLab:
- Branch Name (Mandatory) - Exact GitLab branch name;
- API Token (Mandatory) - GitLab API token;
- Username (Mandatory) - GitLab username;
- API URL (Mandatory) - GitLab endpoint url. e.g. gitlab.com
- Project Id (Mandatory) - GitLab project Id you want to trigger the build;
- Authentication Token (Mandatory) - GitLab Authentication token.
- Azure DevOps: