Skip to content

assertthat/assertthat-bdd-gradle-tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maven Central

Description

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

Installation

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
}

Example project

Refer to example project assertthat-bdd-gradle-example