atualizar credenciais Jenkins por script

Eu tenho um servidor Jenkins em execução no Windows. Ele armazena um nome de usuário: senha no plug-in de credenciais. Este é um usuário do serviço que atualiza sua senha regularmente.

Estou procurando uma maneira de executar um script, de preferência o Powershell, que atualize essa credencial no armazenamento de senhas Jenkins, para que fique sempre atualizada quando eu o usar em um script de trabalho de construção.

A senha é gerenciada por uma instalação do Thycotic Secret Server, para que eu possa automatizar o processo de manter essa senha atualizada, mas não encontrei quase nenhuma pista sobre como fazer isso, mesmo que opublicação no blog O cara que escreveu as credenciais api menciona quase exatamente esse cenário e passa a vincular apenas à página de download do plug-in de credenciais que não diz nada sobre como realmente usar a API.

Atualizar

A resposta aceita funciona perfeitamente, mas o exemplo de chamada do método rest está usando curl, o que se você estiver usando o Windows não ajudará muito. Especialmente se você estiver tentando chamar a URL REST, mas o servidor Jenkins estiver usando a Integração do AD. Para conseguir isso, você pode usar o seguinte script.

Localize o userId e o token da API, indo em Pessoas> Usuário> configure> Mostrar token da 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

questionAnswers(3)

yourAnswerToTheQuestion