Forge lint failed to parse content of manifest.yml - could not find environment variable 'value'

Has their been a change to the way forge lint parses the manifest.yml file?

We are now seeing forge lint fail for a line in our manifest.yml that hasn’t changed in nearly 2 years.

$ forge lint

/home/pcampbell/repo/MAIN/manifest.yml
0:0     error    manifest.yml failed to parse content - could not find environment variable 'value'  valid-yaml-required

The section of the manifest.yml that it is complaining about looks like:

modules:
  ...
  jira:customFieldType:                             
    - key: aws-json-field
      name: AWS JSON Field
      description: Field containing a JSON document
      type: object
      formatter:
        expression: '`${value}`'

A workaround is to do export value=foo first, but I don’t want to have to put that in my CI script.

Does removing the backticks change anything? I’m just going off the examples from the docs and it doesn’t seem like it’s needed.

Hi,

Under Formatter example 1 (here: https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#formatter) they use backticks.

We want the backticks as part of the format (i.e. <pre></pre> wrapping the value).

They have been behaving correctly for nearly two years, only now the ${value} is not working.

They broke the formatter syntax by adding “environment variable parsing in the manifest”.
The backticks do not change anything.

Found this in the node_modules of @forge/cli:

# @forge/manifest

## 7.1.0

### Minor Changes

- 83e1cd7: Add environment variable parsing in the manifest

I guess downgrading forge cli to 9.0.0 ist the only solution right now.

1 Like

Thanks. I guess they don’t have tests on their docs.

Update: They reverted the environment variable parsing support and as of forge 9.1.1 the formatter syntax works again :slight_smile: .

# @forge/manifest

## 7.2.0

...

### Patch Changes

- 937db7a: Rollback manifest env var support
1 Like