Skip to content

Latest commit

 

History

History
85 lines (72 loc) · 3.57 KB

configuration.md

File metadata and controls

85 lines (72 loc) · 3.57 KB

Integration Config

A Franz recipe is a node module. In order to learn more about node modules and their configuration check the official Node.js documentation / npm package.json documentation.

Table of Contents

Config flags

string id
Unique identifier name of the plugin. The name of the plugin folder has to be the same.

string name
Display name of the service.

string version
Version number. Will be used for auto updating the integrations. The version number must be in a semver compatible format: 1.0.0. important: the version will be used to figure out if a new recipe update should be deployed to the user.

string desciption
Short description about your integration. Will be displayed in a future release.

string main
The plugins main entry point. In our case index.js.

string author
Author of the integration. Will be displayed in a future release.

string license
The license of the integration. We prefer MIT, but here is a list of all the available SPDX licenses http://spdx.org/licenses/

object config
This is the Franz specific integration config.

  • string serviceURL
    Defines the URL that should be loaded into the Franz webview.

    If you want to load a simple URL like https://www.messenger.com, you can simply define it via the serviceURL parameter. If your service URL is team based, e.g. Slack or HipChat you can use https://{teamID}.slack.com.

    If your service works with custom URLs, just leave this empty.

    Examples
{
    "serviceURL": "https://www.messenger.com"
}

```json { "serviceURL": "https://{teamID}.slack.com" } ``` * `boolean` **hasTeamID** _default: true_
Is this a team based service? If true, the interface to add the service will require a team identifier. e.g. `[teamID]`.slack.com * `boolean` **urlInputSuffix**
This option is only used in combination with `hasTeamId: true` in order to display the value of `urlInputSuffix` after the input for TeamId to make it obvious to the user what input is required from him. Eg. _<TeamID>.hipchat.com_ * `boolean` **hasCustomUrl** _default: false_
On premise services like HipChat, Mattermost, ... require a custom URL. This option enables the user to enter a custom URL when adding the service. * `boolean` **hasNotificationSound** _default: false_
Some services provide their own notification sound. In order to avoid multiple sounds when the user receives a message set this to `true`. If the service has no built in notification sound set this to `false`. * `boolean` **hasIndirectMessages** _default: false_
Services like Slack or HipChat have direct messages e.g. a mention or message to every user in a channel (@channel) and indirect messages e.g. general discussion in a channel. If this flag is set to `true`, the user can enable/disable if there should be a badge for indirect messages. * `string` **message**
Info message that will be displayed in the add/edit service interface.

Example

HipChat configuration

{
  "id": "mattermost",
  "name": "Mattermost",
  "version": "1.0.0",
  "description": "Mattermost",
  "main": "index.js",
  "author": "Stefan Malzner <[email protected]>",
  "license": "MIT",
  "config": {
    "hasNotificationSound": true,
    "hasIndirectMessages": true,
    "hasCustomUrl": true
  }
}