Gradle plugin for interaction with AssertThat BDD Jira plugin.
Main features are:
- Download feature files before test run
- Filter features to download based on mode (automated/manual/both), or/and JQL
- Upload cucumber json after the run to AsserTthat Jira plugin
Full plugin configuration below, optional properties can be omitted
buildscript {
dependencies{
classpath group: 'com.assertthat.plugins', name: 'assertthat-bdd-gradle-tasks', version: '1.9.4'
}
}
task downloadFeatures(type: FeaturesTask){
/*Jira project id e.g. 10001*/
projectId ="PROJECT_ID"
/*Optional can be supplied as environment variable ASSERTTHAT_ACCESS_KEY*/
accessKey = "ASSERTTHAT_ACCESS_KEY"
/*Optional can be supplied as environment variable ASSERTTHAT_SECRET_KEY*/
secretKey = "ASSERTTHAT_SECRET_KEY"
/ *Optional can be supplied as environment variable ASSERTTHAT_TOKEN*/
/* Jira API token (for DataCenter only) as an alternative to accessKey/secretKey basic auth*/
token = "ASSERTTHAT_TOKEN"
/*Used for Jira Server/DataCenter integration only. If using cloud remove this option*/
jiraServerUrl = "http://mycompanyjira.com"
/*Optional - default ./features*/
outputFolder = "src/test/resources"
/*Optional - all features downloaded by default - should be a valid JQL*/
jql = "project = XX AND key in ('XXX-1')"
/*Optional - default automated (can be one of: manual/automated/both)*/
mode = "automated"
/*Optional - tag expression filter for scenarios. More on tag expressions https://cucumber.io/docs/cucumber/api/#tag-expressions*/
tags = "(@smoke or @ui) and (not @slow)"
/*Optional - the value MUST be an instance of {@link String} or {@link java.net.URI}.*/
proxyURI = "myproxy:8080"
/*Optional - user name which will be used for proxy authentication.*/
proxyUsername = "username"
/*Optional - password which will be used for proxy authentication.*/
proxyPassword = "password"
/*Optional - prepend ordinal to feature name (default is true)*/
numbered = false
/*Optional - Ignore ssl certificate errors for self-signed certificates (default is false)*/
ignoreCertErrors = true
/*Optional - Delete features in outputFolder directory before downloading (default is true) */
cleanupFeatures = true
}
task submitReport(type: ReportTask){
/*Jira project id e.g. 10001*/
projectId ="PROJECT_ID"
/*Optional can be supplied as environment variable ASSERTTHAT_ACCESS_KEY*/
accessKey = "ASSERTTHAT_ACCESS_KEY"
/*Optional can be supplied as environment variable ASSERTTHAT_SECRET_KEY*/
secretKey = "ASSERTTHAT_SECRET_KEY"
/ *Optional can be supplied as environment variable ASSERTTHAT_TOKEN*/
/* Jira API token (for DataCenter only) as an alternative to accessKey/secretKey basic auth*/
token = "ASSERTTHAT_TOKEN"
/*Used for Jira Server/DataCenter integration only. If using cloud remove this option*/
jiraServerUrl = "http://mycompanyjira.com"
/*The name of the run - default 'Test run dd MMM yyyy HH:mm:ss'*/
runName = "Dry Tests Run"
/*Json report folder - default ./reports*/
jsonReportFolder = "reports"
/*Regex to search for cucumber reports - default **.json*/
jsonReportIncludePattern = "**/cucumber.json"
/*Optional - the value MUST be an instance of {@link String} or {@link java.net.URI}.*/
proxyURI = "myproxy:8080"
/*Optional - user name which will be used for proxy authentication.*/
proxyUsername = "username"
/*Optional - password which will be used for proxy authentication.*/
proxyPassword = "password"
/*Optional - default cucumber (can be one of: cucumber/karate)*/
type = "cucumber"
/*Optional - Run metadata */
metadata="""{"env ":"uat ","build":"456"}"""
/*Optional - all Jira tickets will be updated with test results by default; when JQL is provided only filtered tickets will be updated*/
jql = "project = XX AND key in ('XXX-1')"
/*Optional - Ignore ssl certificate errors for self-signed certificates (default is false)*/
ignoreCertErrors = true
}
Refer to example project assertthat-bdd-gradle-example