This patch allows the user to store a URL or a comma-separated list of words to
specify the possible labels for the JIRA connector.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
JIRA issues code is not editable in the WBS and it shouldn't be editable in the
task edition pop-up either.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
When you enter in the edition of a task in the WBS, if the task is a JIRA issue,
when you come back to the WBS LibrePlan was trying to update the code column,
however this column doesn't exist for JIRA issues as we're using a link.
Fixed that to avoid an exception in this situation.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
If the comment length is lower than the max length of the DescriptionField, then
it's not needed to truncate it.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
In order to avoid exceptions accessing to an URL, the calls to WebClient.create
have been enclosed into try/catch statements, logging the exception and showing
an appropriate message to the user.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
This reverts commit f3bec8193f.
Because of it was causing some issues:
* The WBS was not loaded properly after synchronization
* WorkReports cannot be saved as the order elements where not saved yet
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
As we know that the predefined WorkReportType will only have 1 DescriptionValue,
we can take advantage of this to simplify the code.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
The code was being generated in 2 parts, first for the query and then to be set.
As in other cases if the WorkReportLine is found by code, we don't need to set
it again. So the part related to manage the code has been moved close to the
query and only set for newly created objects.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
* The predefined type will have a line description value to store comments in
each line.
* As for the case of personal timesheets the new type will be hidden for the
users in the list of timesheets templates.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
User should be able to do not save if he is not happy with the result of the
JIRA importation.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
* A new method isJiraIssue has been added to OrderElement checking if the code
uses the JIRA prefix or not.
* The method Util.bind has been removed as it was specific of this link and only
used in one place.
* To calculate issue code for the link it has been used StringUtils.removeStart.
TODO: Pending to disable hours in WBS if the task is a JIRA issue.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Some tests only passes if you have a JIRA server installed, as it's not
something mandatory to run LibrePlan, these tests are ignored by default.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
In order to simply code of JiraSyncInfo it has been used the method
Collections.unmodifiableList. Moreover, the type of syncFailedReasons has been
changed to List to make it easier.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
* Extracted paths for JIRA REST API to constants.
* Code simplification:
* Use StringUtils.split
* Use Collections.singletonList
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
* Extract save part to a separated method as syncJiraTimesheetWithJiraIssues
doesn't deal with workReportModel and it could cause misunderstandings.
* Move some parts just needed for newly created objects inside the ifs.
* Use properly EffortDuration to create a new one from seconds.
* Avoid find in another transaction as transaction is already opened.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
* Renamed PersonalTimesheetsTypeOfWorkHoursBootstrap to
ConfigurationTypeOfWorkHoursBootstrapa in order to set up TypeOfWorkHours for
both personal timesheets and Jira connector.
* Modified ConfigurationBootstrap to ensure that the JiraConfiguration is
created properly.
* Removed unneeded code in ConfigurationModel.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
* The new field is added in JiraConfiguration similar to field
Configuration.personalTimesheetsTypeOfWorkHours.
* Added required bits for Hibernate mapping and Liquibase database changes.
* Modified Jira connector configuration UI to include the new field.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Different stuff has been fixed in the method:
* Some parts were moved inside the ifs, as they were only needed for newly
created entities.
* Some unneeded lines were removed:
* directAdvanceAssignment.setOrderElement as this is already done by
orderElement.addAdvanceAssignment.
* advanceMeasurement.setAdvanceAssignment as this is already done by
directAdvanceAssignment.addAdvanceMeasurements.
* The progress PERCENTAGE is marked as spread to make sure that the task appears
as finished.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Estimated hours are now calculated using the following formula:
* If there're remaining hours:
Estimated hours = Remaining estimated hours + Logged hours
* Otherwise:
Estimated hours = Original estimated hours
Moreover the calculation is done now just once, and after the logged hours one.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
EffortDuration already provide methods to convert seconds in hours and to divide
EffortDuration values.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
There was a cast without checking if the OrderElement was or not a line, so it
could cause exceptions in some cases.
On the other hand the OrderLine gotten or created in
JiraOrderElementSynchronizer.syncOrderLine is used in the next methods too.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Extracts JiraConfiguraion to a variable and uses it to get the data. This will
do only 1 database query.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
JiraOrderElementSynchronizer.getAllJiraLabels() is marked as transactional, so
getConfiguration() is enough.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
As the same prefix is used in several files it has been defined as a constant in
JiraConfiguration.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Include link to JIRA issue in
org.libreplan.importers.IJiraOrderElementSynchronizer.getAllJiraLabels().
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Missing protected constructor in order to avoid wrong usage of the class (maybe
someone could try to do "new JiraConfiguration()" instead of
JiraConfiguration.create()).
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
When order elements of an existing order are synchronized for an specified label, the specified
label will be stored in order_table. This is to prevent that different labels being imported for
the specified order
At this moment Jira Webservice doesn't support get Jira labels. This is a workaround
for getting jira labels. The php script gets all distinct labels from jira database