actualizar las credenciales de Jenkins por script

Tengo un servidor Jenkins ejecutándose en Windows. Almacena un nombre de usuario: contraseña en el complemento de credenciales. Este es un usuario del servicio que actualiza su contraseña regularmente.

Estoy buscando una forma de ejecutar un script, preferiblemente Powershell, que actualice esa credencial en el almacén de contraseñas de Jenkins para que siempre esté actualizada cuando la use en un script de trabajo de compilación.

La contraseña es administrada por una instalación de Thycotic Secret Server, por lo que debería ser capaz de automatizar el proceso de mantener esta contraseña actualizada, pero casi no he encontrado pistas sobre cómo lograr esto, aunqueentrada en el blog por el tipo que escribió la api de credenciales menciona casi exactamente este escenario y luego procede a vincular a la página de descarga del complemento de credenciales que no dice nada acerca de cómo usar realmente la api.

Actualizar

La respuesta aceptada funciona perfectamente, pero el ejemplo de llamada al método rest es usar curl, lo que si está usando Windows no ayuda mucho. Especialmente si está intentando invocar la URL REST pero su servidor Jenkins está utilizando AD Integration. Para lograr esto, puede usar el siguiente script.

Encuentre el ID de usuario y el token de API yendo a Personas> Usuario> configurar> Mostrar token de API.

$user = "UserID"
$pass = "APIToken"
$pair = "${user}:${pass}"

$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)
$base64 = [System.Convert]::ToBase64String($bytes)

$basicAuthValue = "Basic $base64"

$headers = @{ Authorization = $basicAuthValue }



Invoke-WebRequest `
    -uri "http://YourJenkinsServer:8080/scriptler/run/changeCredentialPassword.groovy?username=UrlEncodedTargetusername&password=URLEncodedNewPassword" `
    -method Get `
    -Headers $headers

Respuestas a la pregunta(3)

Su respuesta a la pregunta