stable

Clone or download

Read-only

Start async creation of tracker from Jira

In order to create a tracker from a Jira server, we need to make a bunch of REST calls to this server. Depending on the workload of the server, the number of issues to import, … it may takes too many time (either the request or the user can give up). This commit is an introduction for the full asynchronous process: * The jira information are stored in the database (token is stored symmetrically encrypted so that we can reuse it later) * The user is redirected to the list of all trackers * A feedback is displayed for tracker admins to warn them that there are pending trackers creation * It is not possible to create a tracker with same names than the Jira pending ones (old & new UI). That's all. The tracker will not be created for now. Next steps: - A cleanup will be done in database to remove pending jira that was not processed. - A background job will be introduced to consume the pending jira imports. This is hidden behind a feature flag. Please issue the following command in order to use it: tuleap config-set asynchronous_jira_creation 1 Reminder: with this setting, the tracker **will not be created**, it is here only for testing purpose. Part of story #14766: Have an import from jira structure Change-Id: I519ed6482dd313b893941caa38cb6e8562e473fa

Modified Files

Name
M plugins/tracker/db/install.sql +18 −0 Go to diff View file
A plugins/tracker/db/mysql/updates/2020/202005121219_create_jira_import_table.php +65 −0 Go to diff View file
A plugins/tracker/include/Tracker/Creation/JiraImporter/AsyncJiraScheduler.php +82 −0 Go to diff View file
A plugins/tracker/include/Tracker/Creation/JiraImporter/PendingJiraImportDao.php +91 −0 Go to diff View file
A plugins/tracker/include/Tracker/Creation/OngoingCreationFeedbackNotifier.php +99 −0 Go to diff View file
M plugins/tracker/include/Tracker/Creation/TrackerCreationDataChecker.php +15 −5 Go to diff View file
M plugins/tracker/include/Tracker/Creation/TrackerCreationPresenterBuilder.php +12 −0 Go to diff View file
M plugins/tracker/include/Tracker/Creation/TrackerCreationProcessorController.php +44 −6 Go to diff View file
M plugins/tracker/include/Tracker/Creation/TrackerCreator.php +2 −0 Go to diff View file
M plugins/tracker/include/Tracker/TrackerManager.class.php +8 −8 Go to diff View file
M plugins/tracker/include/trackerPlugin.php +7 −1 Go to diff View file
M plugins/tracker/site-content/fr_FR/LC_MESSAGES/tuleap-tracker.po +15 −1 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Creation/JiraImporter/AsyncJiraSchedulerTest.php +85 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Creation/OngoingCreationFeedbackNotifierTest.php +201 −0 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Creation/TrackerCreationDataCheckerTest.php +75 −3 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Creation/TrackerCreationPresenterBuilderTest.php +24 −5 Go to diff View file