...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Background ...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Workflow Condition/Post-Functions(JSU) JSU Cloud post-functions are more powerful with its Related Issues, Perform as a different user and many other functionalities.
...
Workflow Name
...
JSU Cloud Module-Key
...
JSU Server Module-Key
...
Conditions
...
User Is In Any Users (JSU)
...
How to fix the workflows You can do one of the following to fix your migrated workflows:
Reconfigure the affected workflow modules with the ones from JSU, then remove the broken ones. This is the safest way to do it but can be tedious.
Export XML workflows, modify, and import again.
Modify the workflows directly in the database - if you have the required knowledge. It's efficient but with more risk.
Workflow conditions/post functions(JSU) Workflow Name
JSU Cloud Module-Key
JSU Server Module-Key
Conditions
User Is In Any Users (JSU)
com.atlassian. plugins.atlassian-connect-plugin:com.googlecode.
jira-suite-utilities__userisinanyusers-condition
com.googlecode.jsu.workflow.condition.userisinanyusers-condition
Post
...
Functions
Clear Field Value (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__clearFieldValue-function
com.googlecode.jira-suite-utilitiesclearFieldValue-function
Copy Value From Other Field (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__copyValueFromOtherField-function
com.googlecode.jira-suite-utilitiescopyValueFromOtherField-function
Copy or Move Attachments (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__copymoveattachments-function
com.googlecode.jira-suite-utilitiescopymoveattachments-function
Create a Linked Issue (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__createlinkedissue-function
com.googlecode.jira-suite-utilitiescreatelinkedissue-function
Follow Up Transition (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__followuptransition-function
com.googlecode.jira-suite-utilitiesfollowuptransition-function
Linked Transition (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__linkedtransition-function
com.googlecode.jira-suite-utilitieslinkedtransition-function
Update any Issue Field (JSU)
com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__updateanyissuefield-function
com.googlecode.jira-suite-utilitiesupdateIssueCustomField-function
Mapping between JSU Cloud ...
and JSU Server The following
...
table contains all the attributes which need to be mapped between the JSU Cloud and JSU Server
...
workflow functionality.
Post ...
function mapping : Clear Field Value (JSU) Arg Name: JSU Cloud
Arg Name: JSU Server
Example
Code Block <function type="class">
<arg name="class.name">com.atlassian.plugin.connect.jira.workflow.RemoteWorkflowPostFunctionProvider</arg>
<arg name="full.module.key">com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__clearFieldValue-function</arg>
<arg name="remoteWorkflowPostFunctionConfiguration">
{"preconditions":[],
"preconditionAwareFunctionMode-textValue":"TRUE",
"field":"assignee",
"jsuCloudWorkflowParamsVersion-textValue":"2.8.0",
"scopeType":"SAME",
"source-scopeTarget":"ISSUE_IN_TRANSITION",
"destination-scopeTarget":"ISSUE_IN_TRANSITION",
"runAsUser-user":"qm:c14a3779-f1ba-496f-a5ef-dbb4ab1928f4:e5e9400a-0c77-440a-aa18-fbb585fbd6e8"}</arg>
<arg name="remoteWorkflowPostFunctionUUID">9dfcbdb2-7738-429c-9af4-e0a4b9490f9a</arg>
</function>
Example
Code Block <function type="class">
<arg name="scopeSource-linkEnd"></arg>
<arg name="maxAllowed-integerValue"></arg>
<arg name="runAsUser-user">admin</arg>
<arg name="field">assignee</arg>
<arg name="scopeType">SAME</arg>
<arg name="destination-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitiesclearFieldValue-function</arg>
<arg name="scopeDestination-linkEnd"></arg>
<arg name="preconditionAwareFunctionMode-textValue">ALWAYS</arg>
<arg name="jsuWorkflowParamsVersion-textValue">2.23.3-SNAPSHOT</arg>
<arg name="source-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="scopeDestination-jql"></arg>
<arg name="class.name">com.googlecode.jsu.workflow.function.ClearFieldValuePostFunction</arg>
<arg name="scopeSource-jql"></arg>
</function>
Post ...
function mapping : Copy Value From Other Field (JSU) Arg Name: JSU Cloud
Arg Name: JSU Server
Example
Code Block <function type="class">
<arg
name="class.name">com.atlassian.plugin.connect.jira.workflow.RemoteWorkflowPostFunctionProvider</arg>
<arg name="full.module.key">com.atlassian.plugins.atlassian-connect-
plugincom.googlecode.jira-suite-utilities__copyValueFromOtherField-function</arg>
<arg name="remoteWorkflowPostFunctionConfiguration">
{"preconditions": [],
"preconditionAwareFunctionMode-textValue":"TRUE",
"field.copyFieldSource1":"assignee",
"field.copyFieldDestination1":"customfield_10003",
"field.copyFieldMode1":"OVERWRITE",
"field.copyFieldSeparator1":"",
"field.createTargetValue1":false,
"jsuCloudWorkflowParamsVersion-textValue":"2.8.0",
"scopeType":"SAME",
"source-scopeTarget":"ISSUE_IN_TRANSITION",
"destination-scopeTarget":"ISSUE_IN_TRANSITION",
"runAsUser-user":""}
</arg>
<arg name="remoteWorkflowPostFunctionUUID">0e286a2f-b587-4432-8806-be35175e92a1</arg>
</function>
Example
Code Block <function type="class">
<arg name="field.copyFieldSource2"></arg>
<arg name="field.copyFieldSource1">assignee</arg>
<arg name="scopeSource-linkEnd"></arg>
<arg name="maxAllowed-integerValue"></arg>
<arg name="field.createTargetValue1"></arg>
<arg name="runAsUser-user"></arg>
<arg name="field.copyFieldMode1">OVERWRITE</arg>
<arg name="field.copyFieldDestination1">customfield_11100</arg>
<arg name="field.copyFieldSeparator1"></arg>
<arg name="scopeType">SAME</arg>
<arg name="destination-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitiescopyValueFromOtherField-function</arg>
<arg name="scopeDestination-linkEnd"></arg>
<arg name="jsuWorkflowParamsVersion-textValue">2.23.3-SNAPSHOT</arg>
<arg name="preconditionAwareFunctionMode-textValue">ALWAYS</arg>
<arg name="source-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="scopeDestination-jql"></arg>
<arg name="class.name">com.googlecode.jsu.workflow.function.CopyValueFromOtherFieldPostFunction</arg>
<arg name="scopeSource-jql"></arg>
</function>
Post ...
function mapping : Create a Linked Issue (JSU) Arg Name: JSU Cloud
Arg Name: JSU Server
Example
Code Block <function type="class">
<arg name="class.name">com.atlassian.plugin.connect.jira.workflow.RemoteWorkflowPostFunctionProvider</arg>
<arg
name="full.module.key">com.atlassian.plugins.atlassian-connect-
plugincom.googlecode.jira-suite-utilities__createlinkedissue-function</arg>
<arg name="remoteWorkflowPostFunctionConfiguration">
{"preconditions":[],
"preconditionAwareFunctionMode-textValue":"TRUE",
"currentProjectType":"SAME",
"currentProjectId":"-2",
"currentIssueTypeId":"10006",
"runAsUser-user":"",
"jsuCloudWorkflowParamsVersion-textValue":"2.8.0",
"subFunctions":[],
"scopeType":"NONE",
"source-scopeTarget":"ISSUE_IN_TRANSITION",
"destination-scopeTarget":"ISSUE_IN_TRANSITION",
"field.attachmentEnablingCustomFieldId":"ALWAYS",
"field.existingAttachmentEnablingCustomFieldId":"ALWAYS",
"transitionAttachmentsOperation":"copy"}
</arg>
<arg name="remoteWorkflowPostFunctionUUID">a27f8e4f-f1a0-4e01-9199-057d34df07ee</arg>
</function>
Example
Code Block<function type="class">
<arg name="field.existingAttachmentEnablingCustomFieldId"></arg>
<arg name="scopeSource-linkEnd"></arg>
<arg name="targetIssueTypeDefinedByCfSelection"></arg>
<arg name="issueTypeId">1</arg>
<arg name="scopeType">NONE</arg>
<arg name="jsuWorkflowParamsVersion-textValue">2.23.3-SNAPSHOT</arg>
<arg name="source-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="field.attachmentEnablingCustomFieldId"></arg>
<arg name="targetIssueType">SELECTED_ISSUE_TYPE</arg>
<arg name="scopeSource-jql"></arg>
<arg name="createIssueAsUser-user"></arg>
<arg name="field.copyTransitionComment">false</arg>
<arg name="targetProjectType">SAME</arg>
<arg name="maxAllowed-integerValue"></arg>
<arg name="transitionAttachmentsOperation">copy</arg>
<arg name="field.issueAssignTo">ASSIGN_TO_ASSIGNEE</arg>
<arg name="targetProjectSelectedCustomField"></arg>
<arg name="destination-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitiescreatelinkedissue-function</arg>
<arg name="scopeDestination-linkEnd"></arg>
<arg name="field.enablingCustomFieldId"></arg>
<arg name="preconditionAwareFunctionMode-textValue">ALWAYS</arg>
<arg name="scopeDestination-jql"></arg>
<arg name="subFunctions">[]</arg>
<arg name="class.name">ch.beecom.jira.jsu.workflow.function.createlinkedissue.CreateLinkedIssueFunction</arg>
<arg name="projectId">10500</arg>
</function>
Post ...
function mapping : Linked Transition (JSU) Arg Name: JSU Cloud
Arg Name: JSU Server
Example
Code Block<function type="class">
<arg name="class.name">com.atlassian.plugin.connect.jira.workflow.RemoteWorkflowPostFunctionProvider</arg>
<arg name="full.module.key">com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__linkedtransition-function</arg>
<arg name="remoteWorkflowPostFunctionConfiguration">
{"preconditions":[],
"preconditionAwareFunctionMode-textValue":"TRUE",
"runAsUser-user":"",
"status":"",
"statusName":"",
"workflowName-textValue":"classic default workflow",
"integerValue":"2",
"textValue":"-1",
"jsuCloudWorkflowParamsVersion-textValue":"2.8.0",
"scopeType":"ISSUE_LINKING",
"source-scopeTarget":"ISSUE_IN_TRANSITION",
"destination-scopeTarget":"LINK_END",
"scopeSource-linkEnd":"",
"scopeDestination-linkEnd":""}
</arg>
<arg name="remoteWorkflowPostFunctionUUID">45bd3003-b5e2-42b8-ada2-032d3b2b8f83</arg>
</function>
Example
Code Block <function type="class">
<arg name="field.copyFieldSource1"></arg>
<arg name="textValue">-1</arg>
<arg name="scopeSource-linkEnd"></arg>
<arg name="maxAllowed-integerValue"></arg>
<arg name="workflowName-textValue">AP: Task Management Workflow</arg>
<arg name="performTransitionAsUser-user"></arg>
<arg name="scopeType">ISSUE_LINKING</arg>
<arg name="destination-scopeTarget">LINK_END</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitieslinkedtransition-function</arg>
<arg name="scopeDestination-linkEnd">ANY:ANY</arg>
<arg name="jsuWorkflowParamsVersion-textValue">2.23.3-SNAPSHOT</arg>
<arg name="preconditionAwareFunctionMode-textValue">ALWAYS</arg>
<arg name="source-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="integerValue">21</arg>
<arg name="scopeDestination-jql"></arg>
<arg name="class.name">ch.beecom.jira.jsu.workflow.function.linkedtransition.LinkedTransitionFunction</arg>
<arg name="scopeSource-jql"></arg>
<arg name="status"></arg>
</function>
Post ...
...
Any Issue Field (JSU) Arg Name: JSU Cloud
Arg Name: JSU Server
Example
Code Block <function type="class">
<arg name="class.name">com.atlassian.plugin.connect.jira.workflow.RemoteWorkflowPostFunctionProvider</arg>
<arg name="full.module.key">com.atlassian.plugins.atlassian-connect-plugincom.googlecode.jira-suite-utilities__updateanyissuefield-function</arg>
<arg name="remoteWorkflowPostFunctionConfiguration">
{"preconditions":[],
"preconditionAwareFunctionMode-textValue":"TRUE",
"runAsUser-user":"",
"field.name":"summary",
"field.value":"test summary",
"append.value":false,
"jsuCloudWorkflowParamsVersion-textValue":"2.8.0",
"scopeType":"SAME",
"source-scopeTarget":"ISSUE_IN_TRANSITION",
"destination-scopeTarget":"ISSUE_IN_TRANSITION"}
</arg>
<arg name="remoteWorkflowPostFunctionUUID">e6518c27-cd5e-40b4-a190-14b1c32c1e8e</arg>
</function>
Example
Code Block <function type="class">
<arg name="scopeSource-linkEnd"></arg>
<arg name="append.value"></arg>
<arg name="maxAllowed-integerValue"></arg>
<arg name="runAsUser-user"></arg>
<arg name="field.value">test summary</arg>
<arg name="field.name">summary</arg>
<arg name="scopeType">SAME</arg>
<arg name="destination-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitiesupdateIssueCustomField-function</arg>
<arg name="scopeDestination-linkEnd"></arg>
<arg name="preconditionAwareFunctionMode-textValue">ALWAYS</arg>
<arg name="jsuWorkflowParamsVersion-textValue">2.23.3-SNAPSHOT</arg>
<arg name="source-scopeTarget">ISSUE_IN_TRANSITION</arg>
<arg name="scopeDestination-jql"></arg>
<arg name="class.name">com.googlecode.jsu.workflow.function.UpdateIssueCustomFieldPostFunction</arg>
<arg name="scopeSource-jql"></arg>
<
...
Workflow Pre-Functions(JSU) ...
Workflow preconditions(JSU) Preconditions in JSU Cloud are built-in as a part of the post function. You can add as many preconditions as you want inside a post function. In JSU Server, preconditions are implemented as a separate post function that acts as preconditions. All the preconditions from JSU Cloud are available in JSU Server as well, but require a different configuration.
Preconditions in JSU Server/Cloud
Date Compare (JSU)
Date Expression Compare (JSU)
Date Window (JSU)
Fields Required (JSU)
JQL (JSU)
Linked Status (JSU)
Regular Expression Check (JSU)
User Is In Any Groups (JSU)
User Is In Any Roles (JSU)
User Is In Custom Field (JSU)
Value Field (JSU)
Precondition mapping: Value Field (JSU) Arg Name: JSU Cloud
Arg Name: JSU Server
Example
Code Block<arg name="remoteWorkflowPostFunctionConfiguration">
{"preconditions":
[{"type":"valueField-precondition-function",
"enabled":true,
"config":{
"preconditionMode-textValue":"AND",
"preconditionNegateResult-booleanValue":false,
"conditionList":1,
"fieldValue":"2.0",
"fieldsList":"fixVersions"}}],
"preconditionAwareFunctionMode-textValue":"TRUE",
"runAsUser-user":"",
"field.name":"summary",
"field.value":"test summary",
"append.value":false,
"jsuCloudWorkflowParamsVersion-textValue":"2.8.0",
"scopeType":"SAME",
"source-scopeTarget":"ISSUE_IN_TRANSITION",
"destination-scopeTarget":"ISSUE_IN_TRANSITION"}
</arg>
Example
Code Block <function type="class">
<arg name="conditionList">1</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitiesvalueField-precondition-function</arg>
<arg name="jsuWorkflowParamsVersion-textValue">2.23.3-SNAPSHOT</arg>
<arg name="comparisonType">1</arg>
<arg name="precondition">true</arg>
<arg name="class.name">ch.beecom.jira.jsu.workflow.function.valuefield.ValueFieldPreconditionFunction</arg>
<arg name="preconditionNegateResult-booleanValue"></arg>
<arg name="fieldValue">2.0</arg>
<arg name="preconditionMode-textValue">DISCARD</arg>
<arg name="fieldsList">fixVersions</arg>
</
...
All other preconditions follow a similar pattern as above.
InfoAs preconditions in JSU Cloud are built-in, you have to reconfigure all the preconditions manually in JSU Server.
Workflow conditions/validators/post functions (Jira) The following
...
...
...
validators/post functions built into the Jira Cloud
...
...
replaced with JSU extensions. See below , all the attribute mappings between Jira Cloud and Jira Server.
Workflow Name
Jira Cloud Class-Name
JSU Class-Name (Jira Server)
Conditions
User Is In Any Group
com.atlassian.jira.workflow.condition.UserInAnyGroupCondition
com.googlecode.jsu.workflow.condition.UserIsInAnyGroupsCondition
User Is In Any Project Role
com.atlassian.jira.workflow.condition.InAnyProjectRoleCondition
com.googlecode.jsu.workflow.condition.UserIsInAnyRolesCondition
User Is In Custom Field
com.atlassian.jira.workflow.condition.UserIsInCustomFieldCondition
com.googlecode.jsu.workflow.condition.UserIsInCustomFieldCondition
Value Field
com.atlassian.jira.workflow.condition.ValueFieldCondition
com.googlecode.jsu.workflow.condition.ValueFieldCondition
Validators
Date Compare Validator
com.atlassian.jira.workflow.validator.DateFieldValidator
com.googlecode.jsu.workflow.validator.DateCompareValidator & com.googlecode.jsu.workflow.validator.DateExpressionCompareValidator
Date Window Validator
com.atlassian.jira.workflow.validator.WindowsDateValidator
com.googlecode.jsu.workflow.validator.WindowsDateValidator
Field Required Validator
com.atlassian.jira.workflow.validator.FieldRequiredValidator
com.googlecode.jsu.workflow.validator.FieldsRequiredValidator
Regular Expression Check
com.atlassian.jira.workflow.validator.RegexpFieldValidator
com.googlecode.jsu.workflow.validator.RegexpFieldValidator
Post
...
Functions
Clear Field Value
com.atlassian.jira.workflow.function.issue.ClearFieldValuePostFunction
com.googlecode.jsu.workflow.function.ClearFieldValuePostFunction
Copy Value From Other Field
com.atlassian.jira.workflow.function.issue.CopyValueFromOtherFieldPostFunction
com.googlecode.jsu.workflow.function.CopyValueFromOtherFieldPostFunction
Update Issue Custom Field
com.atlassian.jira.workflow.function.issue.UpdateIssueCustomFieldPostFunction
com.googlecode.jsu.workflow.function.UpdateIssueCustomFieldPostFunction
Mapping between Jira Cloud ...
modules and JSU Server The following
...
describes all the attributes which need to be mapped between the Jira Cloud and Jira Server
...
workflow functionality.
Condition ...
mapping : User Is In Any Group Arg Name: Jira Cloud
Arg Name: Jira Server
group
hidGroupsList (each group is separated by @@ and requires a @@ at the end)
Example
Code Block<condition type="class">
<arg name="class.name">com.atlassian.jira.workflow.condition.UserInAnyGroupCondition</arg>
<arg name="group">administrators@@</arg>
</condition>
Example
Code Block<condition type="class">
<arg name="class.name">com.googlecode.jsu.workflow.condition.UserIsInAnyGroupsCondition</arg>
<arg name="hidGroupsList">jira-developers@@</arg>
</condition>
Condition ...
mapping : User Is In Any Project Role Arg Name: Jira Cloud
Arg Name: Jira Server
projectRoleIds
hidRolesList (each group is separated by @@ and requires a @@ at the end and groups required to be mapped between id to group name)
Example
Code Block<condition type="class">
<arg name="class.name">com.atlassian.jira.workflow.condition.InAnyProjectRoleCondition</arg>
<arg name="projectRoleIds">10101@@</arg>
</condition>
Example
Code Block<condition type="class">
<arg name="class.name">com.googlecode.jsu.workflow.condition.UserIsInAnyRolesCondition</arg>
<arg name="hidRolesList">Developers@@</arg>
</condition>
Condition ...
mapping : User Is In Custom Field All argument names are the same between Jira Cloud and Jira Server.
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<condition type="class">
<arg name="class.name">com.atlassian.jira.workflow.condition.UserIsInCustomFieldCondition</arg>
<arg name="fieldsList">customfield_10018</arg>
<arg name="allowUserInField">true</arg>
</condition>
Example
Code Block<condition type="class">
<arg name="class.name">com.googlecode.jsu.workflow.condition.UserIsInCustomFieldCondition</arg>
<arg name="fieldsList">customfield_10609</arg>
<arg name="allowUserInField">true</arg>
</condition>
Condition ...
mapping : Value Field All argument names are the same between Jira Cloud and Jira Server.
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<condition type="class">
<arg name="class.name">com.atlassian.jira.workflow.condition.ValueFieldCondition</arg>
<arg name="comparisonType">1</arg>
<arg name="conditionList">3</arg>
<arg name="fieldsList">assignee</arg>
<arg name="fieldValue">John</arg>
</condition>
Example
Code Block<condition type="class">
<arg name="class.name">com.googlecode.jsu.workflow.condition.ValueFieldCondition</arg>
<arg name="comparisonType">1</arg>
<arg name="conditionList">3</arg>
<arg name="fieldsList">assignee</arg>
<arg name="fieldValue">John</arg>
</condition>
Validator ...
...
validator The Jira Cloud 'Date Compare Validator' combines
...
two JSU Date Compare Validators
...
...
...
two validators to use is defined by the Jira Cloud argument name 'compareTypeField'
Date Compare
...
validator
All argument names are the same between Jira Cloud and Jira Server.
...
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.DateFieldValidator</arg>
<arg name="compareTypeField">true</arg>
<arg name="conditionSelected">3</arg>
<arg name="includeTimeSelected">true</arg>
<arg name="date1Selected">customfield_10017</arg>
<arg name="date2Selected">customfield_10022</arg>
</validator>
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.googlecode.jsu.workflow.validator.DateCompareValidator</arg>
<arg name="conditionSelected">1</arg>
<arg name="includeTimeSelected">2</arg>
<arg name="date1Selected">created</arg>
<arg name="date2Selected">created</arg>
</validator>
Date Expression Compare
...
validator
Arg Name: Jira Cloud
Arg Name: Jira Server
compareTypeField (must be false to map to the 'Date Expression Compare Validator')
not required for Jira Server
...
conditionSelected
conditionSelected
includeTimeSelected
includeTimeSelected
date1Selected
date1Selected
expression
expressionSelected
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.DateFieldValidator</arg>
<arg name="compareTypeField">false</arg>
<arg name="conditionSelected">1</arg>
<arg name="includeTimeSelected">false</arg>
<arg name="date1Selected">customfield_10017</arg>
<arg name="expression">\d</arg>
</validator>
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.googlecode.jsu.workflow.validator.DateExpressionCompareValidator</arg>
<arg name="conditionSelected">1</arg>
<arg name="includeTimeSelected">2</arg>
<arg name="dateFieldSelected">created</arg>
<arg name="expressionSelected">\d</arg>
</validator>
Validator ...
...
validator All argument names are the same between Jira Cloud and Jira Server.
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.WindowsDateValidator</arg>
<arg name="date1Selected">customfield_10017</arg>
<arg name="date2Selected">customfield_10017</arg>
<arg name="windowsDays">5</arg>
</validator>
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.googlecode.jsu.workflow.validator.WindowsDateValidator</arg>
<arg name="date1Selected">customfield_10017</arg>
<arg name="date2Selected">customfield_10017</arg>
<arg name="windowsDays">5</arg>
</validator>
Validator ...
...
validator Arg Name: Jira Cloud
Arg Name: Jira Server
hidFieldsList
hidFieldsList
contextHandling
contextHandling
errorMessage
customErrorMessage-textValue
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.FieldRequiredValidator</arg>
<arg name="hidFieldsList">assignee@@</arg>
<arg name="contextHandling">ignore</arg>
<arg name="errorMessage">Custom Error Message<arg>
</validator>
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.googlecode.jsu.workflow.validator.FieldsRequiredValidator</arg>
<arg name="hidFieldsList">assignee@@</arg>
<arg name="contextHandling">ignore</arg>
<arg name="customErrorMessage-textValue">Custom Error Message</arg>
</validator>
Validator ...
mapping : Regular Expression Check All argument names are the same between Jira Cloud and Jira Server.
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.RegexpFieldValidator</arg>
<arg name="fieldSelected">description</arg>
<arg name="expressionSelected">\d</arg>
</validator>
Example
Code Block<validator name="" type="class">
<arg name="class.name">com.googlecode.jsu.workflow.validator.RegexpFieldValidator</arg>
<arg name="fieldSelected">versions</arg>
<arg name="expressionSelected">\d</arg>
</validator>
Post ...
...
mapping : Clear Field Value All argument names are the same between Jira Cloud and Jira Server.
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.ClearFieldValuePostFunction</arg>
<arg name="full.module.key">com.atlassian.jira.plugin.system.workflowclearFieldValue-function</arg>
<arg name="field">assignee</arg>
</function>
Example
Code Block<function type="class">
<arg name="class.name">com.googlecode.jsu.workflow.function.ClearFieldValuePostFunction</arg>
<arg name="full.module.key">com.googlecode.jira-suite-utilitiesclearFieldValue-function</arg>
<arg name="field">comment</arg>
</function>
Post ...
...
mapping : Copy Value From Other Field Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.CopyValueFromOtherFieldPostFunction</arg>
<arg name="sourceField">assignee</arg>
<arg name="destinationField">assignee</arg>
<arg name="copyType">same</arg>
</function>
Example
Code Block<function type="class">
<arg name="sourceField">assignee</arg>
<arg name="class.name">com.googlecode.jsu.workflow.function.CopyValueFromOtherFieldPostFunction</arg>
<arg name="destinationField">customfield_10101</arg>
</function>
Post ...
...
mapping : Update Issue Custom Field All argument names are the same between Jira Cloud and Jira Server.
Arg Name: Jira Cloud
Arg Name: Jira Server
Example
Code Block<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueCustomFieldPostFunction</arg>
<arg name="field.name">customfield_10000</arg>
<arg name="field.value">%%CURRENT_USER%%</arg>
<arg name="append.value">true</arg>
</function>
Example
Code Block<function type="class">
<arg name="class.name">com.googlecode.jsu.workflow.function.UpdateIssueCustomFieldPostFunction</arg>
<arg name="field.name">versions</arg>
<arg name="field.value">%%CURRENT_USER%%</arg>
<arg name="append.value">true</arg>
</function>