Как зашифровать пароль через URL скрипта jenkins, используя ANSIBLE PlayBook - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь зашифровать пароль с помощью URL-адреса сценария jenkins, используя приведенную ниже команду. Я могу сделать это успешно.

Для этого необходимо создать токен CRUMB, чего я достиг.

URL:

http://localhost:8080/script

скрипт для шифрования:

println(hudson.util.Secret.fromString('password').getEncryptedValue())

Теперь я пытаюсь добиться того же, используя ansible playbook модуль URI, я нев состоянии сделать это.Может кто-нибудь, пожалуйста, помогите

curl -d "script=println(hudson.util.Secret.fromString('password').getEncryptedValue())" -v --user admin:<token-ID-for-user-admin> -H "$CRUMB" http://localhost:8080/scriptText

Примечание: я не хочу использовать модуль command в ansible для решения этой задачи

Пожалуйста, помогите.

1 Ответ

1 голос
/ 24 сентября 2019

Это сработало для меня, хотя по общему признанию я отключил CSRF Protection, поэтому я не использую крошку

  tasks:
    - uri:
        url: "http://localhost:8080/scriptText"
        method: POST
        user: "{{ user }}"
        password: "{{ password }}"
        force_basic_auth: yes
        headers: "{{ crumb }}"
        body_format: form-urlencoded
        body: "script=println(hudson.util.Secret.fromString('{{ password_string }}').getEncryptedValue())"
        return_content: yes
      register: result

    - debug:
        var: result.content | trim

Фильтр trim используется для удаления новой строки в результате

...