Pase la salida del script de PowerShell a los parámetros de Jenkins.
Estoy tratando de obtener una lista de plantillas de Vsphere y usarlas como parámetros en Jenkins.
He intentado usar una función y ejecutar el comando de PowerShell.
def findtemplates() {
def $vmTemplate = "powershell -command 'Connect-VIServer -server server -User user -Password pass -Force; Get-Template | select name'"
return $vmTemplate
}
Y en la sección de parámetros:
parameters {
choice(name: 'Template', choices: findtemplates(), description: 'test')
}
Pero no funciona.
Se agradecería cualquier ayuda.
davy.ai
Hay algunas cosas que podrían estar causando el problema que estás experimentando. Una posibilidad es que la función
findtemplates()
no esté devolviendo la salida esperada. Puede que quieras intentar ejecutar el comandopowershell
fuera de la función y confirmar que devuelve una lista de plantillas de Vsphere.Otra posibilidad es que la sintaxis utilizada en el parámetro
choice
de Jenkins sea incorrecta. Específicamente, el parámetrochoices
debería ser una lista de cadenas o un cierre que devuelve una lista de cadenas. En tu caso, es posible que necesites modificar la funciónfindtemplates()
para convertir la salida del comando en una lista de cadenas.Aquí tienes un ejemplo de cómo podrías modificar la función
findtemplates()
para que devuelva una lista de nombres de plantillas:En la sección
parameters
, luego puedes llamar a la funciónfindtemplates()
para llenar el parámetrochoices
:Espero que esto ayude. Déjame saber si tienes alguna otra pregunta.