Snippets

Adaptavist IncrementNumberFieldPostFunction

Created by Kristian Walker last modified
/*
 * "This script post function script provides an example script of how to increment a number custom field by 1. 
 * All right, title and interest in this code snippet shall remain the exclusive intellectual property of Adaptavist Group Ltd and its affiliates. Customers with a valid ScriptRunner 
 * license shall be granted a  non-exclusive, non-transferable, freely revocable right to use this code snippet only within their own instance of Atlassian products. This licensing notice cannot be removed
 * or amended and must be included in any circumstances where the code snippet is shared by You or a third party." 
 */
 
 // Get the issue key
def issueKey = issue.key

// Get the custom fields
def customFields = get("/rest/api/2/field")
        .asObject(List)
        .body
        .findAll { (it as Map).custom } as List<Map>
        
// Get the id of the Number custom field that is to be updated. 
// Note the <CustomFieldNameHere> text should be replaced by the name of the Number type custom field.
def numberCustomField = customFields.find { it.name == '<CustomFieldNameHere>' }?.id

// Get the initail value for the number field as an integer
def numberCustomFieldValue = issue.fields[numberCustomField] as Integer 

// Add 1 to the initail value for the number field
def incrementedNumberCustomFieldValue = numberCustomFieldValue +1

// Update the issue with the new value for the number field
def result = put("/rest/api/2/issue/${issue.key}") 
    .header("Content-Type", "application/json")
    .body([
        fields:[
                (numberCustomField): incrementedNumberCustomFieldValue
        ]
    ])
    .asString()

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.