Scriptrunner 行为:如何在屏幕显示时仅设置一次自定义字段值

问题描述 投票:0回答:1

版本 - Jira v5.5.9 的行为。

我需要做简单的事情 - 在屏幕上的字段中设置默认值。它通过行为脚本服务器端脚本完美运行。虽然如果用户手动清除屏幕上的值,行为会再次设置默认字段值,因此用户无法选择其他值。

如果我使用初始化脚本而不是带有此字段或其他字段的服务器端脚本,我将遇到不同的问题。如果用户未填写所有必填字段,则在验证错误后行为设置默认字段值。

所以我只需要在屏幕显示时设置默认字段值一次,并且用户必须有机会更改它。有什么选择吗?

import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours fieldBehaviours

final String screenName = 'test'
if (fieldScreen.name == screenName) {
    def myfield = getFieldById(getFieldChanged())   
    if (myfield.getValue().toString().length() == 0) { 
        myfield.setFormValue("default")
    }
}
jira jira-plugin jira-integration automation-for-jira
1个回答
0
投票

仅当操作为“创建”时,您可以通过添加以下代码来执行此代码:

if(actionName == "Create")

你的代码将是这样的:

if((fieldScreen.name == screenName) && (actionName == "Create")) {
    //...
}
© www.soinside.com 2019 - 2024. All rights reserved.