- Created by Administrator, last modified by Seibert Media employee on Sep 27, 2017
Navigation Menu Editor
Create a user specific navigation
See the documentation for your Release
Incompatible API changes
From version 1.9 to 2.0 of the Navigation Menu Editor plugin we made some incompatible changes on the REST API. Therefore we introduced a new 2.0 endpoint to the REST API. Please have a look at the following documentation.
JavaScript API
In some cases it may be desirable to render the menu structure yourself. We have built a JavaScript component that gets the menu structure for the current user in JSON format.
/** * Get the JSON representation for the menu of the current user. * @param callback Function to process JSON, e.g. processJSON(Object menuJson){ ... } */ SeibertMedia.MenuEditor.MenuBuilder.buildJsonMenu(function callback)
Navigation Menu Editor REST API
REST API Resources
Navigation structure
Resource | Description | Permission |
---|---|---|
GET menueditor/2.0/menu | Returns the navigation structure in JSON format | Everyone |
POST menueditor/2.0/menu | Creates a new menu and publishes it | Admins, Editors |
GET menueditor/2.0/menu/draft/{key} | Returns a draft in JSON format | Admins, Editors |
POST menueditor/2.0/menu/draft | Creates a new draft (saves the navigation structure without publishing it) | Admins, Editors |
Returns the latest saved unfiltered navigation structure in JSON format. | Admins, Editors | |
Admins, Editors | ||
Replaced by DELETE menueditor/2.0/lock in 2.0 | Everyone | |
DELETE menueditor/2.0/lock | Replaces menueditor/1.0/lockservice/unlock | Everyone |
Menu Editor Configuration and user fields
Resource | Description | Permission |
---|---|---|
GET menueditor/2.0/configuration | Retrieve the list of fields that are configured for filtering | Everyone |
GET linchpin/2.0/fields | Returns the possible user fields | Everyone |
GET linchpin/2.0/cupinstalled | Checks Custom User Profile Plugin is installed | Everyone |
Menu Editor profile and permissions
Resource | Description | Permission |
---|---|---|
GET menueditor/2.0/permissions/check | Returns true or false if the current logged in user has permission to edit the navigation structure | Everyone |
Get a list of all permitted users and groups | Admin | |
POST menueditor/2.0/permissions | Grant edit permission to a user or group | Admin |
DELETE menueditor/2.0/permissions/{name} | Revoke edit permission of a user or group | Admin |
Get the user profile data of a user | Everyone |
Menu Resource Details
GET menueditor/2.0/menu
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/menu
Parameters
filter0 | Specifies the value for the first set up user field. |
filter1 | Same as above. Filter value for the second set up user field. |
filter2 | Same as above. Filter value for the third set up user field. |
Result (Example)
{ "entries":[ { "title":"Item 1", "entityID":"852021", "type":"internal-page-link", "link":"", "targetBlank":false, "filters":[ "", "", "" ], "menu":{ "entries":[ { "entityID":"", "title":"Item 1.1", "link":"http://www.example.com", "type":"external-link", "targetBlank":false, "filters":[ "", "", "" ] }, { "entityID":"", "title":"Item 1.2", "link":"http://www.example.com", "type":"external-link", "targetBlank":false, "filters":[ "", "", "" ] }, { "entityID":"SPACE", "title":"Item 1.3", "link":"", "type":"internal-space-link", "targetBlank":false, "filters":[ "", "", "" ] }, { "entityID":"", "title":"Category 1.4 (with subcategory)", "link":"", "type":"category", "targetBlank":false, "filters":[ "", "", "" ] "menu":{ "entries":[ { "entityID":"", "title":"Category 1.4.1", "link":"", "type":"category", "targetBlank":false, "filters":[ "", "", "" ] } ] } } ] } } ] }
key | description |
---|---|
entityID | ID of the Confluence Entity (Page ID or SpaceKey) |
title | |
link | external URL if entry is an external link |
type | "category", "separator", "internal-space-link", "internal-page-link", "dashboard-link", "external-link" |
targetBlank | if "true", the link opens in a new tab/window |
filters |
POST menueditor/2.0/menu
NEW IN 2.0
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/menu
Parameters: -
GET menueditor/2.0/menu/draft/{draftKey}
NEW IN 2.0
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/menu/draft
Parameters: -
POST menueditor/2.0/menu/draft
NEW IN 2.0
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/menu/draft
Parameters: -
GET menueditor/2.0/menu/unfiltered
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/menu/unfiltered
Parameters
-
Result (Example)
Have a look at GET menueditor/2.0/menu
GET menueditor/1.0/menu/backup/{backupKey}
REMOVED IN 2.0
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/menu/unfiltered
Parameters
-
Result (Example)
Have a look at GET menueditor/2.0/menu
DELETE menueditor/1.0/lockservice/unlock
REMOVED IN 2.0
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/lockservice/unlock
Parameters
-
Result
null
DELETE menueditor/2.0/lock
NEW IN 2.0
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/lock
Parameters
-
Result
null
GET menueditor/2.0/configuration
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/configuration
Parameters
-
Result (Example)
[ "confluence.locale", "cup.location-5", "cup.department-7" ]
GET linchpin/2.0/fields
Resource URL: <HOST><CONTEXT>/rest/linchpin/2.0/fields
Parameters
-
Result (Example)
[ { "userFieldBK": "confluence.name", "labelPropertyKey": "Name" }, { "userFieldBK": "confluence.email", "labelPropertyKey": "Email" }, { "userFieldBK": "confluence.fullname", "labelPropertyKey": "Fullname" }, { "userFieldBK": "confluence.locale", "labelPropertyKey": "Locale" } ]
GET linchpin/2.0/cupinstalled
Resource URL: <HOST><CONTEXT>/rest/linchpin/2.0/cupinstalled
Parameters
-
Result (Example)
false
GET menueditor/2.0/permissions/check
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/permissions/check
Parameters
-
Result (Example)
{ "permitted":true }
GET menueditor/2.0/permissions
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/permissions
Parameters
-
Result (Example)
{ "permissions": [ { "name": "editor", "type": "user", "fullname": "Eddi Editor" }, { "name": "Editors", "type": "group" } ] }
POST menueditor/2.0/permissions
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/permissions
Parameters
name | Name of the user or group that should be permitted to edit the menu |
Result (Example)
{ "permissions": [ { "name": "editor", "type": "user", "fullname": "Eddi Editor" }, { "name": "Editors", "type": "group" } ] }
DELETE menueditor/2.0/permissions/{name}
Resource URL: <HOST><CONTEXT>/rest/menueditor/2.0/permissions/{name}
Parameters
name | Name of the user or group that should be removed |
Result (Example)
{ "permissions": [ { "name": "editor", "type": "user", "fullname": "Eddi Editor" }, { "name": "Editors", "type": "group" } ] }
GET linchpin/2.0/profile
Resource URL: <HOST><CONTEXT>/rest/linchpin/2.0/profile
Parameters
-
Result
{ "confluence.fullname": "Admin Istrator", "confluence.name": "admin", "confluence.locale": "de_DE", "confluence.email": "admin@example.com" }
- No labels
This content was last updated on 09/27/2017.
This content hasn't been updated in a while. That doesn't have to be a problem. Some of our pages live for years without becoming obsolete.
Old content can be incorrect, misleading or outdated. Please get in contact with us via a form on this page, our live chat or via email with content@seibert.group if you are in doubt, have a question, suggestion, or want changes from us.