community.general.gitlab_project – Создаёт/обновляет/удаляет проекты GitLab
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.gitlab_project.
Обзор
- Если проект не существует в GitLab, он будет создан.
- Если проект существует и state=absent, он будет удалён.
- Если в проекте внесены изменения, проект будет обновлён.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7
- модуль python-gitlab
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_password строка | Пароль, используемый для аутентификации по API | |
| api_token строка | Токен GitLab для входа. | |
| api_url строка | Доступный адрес API-интерфейса | |
| api_username строка | Имя пользователя, используемое для аутентификации по API | |
| description строка | Описание проекта. | |
| group строка | Идентификатор или полный путь к группе, к которой принадлежит проект. | |
| import_url строка | Git-репозиторий, который будет импортирован в GitLab. Сервер GitLab должен иметь права на чтение этого Git-репозитория. | |
| issues_enabled логическое значение |
| Нужно ли создавать проблемы? Возможные значения: истина и ложь. |
| lfs_enabled логическое значение добавлен в 2.0.0 community.general |
| Включить Git large file systems для управления большими файлами, такими как аудио, видео и графические файлы. |
| merge_method строка добавлен в 1.0.0 community.general |
| Какие требования предъявляются к слияниям. Возможные значения: merge, rebase_merge — слияние коммитов с полулинейной историей, ff — только слияния с быстрым переходом. |
| merge_requests_enabled логическое значение |
| Можно ли создавать запросы на слияние? Возможные значения: истина и ложь. |
| name строка / обязательно | Название проекта. | |
| path строка | Путь к проекту, который вы хотите создать, это будет server_url/<group>/path. Если не указан, используется имя. | |
| snippets_enabled логическое значение |
| Должны ли быть доступны фрагменты? |
| state строка |
| Создать или удалить проект. Возможные значения: present и absent. |
| validate_certs логическое значение |
| Нужно ли проверять SSL-сертификаты при использовании https-адреса? |
| visibility строка |
| private Доступ к проекту должен быть предоставлен явно для каждого пользователя.internal Любой вошедший в систему пользователь может клонировать проект.public Проект можно клонировать без аутентификации.псевдонимы: visibility_level |
| wiki_enabled логическое значение |
| Должна ли быть доступна вики-страница этого проекта? |
Примеры
- name: Create GitLab Project
community.general.gitlab_project:
api_url: https://gitlab.example.com/
api_token: "{{ api_token }}"
name: my_first_project
group: "10481470"
- name: Delete GitLab Project
community.general.gitlab_project:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
validate_certs: False
name: my_first_project
state: absent
delegate_to: localhost
- name: Create GitLab Project in group Ansible
community.general.gitlab_project:
api_url: https://gitlab.example.com/
validate_certs: True
api_username: dj-wasabi
api_password: "MySecretPassword"
name: my_first_project
group: ansible
issues_enabled: False
merge_method: rebase_merge
wiki_enabled: True
snippets_enabled: True
import_url: http://git.example.com/example/lab.git
state: present
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны в документации, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| error строка | не удалось | Сообщение об ошибке, возвращённое API GitLab. Пример: 400: путь уже используется |
| msg строка | всегда | Сообщение об успехе или неудаче. Пример: Успех |
| project словарь | всегда | Объект API. |
| result словарь | всегда | Ответ сервера в формате JSON. |
Авторы
- Werner Dijkerman (@dj-wasabi)
- Guillaume Martinez (@Lunik)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/gitlab_project_module.html