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.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce4cbcb5f4df46c0b3555178eed078f23f6a3001522a953469709c08ab6e8b2e |
|
MD5 | 3c983c1552715724a59fb4dd2c8c1a4d |
|
BLAKE2b-256 | dcfc073890c729b11ea5db7dc04165e6becdb78c4b4ef74a6a2a87b917f45de3 |
Hashes for pytest_bugzilla_notifier-1.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 268e2bfff58d2185d2933cbff764f47ec60c70568cc7a3db5ba75f55fc59ac1d |
|
MD5 | a9b055f67f86e452cca8b7b93c13e38b |
|
BLAKE2b-256 | 4f4d7cdeaa66da5d3315e04ccec6208f11717fb7186da0bec4a772085a0b8384 |