Trying to use x-ms-dynamic-values
(which working as expected) and x-ms-dynamic-schema
(which doesn't seems to work)
I only getting the body param name dynamicActionSchema
instead of the dynamic schema.
Those are my paths:
paths:
/api/v1/actions:
get:
description: Get lists
summary: Get's action list you have access to
operationId: GetActionsList
parameters:
- {in: query, name: include_attributes, default: ref, type: string, description: The
number of items to skip before starting to collect the result set}
responses:
'200':
description: OK
schema: {$ref: '#/definitions/GetLists'}
/api/v1/actions/{actionId}:
get:
description: Gets the schema of the selected action
summary: Get's the schema of the selected action
operationId: GetActionSchema
parameters:
- {name: actionId, in: path, required: true, type: string, x-ms-summary: Select
Action}
responses:
'200':
description: OK
schema: {type: object}
/api/v1/executions/{action}:
post:
description: Executing ST action - Uses Dynamic values and dynamic schema to
draw form
summary: Executing ST action
operationId: ExecuteSTAction
parameters:
- name: action
type: string
in: path
description: Select action you want to execute
required: true
x-ms-summary: Select Action
x-ms-dynamic-values: {operationId: GetActionsList, value-path: ref}
- name: dynamicActionSchema
in: body
description: Dynamic Schema of items in selected action
schema:
type: object
x-ms-dynamic-schema:
operationId: GetActionSchema
parameters:
actionId: {parameter: action}
value-path: parameters
responses:
'201': {description: Executed}
definitions:
GetLists:
type: array
items:
type: object
properties:
ref: {type: string}
required: [ref]
security:
- API Key: []
Dynamic schema operation output sample:
{
"parameters": {
"tags": {
"description": "List of tags for item.",
"required": false,
"type": "array",
"position": 12
},
"env": {
"description": "Environment variables which will be available to the script.",
"type": "object"
},
"detected": {
"description": "The datetime for detecting the item.",
"required": true,
"type": "string",
"position": 6
},
"description": {
"description": "The description of the item.",
"required": false,
"type": "string",
"position": 2
}
...
}
}
MS docs: https://learn.microsoft.com/en-us/connectors/custom-connectors/openapi-extensions#use-dynamic-schema
Open thread in Power Apps forum: https://powerusers.microsoft.com/t5/Building-Power-Apps/Dynamic-schema-doesn-t-seems-to-work-based-on-a-body-parameter/m-p/1373866#M357492
Found my issue, schema should be in the form of:
{
"parameters": {
"type": "object",
"properties": {
"debug": {
"default": false,
"required": false,
"description": "Enable runner debug mode.",
"type": "boolean"
},
...
}
}
}