Update-Problem with different Skill IDs during build and deploy


#1

Hi, my .ask/config does not get updated during build:

  • I have set up in my config.js DEV and PROD environments with different Skill IDs.
    ASK-CLI works fine so far.

  • When I build my DEV version the .ask/config gets created with the DEV Skill ID

  • I can successfully deploy to DEV

  • When I build my PROD version right after, the .ask/config gets NOT UPDATED with the PROD Skill ID. I see still the DEV Skill ID in it and the deploy fails.

  • If I manually update the Skill ID in the .ask/config with the PROD Skill ID the deploy works.

Is this a bug? Shouldn’t the .ask/config file get updated with the new Skill ID during build?
Other ways I would have to update it manually before deploying!?!
Thanks

{
"deploy_settings": {
	"default": {
		"skill_id": "amzn1.ask.skill.25exxxxxxanonymizedxxxxxx",
		"was_cloned": false
	}
}

}


#2

Could you show the relvant parts of your project.js file?

Also, if you remove the Skill ID from the .ask/config ("skill_id": "") and then do $ jovo build --stage prod again, does it get filled or stay empty?


#3

After changing “skill_id”: “” and build --stage prod the skill_id value is still empty.

Here’s my dev setup from config.js:

defaultStage: 'dev',
stages: {
  local: {
    endpoint: '${JOVO_WEBHOOK_URL}',
  },
  dev: {
    alexaSkill: {
       nlu: 'alexa',
       skill_id: 'amzn1.ask.skill.bf386f3f-c568-xxxxxxxxx',
       //askProfile: '<your-ask-cli-profile>',,
       languageModel: {
           'de-DE': {
             invocation: 'hallo welt dev',
           },
         },
       manifest: {
           "manifestVersion": "1.0",
           apis: {
               custom: {
            	 endpoint: {
	                   uri: 'arn:aws:lambda:eu-west-1:xxxxxxxxxxxxx'
	             },
                 interfaces: [
                   {
                     type: 'AUDIO_PLAYER',
                   }
                 ]
               }
           },
    	   'publishingInformation': {
				'locales': {
					'de-DE': {
						'name': 'HelloWorld DEV '
					},
					'en-GB': {
						'name': 'HelloWorld DEV',
					},
					'en-US': {
						'name': 'HelloWorld DEV'
					},
					'en-AU': {
						'name': 'HelloWorld DEV'
					},
					'en-CA': {
						'name': 'HelloWorld DEV'
					}
				},
			    "testingInstructions": "1) Say 'Alexa, hello world'"
			},
           "permissions": [
               {
                 "name": "alexa::profile:name:read"
               },
               {
                 "name": "alexa::profile:email:read"
               }
             ]

       },
    },

#4

How does your ‘prod’ stage look like?


#5
prod: {
    alexaSkill: {
       nlu: 'alexa',
       skill_id: 'amzn1.ask.skill.25e5010d-eb22-4934-xxxxxxxxxxxxxxx',
       //askProfile: 'HelloWorld',
       manifest: {
           "manifestVersion": "1.0",
           apis: {
               custom: {
            	 endpoint: {
	                   uri: 'arn:aws:lambda:eu-west-1:123123123:function:HelloWorld_prod',
	             },
                 interfaces: [
                   {
                     type: 'AUDIO_PLAYER',
                   }
                 ]
               }
           }}}

#6

Hi, any news on this issue? I am still having this problem, the skill_id in my .ask/config does not change during build, so it is trying to deploy to the wrong skill_id if i don’t update the .ask/config manually. thanks!


#7

Ah, found the issue!

It needs to be skillId instead of skill_id. We use camelCase in the project.js file.


#8

works like a charm now!
Thanks, that was it.


#9

Great! Closing it now


closed #10