jovo-framework
jovo-framework copied to clipboard
Can't upload skill.json with included householdList API
I'm submitting a...
- [x] Bug report
- [ ] Feature request
- [ ] Documentation issue or request
- [ ] Other... Please describe:
Expected Behavior
It should be possible to deploy a skill that utilizes the householdList
API from Alexa.
Current Behavior
I can't upload a skill.json
which includes householdList
inside the apis
object.
This for example also happens for the example I included in #1418.
I receive the following error code in the console:
Error Log
Additional information
I managed it to upload the skill.json
directly with the Ask CLI
:
ask smapi update-skill-manifest --skill-id <SKILL_ID> --manifest "file:./build/dev/platform.alexa/skill-package/skill.json" --stage development --debug
Your Environment
- Jovo Framework version used: 4.2.28
- Operating System: Windows
How do you set up the permissions?
I tried this example and I got no error
plugins: [
// Add Jovo CLI plugins here
new AlexaCli({
// ...
files: {
'skill-package/skill.json': {
manifest: {
permissions: [
{ name: 'alexa::household:lists:read' },
{ name: 'alexa::household:lists:write' }],
},
},
},
}),
],
Hey @aswetlow! Yes, the permissions
work fine. But for using the list API of Alexa you have to add more data.
You also have to add householdList
to the used apis and add events
to listen to:
plugins: [
// Add Jovo CLI plugins here
new AlexaCli({
// ...
files: {
'skill-package/skill.json': {
manifest: {
permissions: [{ name: 'alexa::household:lists:read' }],
apis: {
householdList: {},
},
events: {
endpoint: {
sslCertificateType: 'Wildcard',
uri: '${JOVO_WEBHOOK_URL}',
},
subscriptions: [
{
eventName: 'ITEMS_CREATED',
},
{
eventName: 'ITEMS_UPDATED',
},
{
eventName: 'ITEMS_DELETED',
},
],
},
},
},
},
}),
],
The problem here lies in the adding of householdList: {},
to the apis.
Thank you!
We do "skill enablement" in our validation process after deployment. Looks like it doesn't work for skills using the householdList
API. Bug on their side? 🤔
There is a workaround. You can skip validation by adding --async
to your deploy command.
jovo deploy:platform alexa --async
Maybe it makes sense to remove the enable skill
functionality from the validation part.