Logic Apps条件判断异常:无父级用户故事判断失效
解决方案
一、解决Parent字段判断失效问题
你猜的没错,Parent字段确实大概率是字符串类型,而且无父级的用户故事对应的Parent字段值不是数字0,而是null或者空字符串""——这就是你之前条件判断完全失效的核心原因。
先验证实际值
在Logic App的触发动作后添加一个Compose动作,输入表达式:
@triggerBody()?['PARENT']
分别测试有父级和无父级的用户故事,查看Compose的输出结果,就能确认无父级状态下的实际值。
正确的条件判断写法
根据验证结果选择对应的条件:
- 若无父级时返回
null,用这个表达式:@equals(triggerBody()?['PARENT'], null) - 若返回空字符串,用这个表达式:
@equals(triggerBody()?['PARENT'], '') - 也可以用通用表达式(同时覆盖
null和空字符串):@empty(triggerBody()?['PARENT'])
二、精准判断是否存在父级用户故事
如果需要排除任务等其他关联项,只判断是否有父级用户故事,可以按以下步骤实现:
- 在触发动作后添加
Get work item动作,传入当前新建用户故事的ID。 - 查看返回结果里的
relations数组,其中父级用户故事的关联类型标识是System.LinkTypes.Hierarchy-Reverse。 - 添加
Filter array动作,对relations数组过滤,条件设为:@equals(item()?['rel'], 'System.LinkTypes.Hierarchy-Reverse') - 判断过滤后的数组是否为空:为空则说明无父级用户故事,反之则有。
内容的提问来源于stack exchange,提问作者Cataster
相关产品推荐
相关产品推荐

