...
Which Work Items are Updated
Identical to the Validate Work Items Gate, the Update Work Items Step offers 3 options or selectors for choosing which Work Items should be updated. Please refer to the Gate documentation for an in-depth look at how each Selector works and when to use one vs another.
...
Info |
---|
Attachments in comments If the step is both adding attachments and comments to the Work Items, then the attachments will be included in the comment itself. Note that not all Issue Tracking Systems support attachments in comments (see table at the bottom), in which case they will still be attached directly to the Work Item. |
...
Since each Work Item may have multiple executions with multiple plugin steps and reports, you can optionally zip all attachments for the Work Item and only upload the single zip file.
Updating the Status
The status of each Work Item can be changed by specifying a status in the Status field. There are 3 options for specifying a status:
Literal Text - The default, each Work Item will attempt to have its status changed to the text value provided here. This is the easiest and simplest approach if all of your Work Items allow the same statuses.
Groovy Expression (String/Text) - A Groovy expression can be used for more dynamic behavior. When using a Groovy Expression you can return a simple string or text that will be used for each Work Item.
Groovy Expression (Map) - The most advanced option but also the most dynamic. The Groovy script can should return a map of
[workItemNumber: new_status]
. This is most useful if you need to assign different statuses based on the Work Item. When using a Groovy script their There is an exposed variableWorkItems
that contains all Work Items considered for update. The below script is an example that assigns different statuses depending upon the prefix of the Work Item Number.
...
Issue Tracking System | Supports Comments | Supports Markdown Comments | Supports Attachments | Support Attachments in Comments |
---|---|---|---|---|
Flex ITS |
|
|
|
|
Jira |
|
|
|
|
Azure Boards |
|
|
|
|
GitLab |
|
|
|
|
GitHub |
|
|
|
|
FAQ and Common Issues
class org.codehaus.groovy.runtime.GStringImpl cannot be cast to class java.lang.String
This can occur if you are using Groovy’s GString feature but not calling toString
at the end of it. For example:
Code Block | ||
---|---|---|
| ||
// using ${variable} inside a quoted "" string is what is known as GString in groovy
def message = "Work Item deployed to ${stgexec.getEnvironmentCode()}"
// the following line will produce a GStringImpl cannot be cast error
result.put(workItem.getKey(), message)
// alter it to the following
result.put(workItem.getKey(), message.toString()) |