System to sync Bugzilla bugs to Jira issues.
- The system accepts webhook events from Bugzilla
- Bugs'
whiteboard
tags are used to determine if they should be synchronized or ignored - The events are transformed into Jira issues
- The system sets the
see_also
field of the Bugzilla bug with the URL to the Jira issue
Note: whiteboard tags are string between brackets, and can have prefixes/suffixes using dashes (eg.
[project]
,[project-fx-h2]
,[backlog-project]
).
graph TD
subgraph bugzilla services
A[Bugzilla] -.-|bugzilla event| B[(Webhook Queue)]
B --- C[Webhook Push Service]
end
D --> |create/update/delete issue| E[Jira]
D<-->|read bug| A
D -->|update see_also| A
subgraph jira-bugzilla-integration
C -.->|post /bugzilla_webhook| D{JBI}
F["config.{ENV}.yaml"] ---| read actions config| D
end
- Add an entry for your whiteboard tag (eg.
famous-product
) in the actions configuration files. See actions documentation) - Open a pull-request with your action configuration changes
- Open a ticket to request the appropriate permissions to be given to the bot account (
Jira Automation
) on the Jira project (example ticket)
make start
: run the application locally (http://localhost:8000)make test
: run the unit tests suitesmake lint
: static analysis of the code basemake format
: automatically format code to align to linting standards
In order to pass arguments to pytest
:
poetry run pytest -vv -k test_bugzilla_list_webhooks
You may consider:
- Tweaking the application settings in the
.env
file (See jbi/environment.py for details) - Installing a pre-commit hook to lint your changes with
pre-commit install