Skip to content

Strings with a format cannot be defined via a runtime expression #937

Closed
@matthias-pichler

Description

@matthias-pichler

What seems off:

I wanted to define the following workflow:

# yaml-language-server: $schema=https://serverlessworkflow.io/schemas/1.0.0-alpha2/workflow.yaml
document:
  dsl: 1.0.0-alpha2
  namespace: examples
  name: star-wars-homeplanet
  version: 1.0.0-alpha2
input:
  schema:
    format: json
    document:
      type: object
      required:
        - id
      properties:
        id:
          type: integer
          description: The id of the star wars character to get
          minimum: 1
do:
  - getStarWarsCharacter:
      call: http
      with:
        method: get
        endpoint: https://swapi.dev/api/people/{id}
        output: response
      export:
        as:
          homeworld: ${ .content.homeworld }
  - getStarWarsHomeworld:
      call: http
      with:
        method: get
        endpoint: ${ $context.homeworld }

to fetch a character from the star wars api and then their homeworld.

Unfortunately the definition does not pass the schema validation because:

Message: String '${ $context.homeworld }' does not validate against format 'uri-template'.
Schema path: https://serverlessworkflow.io/schemas/1.0.0-alpha2/workflow.yaml#/$defs/callTask/oneOf/2/properties/with/properties/endpoint/oneOf/1/format

What you expected to be:

the the endpoint can be specified as a runtime expression

Anything else we need to know?:

Environment:

  • Specification version used: 1.0.0-alpha2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions