目标是从规划器中提取任务的存储桶名称并将其映射到记分卡指标的状态。
虽然 PowerAutomate Flow 中的逻辑和后果证据显示已正确抓取相应任务的存储桶名称,但记分卡并未反映正确的状态,而是为所有任务随机显示
Completed
或 Done
或 Not Started
!但真正的存储桶名称如下
尝试了以下方法:
Compose
以结构化方式收集存储桶名称,然后将其提供给Create a Goal
状态。此外,也尝试修剪 Compose
中的存储桶名称!但即便如此,指标状态也没有变化流程设置:
缺失的表情如下:
创建目标的名称字段填充了
items('ForEachTasks')?['title']
,它来自上面的任务映射
LoopToFindBucket的输入是
outputs('List_buckets')?['body/value']
条件比较表达式为
items('ForEachTasks')?['Status']
等于 items('LoopToFindBucketName')?['id']
更新目标 状态表达式为
outputs('Compose')
参考资料: https://powerusers.microsoft.com/t5/Building-Flows/Getting-bucket-Name/td-p/171129
看来你只能将状态设置为预定义的状态枚举。
流程保存失败,代码为“OpenApiOperationParameterValidationFailed”,消息为“工作流程操作“Update_a_goal”中输入参数“目标”验证失败:API 操作“UpdateGoal”要求将属性“Goal/status”设置为其定义的枚举值之一'[“保持不变”、“未开始”、“按计划”、“有风险”、“落后”、“逾期”、“已完成”]'但设置为“花生”。'。
一个可能的解决方案是使用以下内容创建一个新的 Compose:
{
"In Progress - Implementation": "On track",
"Bucket name 1": "Not started",
"Bucket name 2": "At risk"
// and so on
}
然后在
Update a goal
操作中,对于 Status
,使用以下表达式:
outputs('MapStatus')?[trim(items('LoopToFindBucketName')?['name'])]