Модуль community.general.jenkins_credential — управление учетными данными и доменами Jenkins через API
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования. Подробную информацию см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.jenkins_credential.
Добавлено в community.general 11.1.0
Краткое описание
- Этот модуль позволяет управлять учетными данными Jenkins и областями действия доменов через HTTP API Jenkins.
- Создание, обновление и удаление учетных данных различных типов, таких как
username/password,secret text,SSH key,certificates,GitHub App, а также доменов. - Для областей действия доменов (
type=scope) модуль поддерживает ограничения на основеhostname,hostname:port,pathиscheme.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- urllib3 >= 1.26.0
Параметры
Параметр | Комментарии |
|---|---|
api_uri string | Ссылка на API GitHub. По умолчанию: |
appID string | Идентификатор приложения GitHub. |
description string | Описание учетных данных или домена. По умолчанию: |
exc_hostname list / elements=string | Список имен узлов, исключаемых из области действия. Если имя узла указано в этом списке и в |
exc_hostname_port list / elements=string | Список адресов узлов в формате host:port, исключаемых из области действия. Если имя узла и порт указаны в этом списке и в |
exc_path list / elements=string | Список путей URL, исключаемых из области действия. Если путь также соответствует При исключении подпути ранее включенного пути исключается только этот подпуть. |
file_path path | Путь к файлу с секретом (например, Для |
force boolean | Принудительно обновить уже существующие учетные данные; используется с Если задано значение Всегда возвращает Варианты:
|
id string | Идентификатор учетных данных или домена Jenkins. При создании нового токена не передавайте |
inc_hostname list / elements=string | Список имен узлов, включаемых в область действия. |
inc_hostname_port list / elements=string | Список |
inc_path list / elements=string | Список путей URL, включаемых при сопоставлении учетных данных с доменами. Сопоставление выполняется иерархически: подпути исключенных путей также исключаются, даже если они явно включены. |
jenkins_password string | Пароль Jenkins для создания токена. Обязателен, если |
jenkins_user string / обязательный | Пользователь Jenkins для аутентификации. |
location string | Расположение учетных данных. Допустимые значения: Если задано Варианты:
|
name string | Имя создаваемого токена. Обязательно, если При создании нового токена не передавайте При создании двух токенов с одинаковым именем создаются два разных токена с разными значениями Чтобы заменить токен другим токеном с таким же именем, сначала удалите исходный с помощью |
owner string | Владелец приложения GitHub. |
passphrase string | Парольная фраза SSH, если требуется. |
password string | Пароль для типов учетных данных, которым он необходим (например, |
private_key_path path | Путь к файлу закрытого ключа для сертификатов PEM или приложений GitHub. |
schemes list / elements=string | Список схем для сопоставления (например, |
scope string | Область действия домена учетных данных Jenkins. При удалении области действия домена удаляются все находящиеся в ней учетные данные. По умолчанию: |
secret string | Текст секрета (используется при |
state string | Состояние учетных данных. Варианты:
|
token string | Токен API Jenkins. Обязателен, если не задано |
type string | Тип учетных данных или действия. Варианты:
|
url string | URL сервера Jenkins. По умолчанию: |
username string | Имя пользователя для типов учетных данных, которым оно необходимо (например, |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: нет | В режиме сравнения возвращает сведения об изменениях (или возможных изменениях в |
Примеры
- name: Generate token
community.general.jenkins_credential:
name: "test-token"
jenkins_user: "admin"
jenkins_password: "password"
type: "token"
register: token_result
- name: Save Jenkins token to INI file (you must secure/encrypt separately)
vars:
jenkins_token_ini: # Defining dict for to_ini filter
api_token:
uuid: "{{ token_result.token_uuid }}"
token: "{{ token_result.token }}"
ansible.builtin.copy:
dest: "/secure/path/jenkins_token.ini"
mode: '0600'
content: "{{ jenkins_token_ini | community.general.to_ini }}"
# Note:
# (1) Jenkins token is intended to be securely stored in encrypted storage
# or secrets vault outside the playbook, retrieved when needed.
# (2) Examples below showcasing token retrieval from
# variable "token_result" are NOT how it should be used to add credentials.
# (3) Data in "token_result" is inconsistent and unavailable
# across different playbooks and multiple executions.
- name: Add CUSTOM scope credential
community.general.jenkins_credential:
id: "CUSTOM"
type: "scope"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "Custom scope credential"
inc_path:
- "include/path"
- "include/path2"
exc_path:
- "exclude/path"
- "exclude/path2"
inc_hostname:
- "included-hostname"
- "included-hostname2"
exc_hostname:
- "excluded-hostname"
- "excluded-hostname2"
schemes:
- "http"
- "https"
inc_hostname_port:
- "included-hostname:7000"
- "included-hostname2:7000"
exc_hostname_port:
- "excluded-hostname:7000"
- "excluded-hostname2:7000"
- name: Add user_and_pass credential
community.general.jenkins_credential:
id: "userpass-id"
type: "user_and_pass"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "User and password credential"
username: "user1"
password: "pass1"
- name: Add file credential to custom scope
community.general.jenkins_credential:
id: "file-id"
type: "file"
jenkins_user: "admin"
token: "{{ token_result.token }}"
scope: "CUSTOM"
description: "File credential"
file_path: "../vars/my-secret.pem"
- name: Add text credential to folder
community.general.jenkins_credential:
id: "text-id"
type: "text"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "Text credential"
secret: "mysecrettext"
location: "folder"
url: "http://localhost:8080/job/test"
- name: Add githubApp credential
community.general.jenkins_credential:
id: "githubapp-id"
type: "github_app"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "GitHub app credential"
appID: "12345"
file_path: "../vars/github.pem"
owner: "github_owner"
- name: Add sshKey credential
community.general.jenkins_credential:
id: "sshkey-id"
type: "ssh_key"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "SSH key credential"
username: "sshuser"
file_path: "../vars/ssh_key"
passphrase: 1234
- name: Add certificate credential (p12)
community.general.jenkins_credential:
id: "certificate-id"
type: "certificate"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "Certificate credential"
password: "12345678901234"
file_path: "../vars/certificate.p12"
- name: Add certificate credential (pem)
community.general.jenkins_credential:
id: "certificate-id-pem"
type: "certificate"
jenkins_user: "admin"
token: "{{ token_result.token }}"
description: "Certificate credential (pem)"
file_path: "../vars/cert.pem"
private_key_path: "../vars/private.key"
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
details string | Дополнительные сведения в случае ошибок. Возвращается: при ошибке |
token string | Сгенерированный токен API, если Он понадобится для последующей аутентификации вызовов API. Его следует хранить в безопасном месте, поскольку он возвращается только один раз. Возвращается: при успехе |
token_uuid string | Сгенерированный идентификатор токена. Передайте это значение модулю как Его следует хранить в безопасном месте, поскольку он возвращается только один раз. Возвращается: при успехе |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/jenkins_credential_module.html