how to ceate an auto increment custom field on jira

taher shili June 8, 2017

I want to create an custom field wher it will be auto increment Exemple :

when the statut is Reopen this custom field = custom field +1

3 answers

4 votes
Daniel Yelamos [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 8, 2017

Hello Tasher.

This is an incoming feature that is almost ready to be released, is is named "Canned Scripted Fields" and as I said, it will be out shortly as an out of the box script. However, if you are in a hurry here is a custom script,  Steven Cheesley kindly helped customising the initial script so that it would work in a custom scripted field

Here is the code:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.history.ChangeItemBean

def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()

def status = "In Progress"

def count = 0
// ::.. Check the state changes that have occurred ..::
def changeItems = changeHistoryManager.getChangeItemsForField(issue, "status")
changeItems.each { ChangeItemBean item ->
    // Do all the froms and then get the current state and add it to the count
    if (item.fromString in status) 
     count++
}

//::.. Check the current state ..::
if (issue.getStatus().name in status) 
 count++
return count ? count as Integer : null
    

Here is the custom field config, which is relatively simple:

Screen Shot 2017-06-08 at 10.08.32.png

And as you can see in these pictures, it works:

Screen Shot 2017-06-08 at 10.06.07.pngHope this helped, good luck!

DYelamos

1 vote
Julian Abela September 19, 2017

can the script above be modified to have the counter do a +1 when a new issue of the same issue type is created please ? so as to act like a unique code for a particular issue type?

0 votes
taher shili June 8, 2017

It work :D

Thank you so much 

Daniel Yelamos [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 8, 2017

Hey Tasher, if it solved your issue, could you please kindly mark the answer as resolved?

Cheers!

 

taher shili June 9, 2017

can you help me for this code 

import com.atlassian.jira.workflow.WorkflowTransitionUtil
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl
import com.atlassian.jira.util.JiraUtils

 def currentComponents = issue.getComponents()
 
def workflowTransitionUtil = ( WorkflowTransitionUtil ) JiraUtils.loadComponent( WorkflowTransitionUtilImpl.class )
workflowTransitionUtil.setIssue(issue)
workflowTransitionUtil.setUserkey(currentUser.name)

for (c in currentComponents) {
 if (c.getName() == "NEW URL") {
  workflowTransitionUtil.setAction(191)
 }
 else {
  workflowTransitionUtil.setAction(181)
 }
}
 
workflowTransitionUtil.validate()
workflowTransitionUtil.progress()

I want to verify the component choose and choose if issue will be open or closed or assigned 

Suggest an answer

Log in or Sign up to answer