Configuration
plugin-manifest.json
Here's a sample JSON descriptor file for your reference.![]()
Now we'll see how to define the properties of this file.
locale
The language the extension supports. Currently, we support the locale "en" (English) only.
| Key | Type | Value |
|---|---|---|
| locale* | JSONArray | en |
service
Name of the Zoho product for which the extension is created. Here, it is "BUGTRACKER".
| Key | Type | Value |
|---|---|---|
| service* | String | BUGTRACKER |
storage
If this setting is true, storage space will be allocated in the product for this extension. By default, the value will be false.
| Key | Type | Value |
|---|---|---|
| storage* | Boolean |
|
whiteListedDomains
The domains specified in this array can be called from the extension. Calls to other domains, except the ones with which a connection is established, will not be handled from the extension. If your extension doesn't use any third-party service, then this array can be declared empty.
| Key | Type | Value |
|---|---|---|
| whiteListedDomains* | Array |
modules
Modules of the extension. We support widgets currently.
| Key | Type | Value |
|---|---|---|
| modules | JSONObject | Example: "widgets":[{ |
widgets
This key holds an array of objects. Every object has three keys - 'location', 'name', and 'URL'.
| Key | Type | Object Details | |||
|---|---|---|---|---|---|
| widgets | JSONArray | Key | Type | Description | Value |
| location | String | Places where the extension has to be rendered in the product. |
Note: The location name must be unique. | ||
| name | String | The name of the widget. | Example: Checklist | ||
| url | URL | The relative path of the file that loads the widget. | /app/index.html | ||
| icon | String | The icon of the widget. | An icon is mandatory for the project tab and attachment picker. | ||
An extension can have multiple widgets.
connectors
Like widgets, this key also holds an array of objects. A connector helps to integrate an extension with a third-party service. Authorization of such third-party services is usually handled by Zoho BugTracker.
| Key | Type | Object Details | |||
|---|---|---|---|---|---|
| connectors | JSONArray | Key | Type | Description | Value |
| connectionLinkName | String | Link name generated for the third-party service connection | The value of the connectionLinkName param generated in the JSON tab of the connection summary. Note: The connection name must be unique. | ||
| connectionName | String | Name of the connection | The value of the connectionName param generated in the JSON tab of the connection summary. | ||
| serviceName | String | Name of the third-party service | The value of the serviceName param generated in the JSON tab of the connection summary. | ||
| userAccess | Boolean | This parameter decides whether the extension has to be authorized by each user individually or it has to be authorized only by the admin. |
| ||
| isUserDefinedService | Boolean | Is the connection established with a custom service? |
| ||
| Scope | JSONArray | The access privilege set for users/admins. | Example: ["https://www.googleapis.com/auth/drive.readonly"] | ||
config
This key can be used when you have to get more inputs from the user to operate the extension. Say, you need the user's domain name of a third-party service for your extension to function. To fetch it, you can use this key to get input from the user accordingly.
| Key | Type | Object Details | |||
|---|---|---|---|---|---|
| config | JSONArray | Key | Type | Description | Value |
| name* | String | Name of the parameter. | The name should be unique. | ||
| type* | String | The data type of the parameter |
| ||
| default | String | The default value of the parameter | Note: This parameter is optional. | ||
| options | JSON array | Options are mandatory if 'select box' is chosen as the type. | Example ["New feature", "Enhancement"] | ||
| is_secure* | Boolean | Setting this to "true" prevents the developer from accessing this configuration from the extension. |
| ||
| is_mandatory | Boolean | Is the configuration mandatory? |
| ||
| description | String | A brief description of the configuration | Note: This parameter is optional. | ||