For a number of different entities users can create custom toolbar buttons that run an automate method on the particular entity, let that automate method calculate a URL and then have the UI open such URL in a new window.
Create custom button with Automate method:
-
Automation -> Automate -> Explorer:
a) create a new domain with a name
b) select ManageIQ/System/Request
c) Configuration -> Copy this Class (copy it to your new domain from step 1a)
d) select Request Class in your new domain -> Configuration -> Add a new Instance
- name
TestOpenUrl
- to
meth1
writetest_open_url
e) Select Request class in your new domain, click Methods -> Configuration -> Add a new Method
- type: inline
- name: test_open_url
- data should be (or anything that sets
vm.external_url
to something):
- name
vm = $evm.root['vm']
$evm.log(:info, "VM to launch SSH for is #{vm.hostnames[0]}")
vm.external_url = "https://www.google.com"
important: use URL including the protocol (https) or the browser will ignore the request
also disable URL pop-up blocking in your browser to make this work
Automation -> Automate -> Customization -> Buttons
Create a new button for VMs with "Open Url" checked and either w/ or w/o a "Dialog" and "Request" has to be TestOpenUrl
Go to VM summary page and click the new button.
After clicking the button or after submitting the dialog (if you selected one) you will be redirected to VM summary page and a new page will open in a new browser tab.
$evm.log(:info, "Current user_id #{$evm.root['user_id']}")
object = $evm.vmdb($evm.root['vmdb_object_type']).find_by(:id => $evm.root['user_id'])
$evm.log(:info, "Current object #{object}")
object.external_url = "https://www.linkedin.com"