Python plugin for interaction with AssertThat BDD Jira plugin
Download feature files before test run Filter features to download based on mode (automated/manual/tags/both), or/and JQL Upload cucumber json after the run to AsserTthat Jira plugin
To add the library to your project:
pip install assertthat-bdd
Full plugin configuration below, optional properties can be omitted.
Either use access_key/secret_key OR token authentication:
- project_id, access_key secret_key can be found from the asserthat configuration page
- Personal Access token can be generated on Data Center or Cloud. project_id details can be found here asserthat configuration page
from assertthat_bdd.jira_integration import JiraConnector
JiraConnector.download_features(
    # Jira project id e.g. 10001
    project_id='PROJECT_ID',
    # Optional can be supplied as environment variable ASSERTTHAT_ACCESS_KEY
    access_key='ASSERTTHAT_ACCESS_KEY',
    # Optional can be supplied as environment variable ASSERTTHAT_SECRET_KEY
    secret_key='ASSERTTHAT_SECRET_KEY',
    # Optional can be supplied as environment variable ASSERTTHAT_TOKEN
    token='ASSERTTHAT_TOKEN',
    # Optional - default ./features
    output_folder='./features',
    #Required for Jira Server only. Omit if using Jira Cloud version
    jira_server_url='https://mycompanyjira.com'
    # 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='both',
    #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 - Detail the proxy with the specific scheme e.g.'10.10.10.10:1010'
    # proxy_uri='proxyip:port',
    proxy_uri= 'proxy_uri',
    # Optional - user name which will be used for proxy authentication.*/
    proxy_username='username',
    # Optional - password which will be used for proxy authentication.*/
    proxy_password='password'
)
JiraConnector.upload_report(
    # Jira project id e.g. 10001
    project_id='PROJECT_ID',
    # Optional can be supplied as environment variable ASSERTTHAT_ACCESS_KEY
    access_key='ASSERTTHAT_ACCESS_KEY',
    # Optional can be supplied as environment variable ASSERTTHAT_SECRET_KEY
    secret_key='ASSERTTHAT_SECRET_KEY',
    # Optional can be supplied as environment variable ASSERTTHAT_TOKEN
    token='ASSERTTHAT_TOKEN',
    # The name of the run - default 'Test run dd MMM yyyy HH:mm:ss'
    run_name= 'Dry Tests Run',
    #Required for Jira Server only. Omit if using Jira Cloud version
    jira_server_url='https://mycompanyjira.com'
    # Json report folder - default ./reports
    json_report_folder='./reports',
    # Regex to search for cucumber reports - default "\.json$"
    json_report_include_pattern='\.json$',
    # Optional - default cucumber (can be one of: cucumber/karate)
    type='cucumber'',
    # Optional - Detail the proxy with the specific scheme e.g.'10.10.10.10:1010'
    # proxy_uri='proxyip:port',
    # Optional - user name which will be used for proxy authentication.*/
    proxy_username='username',
    # Optional - password which will be used for proxy authentication.*/
    proxy_password='password'
    )
We recommend running cucumber tests on integration-test phase as
- download features is running on pre-integration-test phase
- report submission on post-integration-test
Refer to example project - https://github.com/assertthat/assertthat-behave-example