community.general.gitlab_project модуль — Создаёт/обновляет/удаляет проекты GitLab
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для её установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Чтобы использовать его в книге задач, укажите: community.general.gitlab_project.
Описание
- Если проекта в GitLab нет, он будет создан.
- Если проект существует и
state=absent, проект будет удалён. - Если в проекте внесены изменения, проект будет обновлён.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-gitlab python модуль
- requests (библиотека Python https://pypi.org/project/requests/)
Параметры
Параметр | Комментарии |
|---|---|
allow_merge_on_skipped_pipeline boolean added in community.general 3.4.0 | Разрешить слияние, если существуют пропущенные этапы конвейера. Choices:
|
api_job_token string added in community.general 4.2.0 | Токен задания GitLab CI для входа. |
api_oauth_token string added in community.general 4.2.0 | Токен OAuth GitLab для входа. |
api_password string | Пароль для аутентификации в API. |
api_token string | Токен доступа GitLab с правами API. |
api_url string | Разрешаемая конечная точка для API. |
api_username string | Имя пользователя для аутентификации в API. |
avatar_path path added in community.general 4.2.0 | Абсолютный путь к изображению для настройки аватара. Размер файла не должен превышать 200 КБ. Этот параметр используется только при создании, а не для обновлений. |
builds_access_level string added in community.general 6.2.0 |
Choices:
|
ca_path string added in community.general 8.1.0 | Пакет сертификатов CA, используемый для проверки сертификата сервера GitLab. |
ci_config_path string added in community.general 3.7.0 | Пользовательский путь к файлу конфигурации CI для этого проекта. |
container_expiration_policy dictionary added in community.general 9.3.0 | Политика очистки проекта для его реестра контейнеров. |
|
cadence string |
Как часто должна выполняться очистка. Choices:
|
|
enabled boolean |
Включить политику очистки. Choices:
|
|
keep_n integer |
Количество тегов, хранимых для каждого имени изображения.
Choices:
|
|
name_regex string |
Удалить теги, соответствующие этому регулярному выражению. |
|
name_regex_keep string |
Сохранить теги, соответствующие этому регулярному выражению. |
|
older_than string |
Удалить теги, более старые, чем это.
Choices:
|
container_registry_access_level string added in community.general 6.2.0 |
Choices:
|
default_branch string added in community.general 4.2.0 | Имя ветки по умолчанию для этого проекта. Для создания проекта требуется Для обновления проекта ветка должна существовать. Поддерживает обновление ветки по умолчанию проекта с версии community.general 8.0.0. |
description string | Описание проекта. |
environments_access_level string added in community.general 6.4.0 |
Варианты:
|
feature_flags_access_level string added in community.general 6.4.0 |
Варианты:
|
forking_access_level string added in community.general 6.2.0 |
Варианты:
|
group string | Идентификатор или полный путь группы, к которой принадлежит этот проект. |
import_url string | Git-репозиторий, который будет импортирован в GitLab. Сервер GitLab должен иметь доступ для чтения к этому Git-репозиторию. |
infrastructure_access_level string added in community.general 6.4.0 |
Варианты:
|
initialize_with_readme boolean added in community.general 4.0.0 | Инициализирует проект с помощью файла по умолчанию Используется только при создании проекта и игнорируется в противном случае. Варианты:
|
issues_access_level string added in community.general 9.4.0 |
Варианты:
|
issues_enabled boolean | Определяет, будут ли создаваться вопросы.
Варианты:
|
lfs_enabled boolean added in community.general 2.0.0 | Включение системы управления большими файлами Git для работы с большими файлами, такими как аудио, видео и графические файлы. Варианты:
|
merge_method string added in community.general 1.0.0 | Требования к слияниям. Возможные значения: Варианты:
|
merge_requests_enabled boolean | Разрешить или запретить создание запросов на слияние. Варианты:
|
model_registry_access_level string added in community.general 9.3.0 |
Choices:
|
monitor_access_level string added in community.general 6.4.0 |
Choices:
|
name string / required | Название проекта. |
only_allow_merge_if_all_discussions_are_resolved boolean added in community.general 3.4.0 | Все обсуждения в запросе на слияние (MR) должны быть разрешены. Choices:
|
only_allow_merge_if_pipeline_succeeds boolean added in community.general 3.4.0 | Разрешать слияние только в случае успешного завершения pipeline. Choices:
|
packages_enabled boolean added in community.general 3.4.0 | Включить репозиторий пакетов GitLab. Choices:
|
pages_access_level string added in community.general 9.3.0 |
Choices:
|
path string | Путь к проекту, который вы хотите создать, это будет server_url/<group>/path. Если не указано, будет использовано имя. |
releases_access_level string added in community.general 6.4.0 |
Choices:
|
remove_source_branch_after_merge boolean added in community.general 3.4.0 | Удалить исходную ветку после слияния. Choices:
|
repository_access_level string added in community.general 9.3.0 |
Choices:
|
security_and_compliance_access_level string added in community.general 6.4.0 |
Choices:
|
service_desk_enabled boolean added in community.general 9.3.0 | Включить службу поддержки. Choices:
|
boolean added in community.general 3.7.0 | Включить общие runner'ы для этого проекта. Choices:
|
snippets_enabled boolean | Должна ли быть доступна возможность создания сниппетов или нет. Choices:
|
squash_option string added in community.general 3.4.0 | Слияние коммитов при слиянии. Варианты:
|
state string | Создание или удаление проекта. Возможные значения — present и absent. Варианты:
|
topics list / elements=string added in community.general 6.6.0 | Тематика или список тем, которые необходимо назначить проекту. Совместимо со старыми версиями сервера GitLab (версии до 14, соответствует |
username string added in community.general 3.3.0 | Используется для создания личного проекта под именем пользователя. |
validate_certs boolean | Подтверждать ли SSL-сертификаты при использовании HTTPS-ключа. Варианты:
|
visibility aliases: visibility_level string |
Варианты:
|
wiki_enabled boolean | Должна ли быть доступна вики-страница для этого проекта. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: нет | В режиме сравнения версий вернёт подробности о произошедших изменениях (или, возможно, необходимых изменениях в |
Примеры
- 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 }}"
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
initialize_with_readme: true
state: present
delegate_to: localhost
- name: get the initial root password
ansible.builtin.shell: |
grep 'Password:' /etc/gitlab/initial_root_password | sed -e 's/Password\: \(.*\)/\1/'
register: initial_root_password
- name: Create a GitLab Project using a username/password via oauth_token
community.general.gitlab_project:
api_url: https://gitlab.example.com/
api_username: root
api_password: "{{ initial_root_password }}"
name: my_second_project
group: "10481470"
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
error string | Сообщение об ошибке, возвращённое API GitLab. Возвращается: failed Пример: |
msg string | Сообщение об успехе или неудаче. Возвращается: всегда Пример: |
project dictionary | Объект API. Возвращается: всегда |
result dictionary | Обработанный в формате JSON ответ от сервера. Возвращается: всегда |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/gitlab_project_module.html