Модуль community.general.gitlab_project — создание, обновление и удаление проектов GitLab
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 добавлено в community.general 3.4.0 | Разрешить слияние при наличии пропущенных конвейеров. Варианты:
|
api_job_token string добавлено в community.general 4.2.0 | Токен задания GitLab CI для входа. |
api_oauth_token string добавлено в community.general 4.2.0 | Токен GitLab OAuth для входа. |
api_password string | Пароль для аутентификации через API. |
api_token string | Токен доступа GitLab с разрешениями API. |
api_url string | Доступная конечная точка API. |
api_username string | Имя пользователя для аутентификации через API. |
avatar_path path добавлено в community.general 4.2.0 | Абсолютный путь к изображению для настройки аватара. Размер файла не должен превышать 200 КБ. Этот параметр используется только при создании, но не при обновлении. |
build_timeout integer добавлено в community.general 10.6.0 | Максимальное количество секунд, в течение которых может выполняться задание CI. Если значение не указано при создании, GitLab применяет значение по умолчанию. |
builds_access_level string добавлено в community.general 6.2.0 |
Варианты:
|
ca_path string добавлено в community.general 8.1.0 | Пакет сертификатов CA для проверки сертификата сервера GitLab. |
ci_config_path string добавлено в community.general 3.7.0 | Пользовательский путь к файлу конфигурации CI для этого проекта. |
container_expiration_policy dictionary добавлено в community.general 9.3.0 | Политика очистки реестра контейнеров проекта. |
|
cadence string |
Как часто следует выполнять очистку. Варианты:
|
|
enabled boolean |
Включить политику очистки. Варианты:
|
|
keep_n integer |
Количество тегов, сохраняемых для каждого имени образа.
Варианты:
|
|
name_regex string |
Удалять теги, соответствующие этому регулярному выражению. |
|
name_regex_keep string |
Сохранять теги, соответствующие этому регулярному выражению. |
|
older_than string |
Удалять теги старше указанного срока.
Варианты:
|
container_registry_access_level string добавлено в community.general 6.2.0 |
Варианты:
|
default_branch string добавлено в community.general 4.2.0 | Имя ветки по умолчанию для этого проекта. Для создания проекта этот параметр требует При обновлении проекта ветка должна существовать. Обновление ветки проекта по умолчанию поддерживается начиная с community.general 8.0.0. |
description string | Описание проекта. |
environments_access_level string добавлено в community.general 6.4.0 |
Варианты:
|
feature_flags_access_level string добавлено в community.general 6.4.0 |
Варианты:
|
forking_access_level string добавлено в community.general 6.2.0 |
Варианты:
|
group string | ID или полный путь группы, которой принадлежит этот проект. |
import_url string | Репозиторий Git, импортируемый в GitLab. Серверу GitLab необходим доступ на чтение к этому репозиторию Git. |
infrastructure_access_level string добавлено в community.general 6.4.0 |
Варианты:
|
initialize_with_readme boolean добавлено в community.general 4.0.0 | Инициализирует проект файлом Используется только при создании проекта и игнорируется в остальных случаях. Варианты:
|
issues_access_level string добавлено в community.general 9.4.0 |
Варианты:
|
issues_enabled boolean | Следует ли создавать задачи.
Варианты:
|
lfs_enabled boolean добавлено в community.general 2.0.0 | Включить Git Large File Storage для управления большими файлами, такими как аудио-, видео- и графические файлы. Варианты:
|
merge_method string добавлено в community.general 1.0.0 | Требования к слияниям. Возможные значения: Варианты:
|
merge_requests_enabled boolean | Разрешено ли создавать запросы на слияние. Варианты:
|
model_registry_access_level string добавлено в community.general 9.3.0 |
Варианты:
|
monitor_access_level string добавлено в community.general 6.4.0 |
Варианты:
|
name string / обязательно | Имя проекта. |
only_allow_merge_if_all_discussions_are_resolved boolean добавлено в community.general 3.4.0 | Все обсуждения в запросе на слияние (MR) должны быть разрешены. Варианты:
|
only_allow_merge_if_pipeline_succeeds boolean добавлено в community.general 3.4.0 | Разрешать слияние, только если конвейер выполнен успешно. Варианты:
|
packages_enabled boolean добавлено в community.general 3.4.0 | Включить репозиторий пакетов GitLab. Варианты:
|
pages_access_level string добавлено в community.general 9.3.0 |
Варианты:
|
path string | |
releases_access_level string добавлено в community.general 6.4.0 |
Варианты:
|
remove_source_branch_after_merge boolean добавлено в community.general 3.4.0 | Удалять исходную ветку после слияния. Варианты:
|
repository_access_level string добавлено в community.general 9.3.0 |
Варианты:
|
security_and_compliance_access_level string добавлено в community.general 6.4.0 |
Варианты:
|
service_desk_enabled boolean добавлено в community.general 9.3.0 | Включить службу поддержки. Варианты:
|
boolean добавлено в community.general 3.7.0 | Включить общие исполнители для этого проекта. Варианты:
|
snippets_enabled boolean | Определяет, будет ли доступно создание фрагментов кода. Варианты:
|
squash_option string добавлено в community.general 3.4.0 | Объединять коммиты при слиянии. Варианты:
|
state string | Создать или удалить проект. Допустимые значения: present и absent. Варианты:
|
topics list / elements=string добавлено в community.general 6.6.0 | Тема или список тем, назначаемых проекту. Совместимо со старыми версиями сервера GitLab (до версии 14, соответствует |
username string добавлено в community.general 3.3.0 | Используется для создания персонального проекта от имени пользователя. |
validate_certs boolean | Проверять ли сертификаты SSL при указании конечной точки HTTPS. Варианты:
|
visibility псевдонимы: visibility_level string |
Варианты:
|
wiki_enabled boolean | Определяет, будет ли доступна вики для этого проекта. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: отсутствует | В режиме diff возвращает сведения об изменениях (или возможных изменениях в |
Примеры
- 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. Возвращается: при ошибке Пример: |
msg string | Сообщение об успешном выполнении или ошибке. Возвращается: всегда Пример: |
project dictionary | Объект API. Возвращается: всегда |
result dictionary | Ответ сервера, разобранный как JSON. Возвращается: всегда |
Ссылки на коллекцию
© 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/gitlab_project_module.html