自定义工作流规则以设置默认评论可见性

Custom workflow rule to set default comment visibility

我正在尝试在 YouTrack 中添加一个工作流规则,该规则设置不是由特定用户发表的新发布评论的可见性。

这是我尝试过的方法:

rule set comment visibility to developers 

when comments.added.last.author.login != "special" { 
  comments.last.permittedGroup = {group: Developers}; 
}

这是有效的,因为所有新添加的评论不是由 special 用户发表的,都被设置为仅对开发人员可见。问题是这条规则也阻止了可见性被覆盖;在通过 UI.

手动更改后,可见性始终恢复为 "Developers"

显然,当前形式的规则非常简单,我想(希望)有一种方法可以隔离评论的创建,而不是对其进行任何更新(我想这就是它目前正在捕捉的东西)。

有什么方法可以只将此规则应用于新创建的评论,而不应用于已更新的评论?

这里的诀窍是 YouTrack 工作流语言支持 null-safety。当您添加评论时,comments.added.last 包含评论,并且规则按预期工作。当您编辑其他内容时,comments.added.lastnull,因此 comments.added.last.author.login 也是 null,并且 null != "special",确实如此。

您需要检查是否有新创建的评论是此更改,例如

when comments.added.isNotEmpty && comments.added.last.author.login != "special" {
  comments.last.permittedGroup = {group: Developers};
}