如何配置Jira通知方案,仅向特定组的当前经办人发送通知?
Jira Service Management按组控制经办人通知的解决思路
问题场景
我们的JSM项目里有两个用户组:
- 组X成员成为工单经办人时,必须收到平台铃铛和邮件通知
- 组Y成员哪怕变成经办人,也不能收到任何通知(包括铃铛和邮件)
之前试了两种方案都踩坑了:
- 直接用原生通知方案:没法设置「当前经办人且属于组X」这种组合条件,达不到需求
- 自动化+关注人方案:
- 把通知方案的所有通知都只发给关注人
- 写自动化规则,只有当经办人属于组X时,把他设为关注人
结果出现奇葩问题:关了关注人通知的用户还能收到部分通知,开了的反而收不到
可行解决方案
方案1:原生通知方案+自定义用户属性(最稳定)
- 给组Y的所有用户加一个自定义用户属性,比如叫
SkipAssigneeNotify,值设为true - 去通知方案里,找到所有给「经办人」发通知的事件,给这些通知项加用户属性条件:排除属性值为
true的用户 - 组X的用户不加这个属性,这样组X的经办人正常收通知,组Y的直接被过滤掉
- 好处:不用依赖自动化,原生配置不容易出问题,也避开了关注人设置的坑
方案2:修复自动化+关注人方案的异常
如果非要用这个路子,先排查这几个点:
- 自动化规则的触发时机:得是经办人变更完成后触发,而且要先移除之前的关注人,再添加符合条件的新经办人,顺序不能乱
- 用户的个人通知设置:检查「关注工单」的通知,注意项目级设置会覆盖全局设置,别搞反了
- 通知方案配置:确认所有需要的通知事件(比如工单分配、状态更新)都只设「关注人」为接收者,没有其他多余的配置
- 补全自动化规则:当经办人不属于组X时,自动把他从关注人里移除,别留尾巴导致异常通知
方案3:用ScriptRunner扩展通知条件
如果你的Jira装了ScriptRunner插件,写个Groovy脚本就能实现复杂条件:
- 在通知方案的「经办人」通知项里,加脚本条件,判断经办人是否在组X里
- 参考脚本:
def assignee = issue.assignee def targetGroup = ComponentAccessor.groupManager.getGroup("group_x") return targetGroup && assignee && ComponentAccessor.groupManager.isUserInGroup(assignee, targetGroup.name)
- 这样只有组X的经办人能触发通知,组Y的直接跳过
测试建议
- 用组X和组Y的真实账号分别测工单分配,验证通知是否符合预期
- 查Jira的邮件队列和通知日志(系统设置里找邮件队列、日志信息),定位异常通知的来源
- 确认用户邮箱没被Jira的垃圾规则拦截,邮箱配置正常
内容的提问来源于stack exchange,提问作者user23599541
相关产品推荐
相关产品推荐

