Choose your language:
    Update a plugin
    Parameters
    name  string  Optional

    The name of the plugin

    description  null, string  Optional

    A description of the plugin

    url  string  Optional

    The entry point URL of the plugin

    parameters  object  Optional

    Global plugin configuration. Plugins can persist whatever information they want in this object to reuse it later.

    packageVersion  null, string  Optional

    The installed version of the plugin (or null if it's a private plugin)

    permissions  Array<string>  Optional

    Permissions granted to this plugin

    Returns
    Returns a plugin object.

    Examples

    Update of plugin global parameters (both private and public)
    Example code:
    const { SiteClient } = require('datocms-client');
    async function run() {
    const client = new SiteClient('YOUR-API-TOKEN');
    const pluginId = '124';
    const plugin = await client.plugin.update(pluginId, {
    parameters: { foo: 'bar' },
    });
    console.log(plugin);
    }
    run();
    Returned output:
    {
    "id": "124",
    "name": "5 stars",
    "description": "A simple field editor that allows a nicer editing rating experience",
    "packageName": "datocms-plugin-star-rating-editor",
    "packageVersion": "0.0.4",
    "url": "https://cdn.rawgit.com/datocms/extensions/master/samples/five-stars/extension.js",
    "permissions": ["currentUserAccessToken"],
    "parameters": { "foo": "bar" }
    }
    Upgrade of a public plugin
    Example code:
    const { SiteClient } = require('datocms-client');
    async function run() {
    const client = new SiteClient('YOUR-API-TOKEN');
    const pluginId = '124';
    const plugin = await client.plugin.update(pluginId, {
    packageVersion: '2.0.0',
    });
    console.log(plugin);
    }
    run();
    Returned output:
    {
    "id": "124",
    "name": "5 stars",
    "description": "A simple field editor that allows a nicer editing rating experience",
    "packageName": "datocms-plugin-star-rating-editor",
    "packageVersion": "2.0.0",
    "url": "https://cdn.rawgit.com/datocms/extensions/master/samples/five-stars/extension.js",
    "permissions": ["currentUserAccessToken"],
    "parameters": { "foo": "bar" }
    }
    Update of private plugin configuration
    Example code:
    const { SiteClient } = require('datocms-client');
    async function run() {
    const client = new SiteClient('YOUR-API-TOKEN');
    const plugin = await client.plugins.create({
    name: '5 stars',
    description:
    'A simple field editor that allows a nicer editing rating experience',
    url: 'https://cdn.rawgit.com/datocms/extensions/master/samples/five-stars/extension.js',
    permissions: ['currentUserAccessToken'],
    });
    console.log(plugin);
    }
    run();
    Returned output:
    {
    "id": "124",
    "name": "5 stars",
    "description": "A simple field editor that allows a nicer editing rating experience",
    "packageName": null,
    "packageVersion": null,
    "url": "https://cdn.rawgit.com/datocms/extensions/master/samples/five-stars/extension.js",
    "permissions": ["currentUserAccessToken"],
    "parameters": { "foo": "bar" }
    }