jovotech / jovo-cli

đź›  Command Line Interface for the Jovo Framework: Makes voice experience deployment a breeze, including features like local development and staging.
https://www.jovo.tech/marketplace/jovo-cli
Apache License 2.0
57 stars 31 forks source link

Interfaces node gets clobbered from skill.json after jovo build with stages #43

Closed rmtuckerphx closed 6 years ago

rmtuckerphx commented 6 years ago

I'm submitting a...

Expected Behavior

Allow specifying the interfaces node in skill.json and have it not be removed when doing a build and using the stages feature.

Current Behavior

Using the stages feature specifying different endpoints. If my skill.json file has an interfaces node like this:

app.json

"stages": {
    "debug": {
      "endpoint": "https://xyz-ABC.bespoken.link",
      "alexaSkill": {
        "skillId": "amzn1.ask.skill.4..."
      }
    },

skill.json (before)

        "apis": {
            "custom": {
                "endpoint": {
                    "sslCertificateType": "Wildcard",
                    "uri": "https://xyz-ABC.bespoken.link"
                },
                "interfaces": [
                    {
                        "type": "RENDER_TEMPLATE"
                    }
                ]
            }
        },

And then I do a build like the following, the interfaces node is clobbered/removed:

jovo build -p alexaSkill --stage debug

skill.json (after)

        "apis": {
            "custom": {
                "endpoint": {
                    "sslCertificateType": "Wildcard",
                    "uri": "https://xyz-ABC.bespoken.link"
                }
            }
        },

Error log

None

Your Environment

jankoenig commented 6 years ago

Thank you. We're working on the fix. In the meantime, you can fix this by adding the following to your app.json:

"alexaSkill": {
        "manifest": {
            "apis": {
                "custom": {
                  "interfaces": [
                    {
                      "type": "RENDER_TEMPLATE"
                    }
                  ]
                }
            }
        }
    },

Here is more information about how to override manifest elements: https://www.jovo.tech/docs/app-json#alexaskill

aswetlow commented 6 years ago

Fixed! Thanks, @rmtuckerphx

rmtuckerphx commented 6 years ago

Still an issue in Jovo CLI 1.1.8

Running: jovo build -p alexaSkill --stage dev

Still deletes:

"interfaces": [
  {
    "type": "RENDER_TEMPLATE"
  }
]
jankoenig commented 6 years ago

Hi Mark, this got fixed with Jovo CLI 1.1.9 (https://github.com/jovotech/jovo-cli/blob/master/CHANGELOG.md).

Could you update to the latest CLI version and give it another try?

jankoenig commented 6 years ago

Oh, just seeing that 1.1.9 isn't published to npm yet. cc @aswetlow

aswetlow commented 6 years ago

My bad. It's published now