我们的任务中有不同的状态,如:开放,正在进行,已修复,已测试,已关闭。我们需要设计一个工作流程来阻止用户关闭已打开的任务。
我在文档中看到了这样的锯码:
var user;
if (issue.Assignee == null) {
user = issue.project.leader;
} else {
user = issue.Assignee;
}
问题是上面的代码只检查状态。我需要一种方法来阻止操作(比如关闭一个打开的任务)。我该如何阻止用户进行此类操作?如何检查他是否正在完成任务?
在the documentation中,已经提到了如何访问问题字段和发布自定义字段。但是代码再次如下所示:
if (issue.State == Open) {
# what to do here how to check if he is closing the task?
}
我该如何检查他是否正在完成任务?如何告诉用户您无法关闭打开的任务?
答案 0 :(得分:1)
答案 1 :(得分:0)
经过大量的代码处理后,我找到了解决方案:
rule check open state
when issue.State.becomes({Open}) {
assert issue.State.oldValue == {Submitted}: "Issue needs to be in Submitted state, to make it Open"
}
我必须使用becomes
来检查用户是否正在打开任务,然后使用assert我会确保任务是否从Submitted
状态更改为打开状态。