JIRA - JQL with Webbook - 如果更改不是由特定用户引起的,则仅触发 webhook
JIRA - JQL with Webook - Only trigger webhook if change was not caused by certain user
我们同时使用 Slack 和 JIRA,我们想为我们的每个用户创建一个 webhook。如果任何用户 A 对用户 B 的问题进行了更改,则应通过 Slack 通知用户 A。但是,如果用户 A 对用户 A 的问题进行了更改,则用户 A 不应在 slack 中收到通知。
我们为用户 "max" 尝试了以下 JQL 语句:
project = "Project Name" AND assignee="max" AND NOT status changed AFTER "-2m" by "max"
很遗憾,它不起作用。
如果 Max 更改了他的问题,他会在 Slack 中收到通知,但如果他之后再次更改同一个问题,他不会。似乎 "status change by" 在触发 webhook 时未设置,但仅在之后设置。
触发 webhook 的用户是否有某种字段?这基本上就是我们所需要的。
编辑:
更多信息:我们正在使用此 Slack 集成并将其与 webhook 结合:
https://marketplace.atlassian.com/plugins/eu.wisoft.slack.jira/cloud/overview
我用这个 Slack 插件创建了一个额外的 "all Jira notifications" 配置,它工作得很好。因此,slack 插件确实可以正常工作,但我的 JQL 过滤显然是问题所在。
最后一次尝试:
project = "Project Name"
AND assignee="max"
AND status changed AFTER -2m
AND NOT status changed by "max" AFTER -2m
使用评论中的这个,我能够让它工作不一致:
我用 "max" 和受让人 "max" 放在 Todo 上的一个新的 jira-issue,被另一个用户移动到 "Progress"(因此状态改变),不会导致 webhook 触发.下一次,同一用户将此问题从进度更改为待办事项或返回,将触发 webhook。感觉在webhook调用的时候,最新的信息是拿不到的。感觉第一次改的时候,这部分失败了:
AND status changed AFTER -2m
我该如何解决这个问题?
我认为您正在寻找的 JQL 是这样的:
project = "Project Name"
AND assignee="max"
AND status changed AFTER -2m
AND NOT status changed BY "max" AFTER -2m
这是在告诉 JIRA:
Give me everything in project-name;
That is owned by max;
Limit it to anything where the last status change was after 2 minutes ago
Further limit it so that the last status change was NOT done by max in the last 2 minutes
我们同时使用 Slack 和 JIRA,我们想为我们的每个用户创建一个 webhook。如果任何用户 A 对用户 B 的问题进行了更改,则应通过 Slack 通知用户 A。但是,如果用户 A 对用户 A 的问题进行了更改,则用户 A 不应在 slack 中收到通知。
我们为用户 "max" 尝试了以下 JQL 语句:
project = "Project Name" AND assignee="max" AND NOT status changed AFTER "-2m" by "max"
很遗憾,它不起作用。
如果 Max 更改了他的问题,他会在 Slack 中收到通知,但如果他之后再次更改同一个问题,他不会。似乎 "status change by" 在触发 webhook 时未设置,但仅在之后设置。 触发 webhook 的用户是否有某种字段?这基本上就是我们所需要的。
编辑:
更多信息:我们正在使用此 Slack 集成并将其与 webhook 结合: https://marketplace.atlassian.com/plugins/eu.wisoft.slack.jira/cloud/overview
我用这个 Slack 插件创建了一个额外的 "all Jira notifications" 配置,它工作得很好。因此,slack 插件确实可以正常工作,但我的 JQL 过滤显然是问题所在。
最后一次尝试:
project = "Project Name"
AND assignee="max"
AND status changed AFTER -2m
AND NOT status changed by "max" AFTER -2m
使用评论中的这个,我能够让它工作不一致: 我用 "max" 和受让人 "max" 放在 Todo 上的一个新的 jira-issue,被另一个用户移动到 "Progress"(因此状态改变),不会导致 webhook 触发.下一次,同一用户将此问题从进度更改为待办事项或返回,将触发 webhook。感觉在webhook调用的时候,最新的信息是拿不到的。感觉第一次改的时候,这部分失败了:
AND status changed AFTER -2m
我该如何解决这个问题?
我认为您正在寻找的 JQL 是这样的:
project = "Project Name"
AND assignee="max"
AND status changed AFTER -2m
AND NOT status changed BY "max" AFTER -2m
这是在告诉 JIRA:
Give me everything in project-name;
That is owned by max;
Limit it to anything where the last status change was after 2 minutes ago
Further limit it so that the last status change was NOT done by max in the last 2 minutes