Failed to install app: Error creating requirements
Publicado 19 sept 2022
I am trying to create and install a channel integration application. In the documentation, it says that it needs "channel_integrations" field in the requirements.json file.
https://developer.zendesk.com/documentation/channel_framework/understanding-the-channel-framework/channel_app/
I can create and deploy the application via zcli successfully and it appears in the private apps section in Admin Center -> Zendesk Support apps menu.
However, when I try to install the application I am getting:
Failed to install app: Error creating requirements
500 Internal Server Error: {"status"=>500, "error"=>"Internal Server Error"}
There is no additional information about the error so I cannot debug any further. I cannot
understand what is wrong.
This is the manifest.json:
{
"name": "Most Awesome Integration",
"id": "most-awesome-integration",
"author": {
"name": "BestAuthor",
"email": "best@authorintheworld.xyz",
"url": "https://authorintheworld.xyz"
},
"defaultLocale": "en",
"private": false,
"location": {
"support": {
"ticket_sidebar": {
"url": "assets/iframe.html",
"flexible": true
}
}
},
"urls": {
"admin_ui": "https://a-local-ngrok-URL/admin_ui"
},
"version": "1.0.0",
"frameworkVersion": "2.0"
}
This is the requirements.json:
{
"channel_integrations": {
"most-awesome-integration": {
"manifest_url": "https://a-local-ngrok-URL/manifest"
}
}
}
When I hover over the uploaded private application and click "install", I get a request into the local ngrok url manifest path and it returns 200 and the manifest.json above. So there is no problem with the manifest URL.
When I remove the requirements file and upload and install the application as if it is not a channel integration, it installs without an issue.
I would be glad if you could help me debug what is going on.
0
5
5 comentarios
Greg Katechis
0
Octo
That part of the tutorial was beneficial. The manifest.json file of the application and the integration manifest that must be served via a URL is two different things that were not clear to me at first.
I followed it. zcli uploaded and installed the application without a problem.
Thanks a ton for the help! Highly appreciated 🙌!
0
Greg Katechis
Yes, it looks like you're trying to replace the app's manifest with the information that is supposed to be in the integration manifest. To be clear, your app's manifest (root directory of your app) was not the issue previously, as you were able to successfully upload the app to your instance. The problem is that your integration manifest was not setup correctly and instead you were using the format used by the app manifest.
It's super confusing, I know, so I'd recommend taking a look at this part of the tutorial (or possibly the whole tutorial) to see how to setup the integration manifest.
1
Octo
I removed all the fields from the manifest json that is not present in the integration manifest documentation. And I changed the author field from an object to a string. Following is the resulting json:
When I try to upload the app with this manifest.json
I receive › Error: Missing required field in manifest: defaultLocale
When I add a `defaultLocale` field,
Meaning uploading this manifest.json:
I receive › Error: Missing required field in manifest: location
When I add a location to the manifest.json
I receive › Error: App locations must not be URLs for this framework version.
So then I add `frameworkVersion`:
I receive: › Error: Cannot create app: Author Name can't be blank, Author Email
› can't be blank, There was an error processing your request
Is there something else you think I am doing wrong?
0
Greg Katechis
Hi Octo! I believe that the reason you're seeing this is because you're using the manifest file for ZAF instead of the integration manifest. The error that I'm seeing on my end is that the author needs to be a string, which is how it is setup in the integration manifest. In our logs, I'm seeing the author object that would be present in an app manifest instead.
Let us know if that works!
0
Iniciar sesión para dejar un comentario.