JIRA - 带有Webook的JQL - 如果更改不是由特定用户

时间:2016-10-27 17:00:55

标签: jira jql jqlite

我们一起使用Slack和JIRA,我们希望为每个用户创建一个webhook。如果任何用户A对用户B的问题进行了更改,则应通过Slack通知用户A.但是,如果用户A对用户A的问题进行了更改,则用户A不应该在松弛时收到通知。

我们为用户“max”尝试了以下JQL语句:

project = "Project Name" AND assignee="max" AND NOT status changed AFTER "-2m" by "max"

不幸的是它不起作用。

如果Max改变他的问题,他会在Slack收到通知,但如果他之后再次改变同样的问题,他就不会。似乎“状态更改依据”未在触发webhook时设置,而是仅在之后设置。 触发webhook的用户是否有某种字段?这基本上就是我们所需要的。

编辑:

更多信息:我们正在使用此Slack集成并将其与webhook结合使用: https://marketplace.atlassian.com/plugins/eu.wisoft.slack.jira/cloud/overview

我使用这个Slack-plugin创建了一个额外的“所有Jira通知”配置,它运行得很好。因此,松弛插件确实可以正常工作,但我的JQL过滤显然是个问题。

上次尝试:

project = "Project Name" 
AND assignee="max" 
AND status changed AFTER -2m 
AND NOT status changed by "max" AFTER -2m

从评论中使用这个,我能够让它不一致地工作: 我在Todo上添加了一个新的jira-issue,其中包含“max”和受让人“max”,由另一个用户移动到“Progress”(因此状态更改),不会导致webhook触发。下一次,同一个用户将此问题从进度更改为待办事项或返回时,将触发webhook。感觉就像在webhook通话时一样,最新信息不可用。感觉就像在第一次更改时,这部分失败了:

AND status changed AFTER -2m 

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的JQL是:

project = "Project Name" 
AND assignee="max" 
AND status changed AFTER -2m 
AND NOT status changed BY "max" AFTER -2m

这告诉JIRA:

  

以项目名称给我一切;

     

由max;

拥有      

将其限制为2分钟前最后一次状态更改的任何内容

     

进一步限制它,以便最后一次状态更改不是在最后2分钟内由max完成