Skip to main content

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


Download files

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

Source Distribution

pytest-bugzilla-notifier-1.1.7.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

pytest_bugzilla_notifier-1.1.7-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file pytest-bugzilla-notifier-1.1.7.tar.gz.

File metadata

File hashes

Hashes for pytest-bugzilla-notifier-1.1.7.tar.gz
Algorithm Hash digest
SHA256 ce4cbcb5f4df46c0b3555178eed078f23f6a3001522a953469709c08ab6e8b2e
MD5 3c983c1552715724a59fb4dd2c8c1a4d
BLAKE2b-256 dcfc073890c729b11ea5db7dc04165e6becdb78c4b4ef74a6a2a87b917f45de3

See more details on using hashes here.

File details

Details for the file pytest_bugzilla_notifier-1.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_bugzilla_notifier-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 268e2bfff58d2185d2933cbff764f47ec60c70568cc7a3db5ba75f55fc59ac1d
MD5 a9b055f67f86e452cca8b7b93c13e38b
BLAKE2b-256 4f4d7cdeaa66da5d3315e04ccec6208f11717fb7186da0bec4a772085a0b8384

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