The current plug-in looks at the labels of a slave that comes online and verifies if those labels are still valid.
That same validation script/command can also be used to auto-detect whether some label is applicable to any slave that comes online and automatically update its labels accordingly.
For example, Jenkins could check the installed python version whenever a slave comes online and update (i.e. add, remove or replace) that slave's labels accordingly.
If python 2.6 was replaced by python 3.3 on the system and therefore only python version 3.3 is found, label 'python-2.6' is no longer valid and should be removed and label 'python-3.3' becomes valid and should be added. The general 'python' label will still be valid and remains unchanged.
In the label configuration page, the user may then choose between the verification and auto-detect option for each individual label.
A logging feature may be desired, so the administrator knows which labels were added or stripped automatically by the plug-in.
[{"id":-1,"name":"My open issues","jql":"assignee = currentUser() AND resolution = Unresolved order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-2,"name":"Reported by me","jql":"reporter = currentUser() order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-4,"name":"All issues","jql":"order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-5,"name":"Open issues","jql":"resolution = Unresolved order by priority DESC,updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-9,"name":"Done issues","jql":"statusCategory = Done order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-3,"name":"Viewed recently","jql":"issuekey in issueHistory() order by lastViewed DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-6,"name":"Created recently","jql":"created >= -1w order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-7,"name":"Resolved recently","jql":"resolutiondate >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-8,"name":"Updated recently","jql":"updated >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false}]