Assets And Inventory plugin offers flexible post functions to update asset objects with JIRA workflows. If postfunction fails to execute, it will be ignored and logged.
1- [AIP] - Update Asset workflow post function
Add "[AIP] - Update Asset workflow postfunction" to the workflows to update an asset object on transition.
Please put the post function in the middle; after issue updates and before GenerateChangeHistoryFunction and Re-index post functions.
Parameters
Paramater | Description |
---|---|
Condition | Groovy script for the post function condition. Function must return true or condition must be empty to pass. If condition fails post function will be ignored. |
Target Asset custom fields | Specify the custom field to update assets. Leave it blank to update all Asset custom fields. |
Default groovy script | This is the default script to be executed for the options that has no specific groovy script. Type script returning the value to update asset attribute, e.g return issue.summary |
Attributes to be updated (one or more) | Form: Define specific Form or select "Any form" to update the assets having the attribute. Attribute: Target attribute to set it's value |
Groovy Scripts to execute (one for each attribute definition) | There 2 options to use as source value:
JIRA Custom field value will be added later as 3rd value source. |
Context parameters for Groovy Scripts
Please see Sample Groovy Scripts for more examples.
Sample Post Function configuration page
You can add multiple post functions or multiple attributes for one post function.
Groovy examples for Asset Attribute Types
Attribute Type | Groovy example | Description |
---|---|---|
CheckboxList | return "@@@ada@@@@@@ist@@@" | Return valid option values wrapped with three @ characters. i.e: @@@ada@@@@@@ist@@@ For a single option value no need to wrap with @ characters. |
DatePicker | import java.time.* LocalDateTime t = LocalDateTime.now(); return (t as String) | Result must be in ISO format ("yyyy-MM-dd"), i.e: "2018-12-26". You do not need to do formatting if you use LocalDateTime class as it returns in ISO format by default. |
DateTimePicker | import java.time.* LocalDateTime t = LocalDateTime.now(); return (t as String) | Result must be in ISO format ("yyyy-MM-ddTHH:mm"), i.e: "2018-12-26T20:20". You do not need to do formatting if you use LocalDateTime class as it returns in ISO format by default. If you need to format a date to string, use the format as: "yyyy-MM-dd'T'HH:mm" (Please notice extra single quotes!) |
DropdownList | return "ada" | Return a valid option value. |
InventoryList | return "3" | Return reference asset ID |
InventoryListByForm | return "10" | Return reference asset ID |
IP | return "10.0.0.2" | Any text is possible, there is no format control. |
IPv6 | return "2001:0db8:85a3:0000:0000:8a2e:0370:7334" | Any text is possible, there is no format control. |
ListBox | return "izm" | Return a valid option value. |
ListBoxMultiple | return "@@@ada@@@@@@ist@@@" | Return valid option values wrapped with three @ characters. i.e: @@@ada@@@@@@ist@@@ For a single option value no need to wrap with @ characters. |
RadioButtonList | return "ist" | Return a valid option value. |
Text | return issue.summary | Any text is possible. |
TextArea | return issue.description | Any text is possible. |
URL | return "http://www.snapbytes.com/" | Any text is possible, there is no format control. |
UserPicker | return issue.reporter.username | Any text is possible, there is no control. You may use issue.reporter.username or issue.assignee.username |
Another post function example for All Attribute types
You can update all fields of an attribute in one post function.