Passing curly braces from yaml to pipeline

I have Jenkins, helm and kubernetes.
Source code here - infrastructure-as-a-code-example/terraform-helm-release-jenkins-out-job2 at main · patsevanton/infrastructure-as-a-code-example · GitHub

The problem is that the value of google Storage Download is passed to jenkins incorrectly
Minimal yaml:

controller:
  JCasC:
    configScripts:
      job-config: |
        "jobs":
        - "script": |2
            pipelineJob('job1') {
              parameters {
                  stringParam('EXTERNAL_NUM', '', 'EXTERNAL_NUM')
              }
              definition {
                cps {
                  script("""\
                    pipeline {
                      agent any
                      stages {
                        stage ('build') {
                          steps {
                            googleStorageDownload \
                                bucketUri: "gs://bucket/xxxx/allure-results.${EXTERNAL_NUM}.tar.gz",
                                credentialsId: 'xxxx',
                                localDirectory: ''

but i get inccorect pipeline without ${EXTERNAL_NUM}

how fix it?

I think you want to escape the $

bucketUri: "gs://bucket/xxxx/allure-results.\${EXTERNAL_NUM}.tar.gz"