You can use the manifest.json file (also called the app manifest) to specify,
- App start-up parameters - such as the platform version used to build the app, the node version used, and so on.
- App property parameters - such as the locations where the app is deployed, and so on.
When you use the fdk create command and generate the front-end app files, the app manifest generated contains default attributes. To configure the app manifest for your app, you can modify the attribute values, delete (non-mandatory) attributes that your app does not require, or add appropriate attributes.
After creating the front-end app files, to configure the app manifest, do one of the following:
- From the app’s root directory, navigate to manifest.json and manually configure the attributes. Or
- Use the fdk generate command to edit the default manifest.json.
App manifest attributes - description and how to configure them
- platform-versionstringRequired
Platform version you use to build the app. This value is auto-generated when you create the default app files by using the fdk create command.
- modulesobjectRequired
Specifies all modules on which the app can be deployed.
When you create an app by using the fdk create command, the default app manifest is created with the common and support_ticket modules. You can edit the app manifest and replace the support_ticket module or add additional modules.Important:- The app manifest must contain at least one module (apart from the common module).
- Even if your app is built only for the common module, ensure that the modules object contains at least one module in addition to the common module. In this case, the other module(s) can be an empty JSON object. This other module’s name ties the app to the product on which the app is eventually deployed.
- commonobject
Specifies the common placeholder where an app can be rendered. Common placeholders are common to most SKUs and are independent of a product’s UI page.
Important:An app deployed in a common placeholder, can only use common front-end methods - front end methods that can be invoked irrespective of the placeholder on which the app is deployed.
- locationobjectRequired
Details of the common location(s) where the app is rendered.
When you create the front-end app files by using the fdk create command, default values are populated in this attribute. When you build the app, replace the default values of this attribute with the common placeholder(s) pertaining to your app.
For information on all available common placeholder locations where your front-end app can be deployed, see Include common placeholders.- <placeholder-name>objectRequired
Name of the placeholder where the app is rendered.
When you build an app, replace the default placeholder name with the placeholder name pertaining to your app and enter the appropriate placeholder information in the child attributes.
For information on all available placeholder location names, see Include common placeholders.- urlstringRequired
Relative path from the app project directory to the index.html file based on which the UI component of the app is rendered. The contents of the index.html file are used to render the app in an IFrame at the specified placeholder location.
Default value: index.html (file in the app directory). When you build an app, you can modify the default url value and the name of the index.html file.
Caution:If you modify the template.html filename, ensure to specify the correct path and filename as the url value. - iconstringRequired
Relative path from the app project directory to an image file (in SVG format). The image is used as the app’s icon when the app is rendered on the UI. Ensure that the resolution of the image is 64 x 64 pixels.
Default value: icon.svg (file in the app directory). When you build an app, you can modify the default icon value.
Caution:If you store your app icon with a name other than icon.svg, ensure to specify the correct path and filename as the icon value.
- requestsobject
All configured request templates that the app code uses, in the following format.
Notes:"requests": { "<requestTemplateName>":{ "<option-name>": "<option-value>", "<option-name1>": "<option-value1>" … }, "<requestTemplateName1>": {} … }- <requestTemplateName> must be the same as that configured in config/requests.json.
- Possible values of <option-name> are maxAttempts, retryDelay, and oauth. If an option is specified in both manifest.json and config/requests.json, the option value specified in manifest.json takes precedence.
- <module_name>objectRequired
Contains the locations (placeholders) on the product UI where the app can be rendered. The placeholders must be compatible with the module identified by <module_name>.
In the default app manifest, created through the fdk create command, the <module-name> is support_ticket. You can edit the module name to replace it with the module where you want your app to be rendered. You can also add new modules, in addition to the support_ticket module.- locationobjectRequired
Details of the location(s), other than common locations, on the product's UI, where the app is rendered.
This attribute is not available by default. When you build the app, include this attribute and populate it with the location(s) pertaining to your app. An app can be rendered in multiple locations and inside this object, you can specify multiple placeholder locations.
For information on all available placeholder locations where your front-end app can be deployed, see Include placeholders for app deployment.- <placeholder-name>objectRequired
Name of the placeholder where the app is rendered.
When you build an app, replace the default placeholder name with the placeholder name pertaining to your app and enter the appropriate placeholder information in the child attributes.
For information on all available placeholder location names, see Include placeholders for app deployment.- urlstringRequired
Relative path from the app project directory to the index.html file based on which the UI component of the app is rendered. The contents of the index.html file are used to render the app in an IFrame at the specified placeholder location.
- iconstringRequired
Relative path from the app project directory to an image file (in SVG format). The image is used as the app’s icon when the app is rendered on the UI. Ensure that the resolution of the image is 64 x 64 pixels.
- scriptsobject
Contains the unit testing framework details.
- fdk-unit-teststring
Specifies the unit testing framework to be used when running tests for the app.
- enginesobjectRequired
Node.js and FDK versions that are used to build the app. When you create the front-end app files by using the fdk create command, this attribute value is auto-populated.
- nodestring
Node.js version on which the app is built.
- fdkstring
FDK version that is used to build, test, validate, and pack the app.
- appobject
Information pertaining to the app metrics, auto-generated when the app is created.
Note:Currently, this object is auto-generated only when the app uses any Freddy Copilot features.
- trackingIdstring
Identifier for the app.
- startTimestring
Timestamp of when the app was created, specified in the UTC format.