A plugin that allows you to execute create, update, and read information from BugZilla bugs
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.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 764bcfbb5df5e0afc92464a07d698c149de77bebb3869546503c063ec7dd502f |
|
MD5 | 85a0e84e57940871f37e2f6d114fa254 |
|
BLAKE2b-256 | 7ccc7c3d5cb58c8f30cf4a4b6432e6a103727eb00fa2e3edb50e484cef6d9784 |
Hashes for pytest_bugzilla_notifier-1.1.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3addf5b2d8b8bdf03e56364dfbe187a429efc0b9860afc2f711dc217d4f93b13 |
|
MD5 | 20bfea11ba57e60148911b1efa25722e |
|
BLAKE2b-256 | da69524ddcb61e9a9d2361f30f442538b08d083826f1331b9aa05f535b9109bc |