Failed to install app: Error creating requirements
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"}
{
"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"
}
}
}
-
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!
-
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:
{
"name": "Most Awesome Integration",
"id": "most-awesome-integration",
"author": "Best Author",
"private": false,
"urls": {
"admin_ui": "https://a-local-ngrok-url/admin_ui"
},
"version": "1.0.0"
}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:
{
"name": "Most Awesome Integration",
"id": "most-awesome-integration",
"author": "Best Author",
"defaultLocale": "en",
"urls": {
"admin_ui": "https://a-local-ngrok-url/admin_ui"
},
"version": "1.0.0"
}I receive › Error: Missing required field in manifest: location
When I add a location to the manifest.json
{
"name": "Most Awesome Integration",
"id": "most-awesome-integration",
"author": "Best Author",
"defaultLocale": "en",
"location": {
"support": {
"ticket_sidebar": {
"url": "assets/iframe.html",
"flexible": true
}
}
},
"urls": {
"admin_ui": "https://a-local-ngrok-url/admin_ui"
},
"version": "1.0.0"
}I receive › Error: App locations must not be URLs for this framework version.
So then I add `frameworkVersion`:{
"name": "Most Awesome Integration",
"id": "most-awesome-integration",
"author": "Best Author",
"defaultLocale": "en",
"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"
}
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? -
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.
-
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 🙌!
-
Glad that helped! Our team has been going through our docs trying to find friction points like this and pushing changes through or requesting entire rewrites. Please let us know if you run into any more issues like this, we definitely want to get this cleaned up.
댓글을 남기려면 로그인하세요.
5 댓글