Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

return statements are optional but it makes script more readable.

Get Asset's Attribute value

Code Block
return aipUtils.getAttributeValueAsStringByName(asset, 'Quantity');

Result: 40


Get Asset's Multiple Value Attribute values by name as List

Code Block
import inventoryplugin.entity.JipInventoryItem;
import org.apache.commons.lang3.StringUtils;

String getMultipleValues() {
    def result = '';
    def cityList = aipUtils.getMultiAttributeValueAsListByName(asset, 'Cities ListBox Multiple');
  	for (String city : cityList) {
      result += city + ', '
    }
    return result;
}
return getMultipleValues();
Result: New York, London,



Get Asset's Multiple Value Attribute values by ID as List

Code Block
import inventoryplugin.entity.JipInventoryItem;
import org.apache.commons.lang3.StringUtils;

String getMultipleValues() {
    def result = '';
    def cityList = aipUtils.getMultiAttributeValueAsListById(asset, 63);
  	for (String city : cityList) {
      result += city + ', '
    }
    return result;
}

return getMultipleValues();

Result: New York, London,


Get Asset's Attribute values by asset object in a loop

Script:

Code Block
import inventoryplugin.entity.JipInventory
import inventoryplugin.entity.JipInventoryItem

def result = ""
result = result + "\n" + "Asset name: " + asset.getName()
result = result + "\n" + "Form name: " + asset.getForm().getFormName()
result = result + "\n" + "Attachments details: " + asset.getAttachments()
result = result + "\n" + "Creator: " + asset.getCreator()
result = result + "\n" + "Create time: " + asset.getCreated()

// attributes of asset
for(JipInventoryItem inventoryItem: asset.getInventoryItems()){
  // For the demo, we append all values to the Text area, so we skip TextArea attribute type values.
  if(inventoryItem.getFormAttribute().getAttribute().getAttributeType() != 'TextArea'){
    result = result + "\n" + inventoryItem.getFormAttribute().getAttribute().getAttributeName() + 
      ": " + inventoryItem.getValue()
  }
}

return issue.description + "\n" + result

...

Code Block
*Creating Quick Filters* You can add your own Quick Filters in the board configuration (select *Board > Configure*)

Asset name: My second asset 001
Form name: All type of attributes form
Attachments details: [ {
    "originalFileName" : "arizona-asphalt-beautiful-490466.jpg",
    "serverFileName" : "51408_08610_1546431401755.jpg",
    "fileSize" : "1 MB",
    "created" : "02/Jan/19 2:16 PM",
    "creator" : "admin"
} ]
Creator: admin
Create time: 2018-12-11 13:30:05.124
 
Attribute name: field value
----------------------------------
CheckboxList Field: bal
City: izm
Cities: ist, ada
RadioCities: ist
InventoryList (All Assets List): 3
InventoryListByForm (Assets List By Form(s)): 10
City as DropdownList Field: ada
Purchase Date: 02.01.19
Assign DateTime: 02.01.19 15:16
Device IP: 10.0.0.2
Device IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Some Free Text: As a user, I can find important items on the board by using the customisable "Quick Filters" above >> Try clicking the "Only My Issues" Quick Filter above
A great URL example: http://www.snapbytes.com/
Assigned User: admin(admin)

 

Get "Text Field" JIRA custom field value

Script

Code Block
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor
 
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cField = customFieldManager.getCustomFieldObject("customfield_11000")
def cFieldValue = issue.getCustomFieldValue(cField).getValue()
  
return cFieldValue

Result: Los Angeles

Get "Select List (single choice)" or  "Radio Buttons" JIRA custom field value

Script

Code Block
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor
 
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cField = customFieldManager.getCustomFieldObject("customfield_11000")
def cFieldValue = issue.getCustomFieldValue(cField).getValue()
  
return cFieldValue

Result: Los Angeles

 

Get "Select List (multiple choices)" or "Checkboxes" JIRA custom field values

Script

Code Block
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor
 
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cField = customFieldManager.getCustomFieldObject("customfield_11001")
def cFieldValue = issue.getCustomFieldValue(cField)

def cityNameList = new ArrayList<String>()
for(String cityName: cFieldValue){
    cityNameList.add(cityName)
}
return String.join(", ", cityNameList)

...

 Result: Los Angeles, San Francisco

 

Get old and new status name of transitioned issue

Code Block
return originalIssue.getStatus().getSimpleStatus().getName() + " -> " + issue.getStatus().getSimpleStatus().getName()

Result: To Do -> In Progress

 

Get resolution of transitioned issue

Please note that getResolution may be null for unresolved issues. 

...

Code Block
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor

def anotherIssue = ComponentAccessor.getIssueManager().getIssueObject("SB-146")
return anotherIssue.getResolution() != null ? anotherIssue.getResolution().getName(): "Not resolved"

Result: Done

Get Created/Updated Date of an issue

If you want to assign a date or dateTime asset attribute, value must be in ISO time format, i.e: 2018-11-06T10:24:37.513

...

Result: 2018-11-06T10:24:37.513

 

Get Reporter/Assignee user name of an issue

If you want to assign a date or dateTime asset attribute, value must be in ISO time format, i.e: 2018-11-06T10:24:37.513

...

Code Block
import java.time.*  
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor

def anotherIssue = ComponentAccessor.getIssueManager().getIssueObject("SB-146")
return anotherIssue.reporter.username // or "anotherIssue.assignee.username"

Result: marla

 

Get Current datetime

If you want to assign a date or dateTime asset attribute, value must be in ISO time format, i.e: 2018-11-06T10:24:37.513

...