Skip to main content

py.test JIRA integration plugin, using markers

Project description

Build Status Code Health Code Coverage

Intro

A pytest plugin for JIRA integration.

This plugin links tests with JIRA tickets. The plugin behaves similar to the pytest-bugzilla plugin.

The plugin does not close JIRA tickets, or create them. It just allows you to link tests to existing tickets.

Please feel free to contribute by forking and submitting pull requests or by submitting feature requests or issues to issues.

Test results

  • If the test unresolved

    • and the run=False, the test is skiped

    • and the run=True or not set, the test is executed and based on it the result is xpassed (e.g. unexpected pass) or xfailed (e.g. expected fail)

  • If the test resolved

    • the test is executed and based on it the result is passed or failed

Marking tests

You can specify jira issue ID in docstring or in pytest.mark.jira decorator.

By default the regular expression pattern for matching jira issue ID is [A-Z]+-[0-9]+, it can be changed by --jira-issue-regex=REGEX or in a config file by jira_regex=REGEX.

It’s also possible to change behavior if issue ID was not found by setting --jira-marker-strategy=STRATEGY or in config file as marker_strategy=STRATEGY.

Strategies for dealing with issue IDs that were not found:

  • open - issue is considered as open (default)

  • strict - raise an exception

  • ignore - issue id is ignored

  • warn - write error message and ignore

Issue ID in decorator

If you use decorator you can specify optional parameter run. If it’s false and issue is unresolved, the test will be skipped.

@pytest.mark.jira("ORG-1382", run=False)
def test_skip(): # will be skipped if unresolved
    assert False

@pytest.mark.jira("ORG-1382")
def test_xfail(): # will run and xfail if unresolved
    assert False

Issue ID in docstring

You can disable searching for issue ID in doc string by using --jira-disable-docs-search parameter or by docs_search=False in jira.cfg.

def test_xpass(): # will run and xpass if unresolved
"""issue: ORG-1382"""
    assert True

Status evaluation

Issues are consider resolved if their status is “Resolved” or “Closed”. If you specify components (in command line or jira.cfg), open issues will be considered unresolved only if they are also open for at least one used component.

If you specify version, open issues will be unresolved only if they also affects your version. Even when the issue is closed, but your version was affected and it was not fixed for your version, the issue will be considered unresolved.

Requires

  • pytest >= 2.2.3

  • jira >= 0.43

  • six

Installation

pip install pytest_jira

Usage

  1. Create a jira.cfg in the root of your tests:

    Options can be overridden with command line options. The configuration file can also be placed in /etc/jira.cfg and ~/jira.cfg.

    [DEFAULT]
    url = https://jira.atlassian.com
    username = USERNAME (or blank for no authentication
    password = PASSWORD (or blank for no authentication)
    # ssl_verification = True/False
    # version = foo-1.0
    # components = com1,second component,com3
    # strategy = [open|strict|warn|ignore] (dealing with not found issues)
    # docs_search = False (disable searching for issue id in docs)
    # issue_regex = REGEX (replace default `[A-Z]+-[0-9]+` regular expression)
  2. Mark your tests with jira marker and issue id.

    @pytest.mark.jira('issue_id')

    You can put Jira ID into doc string of test case as well.

  3. Run py.test with jira option to enable the plugin.

    py.test --jira

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

pytest-jira-0.3.0.zip (25.2 kB view details)

Uploaded Source

pytest-jira-0.3.0.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

pytest_jira-0.3.0-py2.7.egg (12.2 kB view details)

Uploaded Source

File details

Details for the file pytest-jira-0.3.0.zip.

File metadata

  • Download URL: pytest-jira-0.3.0.zip
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pytest-jira-0.3.0.zip
Algorithm Hash digest
SHA256 0493b2acf916fd9a4c56588500087df6f422198062f01dceb65c8089d6d6712b
MD5 a974be1c58aa23a406a3e3e4c37a14dc
BLAKE2b-256 0a7c6e8311e3575ef4e8f7e6cfd746adb5e38b309ba3ae35825e3864b5a83a2a

See more details on using hashes here.

File details

Details for the file pytest-jira-0.3.0.tar.gz.

File metadata

  • Download URL: pytest-jira-0.3.0.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pytest-jira-0.3.0.tar.gz
Algorithm Hash digest
SHA256 edab0b490a8f0543e4b9b9fd6087dfc02c1e3f84c4f2f508f15ded8c730090a3
MD5 c327e939704d5e908eea4070e3cfe514
BLAKE2b-256 acdeabb7a390ad5d423a1862e4d58e3ebf091a6743441583c4d6de5f0a074ffe

See more details on using hashes here.

File details

Details for the file pytest_jira-0.3.0-py2.7.egg.

File metadata

File hashes

Hashes for pytest_jira-0.3.0-py2.7.egg
Algorithm Hash digest
SHA256 16364dd872ad9873775ad94928bc14c96008a4fc2a30e36e87afd5f5b73efcfe
MD5 cfc460ad60e1b651e6f798225ec0dcb8
BLAKE2b-256 f878055ba6bf9bd21f4958e4eb590368b4155a7b3a7ca16a9273d0010a940d29

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page