Skip to content

Latest commit

 

History

History
90 lines (75 loc) · 3.72 KB

configuration.md

File metadata and controls

90 lines (75 loc) · 3.72 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 description
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/

string repository
Link to the Github, Gitlab or Bitbucket public repository

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"
}

{
    "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

Mattermost configuration

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