A plugin that allows you to post test runs to BugZilla tickets and create new tickets
Project description
This plugin currently has the following functionality:
posts the results of test runs to be added to existing Bugzilla tickets
create new tickets as part of a pytest test
read bugs given a bug ID
search for bugs given a search
Installation
You can install “pytest-bugzilla-notifier” via pip from PyPI:
$ pip install pytest-bugzilla-notifier
Pre-requisites
To use this plugin you need to have a username and password for a Bugzilla account. First, you need to copy bugzilla.ini-dist to bugzilla.ini and add in the BugZilla API key you will be using to access Bugzilla.
Reporting test runs
You can use the plugin to update a ticket with the results by using the following command:
$ pytest --bug=<bug ID> --config=./bugzilla.ini --bugzilla-url=<server> /path/to/tests
<bug ID> The ID that Bugzilla assigned to the bug you wish to have the test results sent to.
<server> The full URL to the Bugzilla instance you wish to send test results to (eg https://bugzilla.mozilla.com)
Creating new tickets
To create a new ticket in Bugzilla, you need to import the library using:
from pytest_bugzilla_notifier.bugzilla_rest_client import BugzillaRESTClient
and then you can create bugs using code similar to this:
api_details = { 'bugzilla_host': '<bugzilla host you are using>', 'bugzilla_api_key': '<bugzilla API key>' } rest_client = BugzillaRESTClient(api_details) bug_data = { 'product': 'Firefox', 'component': 'Developer Tools', 'summary': 'Test Bug', 'version': 'unspecified' } bug_id = rest_client.bug_create(bug_data)
If everything worked as expected, bug_id will contain the ID BugZilla has assigned to your ticket.
Reading Bug Details
If you know the ID for a bug, you can read in the details:
api_details = { 'bugzilla_host': '<bugzilla host you are using>', 'bugzilla_api_key': '<bugzilla API key>' } rest_client = BugzillaRESTClient(api_details) bug_id = <bug ID> response = rest_client.bug_read(bug_id)
Searching For Bugs
You can follow the outlines for search parameters and then submit your search request:
api_details = { 'bugzilla_host': '<bugzilla host you are using>', 'bugzilla_api_key': '<bugzilla API key>' } rest_client = BugzillaRESTClient(api_details) search_details = { 'product': 'Firefox', 'component': 'Developer Tools', 'summary': 'Test Bug', } bug_id = rest_client.bug_search(search_details)
Contributing
Contributions are very welcome. Tests can be run with tox, please ensure that the test suite passed before submitting a pull request.
License
Distributed under the terms of the Mozilla Public License 2.0 license, “pytest-bugzilla-notifier” is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytest-bugzilla-notifier-1.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f3605ce4ee4ed0ef573eba41f92c03c4e233bc4dda05d293fbeb779cdfa7946 |
|
MD5 | 5b8b671de3671b6b7cc70a82a7f6980a |
|
BLAKE2b-256 | 292a9f715432f41538d82e6834c87961fafa2dfb2f13894cb8c8781a7f7f12a8 |
Hashes for pytest_bugzilla_notifier-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb1bf56470d4f493495b5cdfc450e6f1d6811c12cfd226ae4444731338c8754c |
|
MD5 | a1cc16260b3be6f902c18c43db807bce |
|
BLAKE2b-256 | 226a352543d33adc255eeae79bd6e8b0b9868578114852d4a5ada9709a071970 |