http://www.magestore.com/magento-2-tutorial/how-to-create-admin-menu-in-magento-2/
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
<menu>
<add id="Magestore_CustomMenu::menu" title="Custom Menu" module="Magestore_CustomMenu" sortOrder="10" resource="Magestore_CustomMenu::create"/>
<add id="Magestore_CustomMenu::menu_item" title="Manage Items" module="Magestore_CustomMenu" sortOrder="10" parent="Magestore_CustomMenu::menu" action="custommenu/create/index" resource="Magestore_CustomMenu::menu_item"/>
<add id="Magestore_CustomMenu::menu_configuration" title="Setting" module="Magestore_CustomMenu" sortOrder="20" parent="Magestore_CustomMenu::menu" action="adminhtml/system_config/edit/section/menu" resource="Magestore_CustomMenu::menu_configuration"/>
</menu>
</config>
Attributes:
- id: identifier of this menu. It’s a unique string and has to follow this format: [Namespace_ModuleName]::[menu_name].
- title: the text which displays on the menu bar.
- module: name of module, format: [Namespace_ModuleName]
- sortOrder: define the position of the menu, the lower value will display on top of the menu.
- parent id of parent menu
- action: URL which is redirected when click to the menu, format: [router_name]/[controller_name]/[action_name]
- resource uses to defined ACL rule of the user role. Admin can use it to set permissions for any users.