setOriginalEstimate

Hello, community!

 

(JIRA 6.1.7)

 

I try to get value from customfield and copy value of it to autocreated linked issue:

 

customLaborCosts = cfm.getCustomFieldObject("customfield_10901")

issueObject.setOriginalEstimate(customLaborCosts.getValue(issue));

 

 

Customfield_10901 it is a text field, so i imagine that it is a string object. In the desscription of setOriginalEstimate i see two variants (for Long and for String).

https://docs.atlassian.com/jira/6.1.7/com/atlassian/jira/issue/IssueInputParameters.html#setOriginalEstimate%28java.lang.String%29

But when i try to call script then it return:

root cause: Traceback (most recent call last): File "e:\jira\jira617wd\jss\jython\workflow\createLinkedIssue.jy", line 57, in <module> issueObject.setOriginalEstimate(customLaborCosts.getValue(issue)); TypeError: setOriginalEstimate(): 1st arg can't be coerced to java.lang.Long

 

How can i copy value to new issue? The other functions are working fine.

The entire script listing is:

 

# -*- coding: UTF-8 -*-
from com.atlassian.jira.util import ImportUtils
from com.atlassian.jira import ManagerFactory
from com.atlassian.jira.issue import MutableIssue
from com.atlassian.jira import ComponentManager
from com.atlassian.jira.issue.link import DefaultIssueLinkManager
from org.ofbiz.core.entity import GenericValue;
from com.atlassian.jira.issue.fields import CustomField
#from java.util import Locale
from com.atlassian.jira.issue import CustomFieldManager
from sys import exit

if (issue.getIssueTypeId() != "10000" and issue.getIssueTypeId() != "7" and issue.getIssueTypeObject().getName() != "Request"):

    # get issue objects
    issueManager = ComponentManager.getInstance().getIssueManager()
    
    issueLinkManager = ComponentManager.getInstance().getIssueLinkManager()
    issueFactory = ComponentManager.getInstance().getIssueFactory()
    authenticationContext = ComponentManager.getInstance().getJiraAuthenticationContext()
    #subTaskManager = ComponentManager.getInstance().getSubTaskManager();
    issueLinkManager = ComponentManager.getInstance().getIssueLinkManager()
    customFieldManager = ComponentManager.getInstance().getCustomFieldManager()
    userUtil = ComponentManager.getInstance().getUserUtil()
    cfm = ComponentManager.getInstance().getCustomFieldManager()

    customUserField = cfm.getCustomFieldObject("customfield_10403")
    testerFieldValue = issue.getCustomFieldValue(customUserField)
    
    customEpicField = cfm.getCustomFieldObject("customfield_10001")
    componentFieldValue = issue.getComponentObjects()
    labelsFieldValue = issue.getLabels()
    customLaborCosts = cfm.getCustomFieldObject("customfield_10901")
    
    # define subtask
    #issueObject = issueFactory.getIssue()
    #issueObject.setProject(issue.getProject())
    #issueObject.setIssueTypeId("1") # normal subtask
    #issueObject.setParentId(issue.getId())

    #define linked issue
    issueObject = issueFactory.getIssue()
    issueObject.setProject(issue.getProject())
    issueObject.setIssueTypeId("10000") # issue type Test
    issueObject.setParentId(issue.getId())

    # set subtask attributes
    issueObject.setFixVersions(issue.getFixVersions())
    issueObject.setAffectedVersions(issue.getAffectedVersions())
    issueObject.setPriority(issue.getPriority())
    #issueObject.setSummary("Auto created sub task- "+issue.getSummary())
    #issueObject.setSummary("Тестировать - "+issue.getKey().replace("-","--"))
    issueObject.setSummary("Тестировать - "+issue.getKey()+"/"+issue.getSummary())
    issueObject.setCustomFieldValue(customEpicField, customEpicField.getValue(issue));
    issueObject.setComponentObjects(componentFieldValue)
    issueObject.setLabels(labelsFieldValue)
    issueObject.setOriginalEstimate(customLaborCosts.getValue(issue));
    
    
    listLinkIssue = issueLinkManager.getLinkCollectionOverrideSecurity(issue).getAllIssues()
    for issueLink in listLinkIssue:
        #log.info("Linked Issue: " + issueLink.getKey() + " " + issueLink.getIssueTypeObject().getName())
        if (issueLink.getIssueTypeObject().getName() == "Story"):
            issueObject.setDescription(issueLink.getKey() + " ");
    
    #issueObject.setAssignee(userUtil.getUserObject("joe"))

    if (not (testerFieldValue is None)):
        tester = userUtil.getUserObject(testerFieldValue.getUsername())
        issueObject.setAssignee(tester)

    issueObject.setReporter(authenticationContext.getLoggedInUser())

    # Create subtask on JIRA 4.x
    # subTask = issueManager.createIssue(authenticationContext.getUser(), issueObject)
    # subTaskManager.createSubTaskIssueLink(issue.getGenericValue(), subTask, authenticationContext.getUser())

    # Create subtask on JIRA 5 and higher
    #subTask = issueManager.createIssueObject(authenticationContext.getLoggedInUser(), issueObject)
    #subTaskManager.createSubTaskIssueLink(issue, subTask, authenticationContext.getLoggedInUser())
    # Create linktask on JIRA 5 and higher
    linkTask = issueManager.createIssueObject(authenticationContext.getLoggedInUser(), issueObject)
    #issueManager.createSubTaskIssueLink(issue, subTask, authenticationContext.getLoggedInUser())

    # Link parent issue to subtask 
    #issueLinkManager.createIssueLink(issue.getId(),issueObject.getId(),10003,1,issue.getAssignee())

    # Update search indexes
    wasIndexing = ImportUtils.isIndexIssues()
    ImportUtils.setIndexIssues(True)
    ComponentManager.getInstance().getIndexManager().reIndex(linkTask)
    ImportUtils.setIndexIssues(wasIndexing)

1 answer

Solved via custom field Number (it allow input value with float point).

 

    customTestingLaborCosts = cfm.getCustomFieldObject("customfield_11000")

    issueObject.setOriginalEstimate(long(customTestingLaborCosts.getValue(issue)*3600));

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Monday in Jira Software

How large do you think Jira Software can grow?

Hi Atlassian Community! My name is Shana, and I’m on the Jira Software team. One of the many reasons this Community exists is to connect you to others on similar product journeys or with comparabl...

688 views 6 13
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you