我正在尝试通过 OpenApi 规范在 Power Automate 中创建一个 webhook 触发器。webhook url 必须在正文中并且它是必需的,但我也希望在正文中具有动态属性。到目前为止,我有这个:
"/webhook/triggers/{entityType}": {
"x-ms-notification-content": {
"description": "When a operation is performed on a entity",
"x-ms-summary": "When a operation is performed on a entity",
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"x-ms-dynamic-schema": {
"operationId": "GetDynamicSchema",
"parameters": {
"entityType": {
"parameter": "entityType"
}
}
}
},
"id": {
"type": "string"
},
"source": {
"type": "string"
},
"type": {
"type": "string"
},
"time": {
"format": "date-time",
"type": "string"
},
"dataSchema": {
"type": "string"
},
"dataContentType": {
"type": "string"
},
"extensionAttributes": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
}
},
"post": {
"description": "When a operation is performed on a entity",
"x-ms-trigger": "single",
"x-ms-visibility": "important",
"summary": "When a operation is performed on a entity",
"operationId": "RegisterTriggerWithEntity",
"consumes": ["application/json"],
"produces": ["application/json"],
"parameters": [
{
"name": "entityType",
"x-ms-summary": "Entity",
"description": "The entity",
"x-ms-url-encoding": "single",
"in": "path",
"required": true,
"type": "string",
"x-ms-dynamic-values": {
"operationId": "GetEntityTypes",
"value-path": "name",
"value-title": "description"
}
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"webhookUrl": {
"type": "string",
"x-ms-notification-url": true,
"x-ms-visibility": "internal"
},
"data": {
"type": "object",
"x-ms-dynamic-schema": {
"operationId": "GetSchema",
"parameters": {
"entityType": {
"parameter": "entityType"
}
}
},
"x-ms-dynamic-properties": {
"operationId": "GetSchema",
"parameters": {
"entityType": {
"parameterReference": "entityType"
}
}
}
}
},
"required": [
"webhookUrl"
],
"x-ms-visibility": "important"
}
}
],
"responses": {
"201": {
"description": "Created"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
}
通过验证,我还在 UI 中提示了架构属性,准备好由用户提供,但是在保存流程时,我得到以下信息OpenApiOperationParameterValidationFailed
:
Flow save failed with code 'OpenApiOperationParameterValidationFailed' and message 'Input parameter 'body' validation failed in workflow operation 'When_a_operation_is_performed_on_a_entity': The API operation 'RegisterTriggerWithEntity' requires the property 'body/data' to be set to one of its defined enum values '[]' but is set to '{ "firstProperty": "testValue" }'.'.
这个流程可能有什么问题?具有动态架构属性的 webhook 触发器的建议方法是什么?