Page History
GitLab is a well-known CI/CD tool available on-premises and as SaaS.
Xray does not provide yet a plugin for GitLab. However, it is easy to setup GitLab in order to integrate it with Xray.
Since Xray provides a full REST API, you may interact with Xray, for submiting submitting results for example.
Table of Contents |
---|
JUnit example
In this scenario, we want to get visibility of the automated test results from some tests implemented in Java, using the JUnit framework.
...
In order to submit those results, we'll just need to invoke the REST API (as detailed in Import Execution Results - REST).
However, we do not want to have the JIRA credentiails credentials hardcoded in GitLab's configuration file. Therefore, we'll use some secret variables defined in GitLab project settings.
Info | ||
---|---|---|
| ||
The user present in the configuration below must exist in the JIRA instance and have permission to Create Test and Test Execution Issues |
In .gitlab-ci.ym
l a "step" must be included in the maven_build section, that will use "curl" in order to submit the results to the REST API.
...
We're using "curl" utility that comes in Unix based OS'es but you can easily use another tool to make the HTTP request; however, "curl" is provided in the container used by GitLab.
Cucumber example
In this scenario, we are managing the specification of Cucumber Scenarios/Scenario Outline(s) based tests in Jira, using Xray, as detailed in the "standard workflow" mentioned in Testing with Cucumber
...
Code Block | ||||
---|---|---|---|---|
| ||||
image: "ruby:2.3" test: script: - apt-get update -qq - apt-get install unzip - gem install cucumber - gem install rspec-expectations - 'curl -u $jira_user:$jira_password "http://$jira_server_url/rest/raven/1.0/export/test?keys=$cucumber_keys" -o features/features.zip' - 'rm -f features/*.feature' - unzip -o features/features.zip -d features/ - cucumber -x -f json -o data.json - 'curl -H "Content-Type: application/json" -u $jira_user:$jira_password --data @data.json "$jira_server_url/rest/raven/1.0/import/execution/cucumber"' - echo "done" |
In this example, we're using a variable cucumber_keys defined in the CI/CD project level settings in GitLab. This variable contains one or more keys of the issues that will be used as source data for generating the Cucumber .feature files; it can be the key(s) of Test Plan(s), Test Execution(s), Test(s), requirement(s). For more info, please see: Exporting Cucumber Tests - REST.