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