Get information about the Navigation Menu Editors developer resources
JavaScript API
If you want to create the menu markup yourself, we have created a JavaScript component with which you can get 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/1.0/menu | Returns the navigation structure in JSON format | Everyone |
| Returns the unfiltered navigation structure in JSON format | Admins, Editors | |
| GET menueditor/1.0/menu/backup/{backupKey} | Returns the backuped navigation structure in JSON format | Admins, Editors |
| DELETE menueditor/1.0/lockservice/unlock | Ends the locked session of the current menu editor | Everyone |
Menu Editor Configuration and user fields
| Resource | Description | Permission |
|---|---|---|
| GET menueditor/1.0/configuration | Retrieve the list of fields, that are configured for filtering | Everyone |
| GET linchpin/1.0/fields | Returns the possible user fields | Everyone |
| GET linchpin/1.0/cupinstalled | Checks Custom User Profile Plugin is installed | Everyone |
Menu Editor profile and permissions
| Resource | Description | Permission |
|---|---|---|
| GET menueditor/1.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/1.0/permissions | Grant edit permission to a user or group | Admin |
| DELETE menueditor/1.0/permissions/{name} | Revoke edit permission of a user or group | Admin |
| Get the user profile data of a user | Everyone |
Menue Resource Details
GET menueditor/1.0/menu
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.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":"Kategorie 1",
"type":"category",
"targetBlank":false,
"menu":{
"entries":[
{
"title":"Item 1.1",
"link":"http://www.example.com",
"type":"entry",
"targetBlank":false
},
{
"title":"Item 1.2",
"link":"http://www.example.com",
"type":"entry",
"targetBlank":false
},
{
"title":"Kat 1.3",
"type":"category",
"targetBlank":false
},
{
"title":"Item 1.5 (mit Unterelementen)",
"link":"http://www.example.com",
"type":"entry",
"targetBlank":false,
"menu":{
"entries":[
{
"title":"Kat 1.5.1",
"type":"category",
"targetBlank":false
},
{
"title":"Item 1.5.2",
"link":"http://www.example.com",
"type":"entry",
"targetBlank":false
}
]
}
}
]
}
},
{
"title":"Kategorie 2",
"type":"category",
"targetBlank":false,
"menu":{
"entries":[
{
"title":"Item 2.1",
"link":"http://www.example.com",
"type":"entry",
"targetBlank":false
},
{
"type":"separator",
"targetBlank":false
},
{
"title":"Item 2.3",
"link":"http://www.example.com",
"type":"entry",
"targetBlank":false
},
{
"title":"Item 2.4 (ohne Link)",
"link":"",
"type":"entry",
"targetBlank":false
}
]
}
}
]
}
GET menueditor/1.0/menu/unfiltered
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/menu/unfiltered
Parameters
-
Result (Example)
Have a look at GET menueditor/1.0/menu
GET menueditor/1.0/menu/backup/{backupKey}
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/menu/unfiltered
Parameters
-
Result (Example)
Have a look at GET menueditor/1.0/menu
DELETE menueditor/1.0/lockservice/unlock
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/lockservice/unlock
Parameters
-
Result
null
GET menueditor/1.0/configuration
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/configuration
Parameters
-
Result (Example)
[ "confluece.locale", "cup.location-5", "cup.department-7" ]
GET linchpin/1.0/fields
Resource URL: <HOST><CONTEXT>/rest/linchpin/1.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/1.0/cupinstalled
Resource URL: <HOST><CONTEXT>/rest/linchpin/1.0/cupinstalled
Parameters
-
Result (Example)
false
GET menueditor/1.0/permissions/check
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/permissions/check
Parameters
-
Result (Example)
{
"permitted":true
}
GET menueditor/1.0/permissions
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.0/permissions
Parameters
-
Result (Example)
{
"permissions": [
{
"name": "editor",
"type": "user",
"fullname": "Eddi Editor"
},
{
"name": "Editors",
"type": "group"
}
]
}
POST menueditor/1.0/permissions
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.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/1.0/permissions/{name}
Resource URL: <HOST><CONTEXT>/rest/menueditor/1.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/1.0/profile
Resource URL: <HOST><CONTEXT>/rest/linchpin/1.0/profile
Parameters
-
Result
{
"confluence.fullname": "admin",
"confluence.name": "admin",
"confluence.locale": "de_DE",
"confluence.email": "admin@example.com"
}