yaml

How to fix "mapping values are not allowed in this context " error in yaml file?


I've browsed similar questions and believe i've applied all that i've been able to glean from answers.

I have a .yml file where as far as I can tell each element is formatted identically. And yet according to YamlLint.com

(<unknown>): mapping values are not allowed in this context at line 119 column 16

In this case, line 119 is the line containing the second instance the word "transitions" below. That I can tell each element is formatted identically. Am I missing something here?

  landingPage:
    include: false
    transitions:
      -
        condition:location
        nextState:location

  location:
    include:false
    transitions:
      -
        condition:excluded
        nextState:excluded

  excluded:
    include:false
    transitions:
      -
        condition:excluded
        nextState: excluded
      -
        condition:age
        nextState:age


Solution

  • You cannot have a multiline plain scalar, such as your include:false transitions be the key to a mapping, that is why you get the mapping values not allowed in this context error.

    Either you forgot that you have to have a space after the value indicator (:), and you meant to do:

            include: false
            transitions:
    

    or you need to quote your multi-line scalar:

            'include:false
            transitions':
    

    or you need to put that plain scalar on one line:

            include:false transitions:
    

    please note that some libraries do not allow value indicators in a plain scalar at all, even if they are not followed by space