This module adds Jira synchronization feature.
Table of contents
You need the following Python packages:
- requests
- jira
- oauthlib
- requests-oauthlib
- requests-toolbelt
- PyJWT
- cryptography
Once the addon is installed, follow these steps:
In odoo.conf
, configure similarly:
[queue_job] channels = root:1,root.connector_jira.import:2
- Open the menu Connectors > Jira > Backends
- Create a new Jira Backend
- Put the name you want
- Set the URL of your Jira, like https://jira.example.com
- You can also select the company where records will be created and the default project template used when Odoo will create the projects in Jira
- Save and continue with the Authentication
- On the created backend, click on the Authenticate button, a popup with keys will appear, keep these open in a tab
- Open Jira and go to System > Applications > Application links
- Enter the name of the application, example: odoo, and click on "Create new link"
- In the popup, set the URL where JIRA can reach Odoo. Jira might complain and reopen the popup, confirm it again and a new popup appears
- In the new popup, do not set anything in the fields and click on Continue
- The link should be created now, edit it with the pen on the right
- Open the Incoming Authentication panel, be warned that it may take some time to load
- Copy-paste the consumer key and public key from Odoo to the Jira link's Incoming Authentication. Set a consumer name (e.g. odoo) and leave the consumer callback url and 2 legged auth blank.
- Click on save at the bottom of the form (you need to scroll)
- Back on Odoo, click on Continue
- A link is displayed, click on it - you may need to login again - and click on "Allow".
- Back on Odoo again, click on Continue
- Authentication is complete!
Setup the webhooks
It is advised to setup the webhooks so the synchronizations are in realtime.
- On the Jira Backend, set the "Base Odoo URL for Webhooks" to URL of Odoo, it must be reachable from Jira.
- Click on "Install Webhooks"
Configure the Epic Link
If you use Epics, you need to click on "Configure Epic Link", Odoo will search the name of the custom field used for the Epic Link.
Configuration done
You can now click on the button "Configuration Done".
The tasks and worklogs are always imported from JIRA to Odoo, there is no synchronization in the other direction.
You can already select the "Imports" tab in the Backend and click on "Link users" and "Import issue types". The users will be matched either by login or by email.
Projects can be created in Odoo and exported to Jira. You can then create a project, and use the action "Link with JIRA" and use the "Export to JIRA" action.
When you choose to export a project to JIRA, if you change the name or the key of the project, the new values will be pushed to JIRA.
If you already have a project on JIRA or prefer to create it first on JIRA, you can link an Odoo project. Use the "Link with JIRA" action on the project and select the "Link with JIRA" action.
This action establish the link, then changes of the name or the key on either side are not pushed.
When you link a project, you have to select which issue types are synchronized. Only tasks of the selected types will be created in Odoo.
If a JIRA worklog is added to a type of issue that is not synchronized, will attach to the closest task following these rules:
- if a subtask, find the parent task
- if no parent task, find the epic task (only if it is on the same project)
- if no epic, attach to the project without being linked to a task
If you want to change the configuration of a project, such as which issue types are synchronized, you can open the "Connector" tab in the project settings and edit the "binding" with the backend.
If the webhooks are active, as soon as they are created in Jira they should appear in Odoo. If they are not active, you can open the Jira Backend and run the synchronizations manually, or activate the Scheduled Actions to run the batch imports. It is important to select the issue types so don't miss this step (need improvement).
- If an odoo user has no linked employee, worklogs will still be imported but with no employee.
Allowing several bindings per project
The design evolved to allow more than one Jira binding per project in Odoo. This conveniently allows to fetch tasks and worklogs for many projects in Jira, which will be tracked in only one project in Odoo.
In order to push data to Jira, we have to apply restrictions on these "multi-bindings" projects, as we cannot know to which binding data must be pushed:
- Not more than one project (can be zero) can have a "Sync Action" set to "Export to JIRA". As this configuration pushes the name and key of the project to Jira, we cannot push it to more than one project.
- If we implement push of tasks to Jira, we'll have to add a way to restrict or choose to which project we push the task, this is not supported yet (for instance, add a Boolean "export tasks" on the project binding, or explicitly select the target binding on the task)
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
- Camptocamp
Camptocamp: * Damien Crier * Thierry Ducrest * Tonow-c2c * Simone Orsi <[email protected]> * Timon Tschanz <[email protected]> * jcoux <[email protected]> * Patrick Tombez <[email protected]> * Guewen Baconnier <[email protected]> * Akim Juillerat <[email protected]>
-
- Alexey Pelykh <[email protected]>
-
- Son Ho <[email protected]>
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/connector-jira project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.