Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Get/set Date field value using behavior in jira

Dharnesh February 11, 2021

Hi Experts

Need help.....!

Using behavior script- trying to achieve below

Need to Get value of Custom date field and then need set new value(10 days from the date selected in custom field) in Due Date field.

For example 
Custom field Datefield selected as 26/Feb/2021
The in DUE DATE, need to set (10+(datefield Value)). So due date would be 7/Mar/2021

Can please help with logic and script.

 

1 answer

0 votes
Burak Kaya
Contributor
February 21, 2021

Hi there,

You may use the script below;

Please do not forget to change the cf ID and username for the operation before use it.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.core.util.DateUtils
import com.atlassian.jira.security.JiraAuthenticationContext
import com.atlassian.jira.user.ApplicationUser
import java.text.SimpleDateFormat

import groovy.transform.BaseScript

@BaseScript FieldBehaviours fieldBehaviours

def issueManager = ComponentAccessor.getIssueManager()
def issue = underlyingIssue
def customFieldManager = ComponentAccessor.getCustomFieldManager()

MutableIssue mTarget = (MutableIssue) issue

JiraAuthenticationContext authContext = ComponentAccessor.getJiraAuthenticationContext()
authContext.setLoggedInUser(ComponentAccessor.getUserManager().getUserByName("admin")) //type username for change operation
ApplicationUser automationUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

def dateFieldCF = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_11998") //type cf id of the date field
def dateFieldValue = issue.getCustomFieldValue(dateFieldCF).toString()
def newDate = new SimpleDateFormat("dd.MM.yyyy").format(dateFieldValue).plus(10)

mTarget.setCustomFieldValue(dateFieldCF, newDate)
issueManager.updateIssue(automationUser, mTarget, EventDispatchOption.DO_NOT_DISPATCH, false)

Best Regards,
Burak

Dharnesh March 1, 2021

Hi @Burak Kaya 

don't see in above code trying to set date for DUE Date -> System Field

Below is for example 
Custom field ABC (Type - Date Field) selected as 26/Feb/2021
The in DUE DATE, need to set (10+(datefield Value)). So due date would be 7/Mar/2021

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, confluence administration, confluence admin training, confluence learning path, manage users and permissions, confluence certification, atlassian learning, cloud admin tools, streamline collaboration, confluence admin best practices

🚨New Confluence Admin Course Alert!

Manage Confluence like never before! This new learning path teaches you how to manage content, users, and permissions while optimizing user experience. Built for admins at all levels who want to confidently lead and unlock more innovative collaboration.

Learn more
AUG Leaders

Atlassian Community Events