Hello together,
I want to build a sum of a customfield with date format and a customfield with double format (count of days).
I want to build a sum of both which should be in date format. So I only want to add value of the double formatted field to the customfield with date format.
How is this possible?
Thank you guys.
Hi @Tobias
For your requirement, I would suggest using the Scripted Field. The Scripted Field can be used to perform the calculation of the Date custom field with the Number field and provide the output, i.e. the new date in date format.
You can follow the steps below to create it.
First, add two custom fields, one for the Date field and one for the Number field, as shown in the print screen below:-
Next, go to ScriptRunner's Fields option and click on the Create button as shown below:-
Once you have clicked on the create button, select the Custom Script Field as shown in the image below:-
After you have selected the Custom Script Field option, you will need to provide a Field Name for it and also select the Template to Date as shown below:-
Now, you will need to include the Script. Below is a sample script for your reference:-
import com.atlassian.jira.component.ComponentAccessor
def customFieldManager = ComponentAccessor.customFieldManager
def originalDate = customFieldManager.getCustomFieldObjectsByName("Original Date")[0]
def originalDateValue = originalDate.getValue(issue) as Date
def additionalDays = customFieldManager.getCustomFieldObjectsByName("Additional Days")[0]
def additionalDaysValue = additionalDays.getValue(issue) as Integer
return (originalDateValue + additionalDaysValue) as Date
Please note, this sample script is not 100% exact to your environment. Hence, you will need to make the required modifications.
Below is a print screen of the Scripted Field with the code:-
After adding the code, you can save it.
Below are some print screens of a test:-
For this example, the Original Date selected is 14th May 2021 and the Additional days entered are 7, so the expected result in the Scripted Field is 21st May 2021.
In the print screen above, the Updated Date, i.e. the Scripted Field, is set to 21st May 2021 as expected.
I hope this helps to answer your question. :)
Thank you and Kind regards,
Ram
Hi @Ram Kumar Aravindakshan _Adaptavist_
thanks for your reply.
This looks really good for calculating with days.
In my case I had to calculate with months and I also want to share my source code with you.
import org.apache.commons.lang.time.DateUtils
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue;
def cfIntervall = ComponentAccessor.customFieldManager.getCustomFieldObject(13022)
def cfFreigabe = ComponentAccessor.customFieldManager.getCustomFieldObject(15024)
if (cfIntervall && cfFreigabe && issue.getCustomFieldValue(cfIntervall) && issue.getCustomFieldValue(cfFreigabe))
{
def intMonths = issue.getCustomFieldValue(cfIntervall) as Integer;
def newRevision=DateUtils.addMonths((Date) cfFreigabe.getValue(issue),intMonths)
return newRevision
}
else
{
return null;
}
Maybe someone has the same problem like me.
But thank you for your reply, works also.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.