System to sync Bugzilla bugs to Jira issues.
whiteboard
tags are used to determine if they should be synchronized or ignored
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
Submit configuration for your project
famous-product
) in the actions configuration files.
See actions documentationGrant permissions to the Jira Automation Bot
If you are an admin of the Jira project
Project Settings
, then People
.Add People
and search for Jira Automation
. If two are listed select the one with the green logoRoles
drop down select Bots
. Click Add 1 person
."ADD_COMMENTS",
"CREATE_ISSUES",
"DELETE_ISSUES",
"EDIT_ISSUES"
If you are not an admin of the Jira project, contact the admin or reach out to #jira-support
in Slack to determine how best to request the changes described above
Once your configuration is merged and a JBI release is deployed, create a bug in Bugzilla and add your whiteboard tag to the bug. Note that the tag must be enclosed in square brackets (eg. [famous-project]
). You should see an issue appear in Jira
See Also
section of the Bugzilla bug before you add the whiteboard tagVerify that the action you took on the bug was property reflected on the Jira issue (e.g. the description was updated or a comment was added)
We use pandoc to convert markdown to the Jira syntax. Make sure the binary is found in path or specify your custom location.
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 standardsIn order to pass arguments to pytest
:
poetry run pytest -vv -k test_bugzilla_list_webhooks
You may consider:
.env
file (See jbi/environment.py for details)pre-commit install