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.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a1a2b201b94491c9a6f90dce13c645c0b1634038253dc5851714eb35e5f045d |
|
MD5 | d8fbe19a57ff5694c99ca68c77f50ffb |
|
BLAKE2b-256 | de4d2537195941e5c3aa96c8de43f55b5339b0d06819f9031674c75b8206c8ae |
Hashes for pytest_bugzilla_notifier-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59362d505ff656935deded8190a045fc3a14a89c3553b8a25e7fe5e75d9a0f0a |
|
MD5 | da6cf1f7d5c2154006114921f74905dd |
|
BLAKE2b-256 | d3320910b8d74c347f095650841b65c9f763448a5771ebd8a614de1079f8475c |