Spec-Zone.ru › Ansible

Модуль 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

Разрешить слияние при наличии пропущенных конвейеров.

Варианты:

  • false
  • true

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

private означает, что CI/CD репозитория доступен только участникам проекта.

disabled означает, что CI/CD репозитория отключен.

enabled означает, что CI/CD репозитория включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

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

Как часто следует выполнять очистку.

Варианты:

  • "1d"
  • "7d"
  • "14d"
  • "1month"
  • "3month"

enabled

boolean

Включить политику очистки.

Варианты:

  • false
  • true

keep_n

integer

Количество тегов, сохраняемых для каждого имени образа.

0 очищает поле.

Варианты:

  • 0
  • 1
  • 5
  • 10
  • 25
  • 50
  • 100

name_regex

string

Удалять теги, соответствующие этому регулярному выражению.

name_regex_keep

string

Сохранять теги, соответствующие этому регулярному выражению.

older_than

string

Удалять теги старше указанного срока.

0d очищает поле.

Варианты:

  • "0d"
  • "7d"
  • "14d"
  • "30d"
  • "90d"

container_registry_access_level

string

добавлено в community.general 6.2.0

private означает, что реестр контейнеров доступен только участникам проекта.

disabled означает, что реестр контейнеров отключен.

enabled означает, что реестр контейнеров включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

default_branch

string

добавлено в community.general 4.2.0

Имя ветки по умолчанию для этого проекта.

Для создания проекта этот параметр требует initialize_with_readme=true.

При обновлении проекта ветка должна существовать.

Обновление ветки проекта по умолчанию поддерживается начиная с community.general 8.0.0.

description

string

Описание проекта.

environments_access_level

string

добавлено в community.general 6.4.0

private означает, что развертывание в окружение доступно только участникам проекта.

disabled означает, что развертывание в окружение отключено.

enabled означает, что развертывание в окружение включено.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

feature_flags_access_level

string

добавлено в community.general 6.4.0

private означает, что развертывание функций доступно только участникам проекта.

disabled означает, что развертывание функций отключено.

enabled означает, что развертывание функций включено.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

forking_access_level

string

добавлено в community.general 6.2.0

private означает, что создавать форки репозитория могут только участники проекта.

disabled означает, что создание форков репозитория отключено.

enabled означает, что создание форков репозитория включено.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

group

string

ID или полный путь группы, которой принадлежит этот проект.

import_url

string

Репозиторий Git, импортируемый в GitLab.

Серверу GitLab необходим доступ на чтение к этому репозиторию Git.

infrastructure_access_level

string

добавлено в community.general 6.4.0

private означает, что настройка инфраструктуры доступна только участникам проекта.

disabled означает, что настройка инфраструктуры отключена.

enabled означает, что настройка инфраструктуры включена.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

initialize_with_readme

boolean

добавлено в community.general 4.0.0

Инициализирует проект файлом README.md по умолчанию.

Используется только при создании проекта и игнорируется в остальных случаях.

Варианты:

  • false ← (по умолчанию)
  • true

issues_access_level

string

добавлено в community.general 9.4.0

private означает, что доступ к вкладке задач разрешен только участникам проекта.

disabled означает, что доступ к вкладке задач отключен.

enabled означает, что доступ к вкладке задач включен.

issues_access_level и issues_enabled взаимоисключающие.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

issues_enabled

boolean

Следует ли создавать задачи.

issues_access_level и issues_enabled взаимоисключающие.

Варианты:

  • false
  • true ← (по умолчанию)

lfs_enabled

boolean

добавлено в community.general 2.0.0

Включить Git Large File Storage для управления большими файлами, такими как аудио-, видео- и графические файлы.

Варианты:

  • false ← (по умолчанию)
  • true

merge_method

string

добавлено в community.general 1.0.0

Требования к слияниям.

Возможные значения: merge, rebase_merge — коммит слияния с полулинейной историей, ff — только слияния перемоткой вперед.

Варианты:

  • "ff"
  • "merge" ← (по умолчанию)
  • "rebase_merge"

merge_requests_enabled

boolean

Разрешено ли создавать запросы на слияние.

Варианты:

  • false
  • true ← (по умолчанию)

model_registry_access_level

string

добавлено в community.general 9.3.0

private означает, что доступ к вкладке реестра моделей разрешен только участникам проекта.

disabled означает, что доступ к вкладке реестра моделей отключен.

enabled означает, что доступ к вкладке реестра моделей включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

monitor_access_level

string

добавлено в community.general 6.4.0

private означает, что мониторинг работоспособности доступен только участникам проекта.

disabled означает, что мониторинг работоспособности отключен.

enabled означает, что мониторинг работоспособности включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

name

string / обязательно

Имя проекта.

only_allow_merge_if_all_discussions_are_resolved

boolean

добавлено в community.general 3.4.0

Все обсуждения в запросе на слияние (MR) должны быть разрешены.

Варианты:

  • false
  • true

only_allow_merge_if_pipeline_succeeds

boolean

добавлено в community.general 3.4.0

Разрешать слияние, только если конвейер выполнен успешно.

Варианты:

  • false
  • true

packages_enabled

boolean

добавлено в community.general 3.4.0

Включить репозиторий пакетов GitLab.

Варианты:

  • false
  • true

pages_access_level

string

добавлено в community.general 9.3.0

private означает, что доступ к вкладке Pages разрешен только участникам проекта.

disabled означает, что доступ к вкладке Pages отключен.

enabled означает, что доступ к вкладке Pages включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

path

string

Путь создаваемого проекта в формате server_url/group/path.

Если параметр не указан, используется name.

releases_access_level

string

добавлено в community.general 6.4.0

private означает, что доступ к выпускам разрешен только участникам проекта.

disabled означает, что доступ к выпускам отключен.

enabled означает, что доступ к выпускам включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

remove_source_branch_after_merge

boolean

добавлено в community.general 3.4.0

Удалять исходную ветку после слияния.

Варианты:

  • false
  • true

repository_access_level

string

добавлено в community.general 9.3.0

private означает, что доступ к репозиторию разрешен только участникам проекта.

disabled означает, что доступ к репозиторию отключен.

enabled означает, что доступ к репозиторию включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

security_and_compliance_access_level

string

добавлено в community.general 6.4.0

private означает, что доступ к вкладке безопасности и соответствия требованиям разрешён только участникам проекта.

disabled означает, что доступ к вкладке безопасности и соответствия требованиям отключён.

enabled означает, что доступ к вкладке безопасности и соответствия требованиям включён.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

service_desk_enabled

boolean

добавлено в community.general 9.3.0

Включить службу поддержки.

Варианты:

  • false
  • true

shared_runners_enabled

boolean

добавлено в community.general 3.7.0

Включить общие исполнители для этого проекта.

Варианты:

  • false
  • true

snippets_enabled

boolean

Определяет, будет ли доступно создание фрагментов кода.

Варианты:

  • false
  • true ← (по умолчанию)

squash_option

string

добавлено в community.general 3.4.0

Объединять коммиты при слиянии.

Варианты:

  • "never"
  • "always"
  • "default_off"
  • "default_on"

state

string

Создать или удалить проект.

Допустимые значения: present и absent.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

topics

list / elements=string

добавлено в community.general 6.6.0

Тема или список тем, назначаемых проекту.

Совместимо со старыми версиями сервера GitLab (до версии 14, соответствует tag_list).

username

string

добавлено в community.general 3.3.0

Используется для создания персонального проекта от имени пользователя.

validate_certs

boolean

Проверять ли сертификаты SSL при указании конечной точки HTTPS.

Варианты:

  • false
  • true ← (по умолчанию)

visibility

псевдонимы: visibility_level

string

private Доступ к проекту должен быть явно предоставлен каждому пользователю.

internal Проект может клонировать любой вошедший в систему пользователь.

public Проект можно клонировать без аутентификации.

Варианты:

  • "private" ← (по умолчанию)
  • "internal"
  • "public"

wiki_enabled

boolean

Определяет, будет ли доступна вики для этого проекта.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз изменения статуса без изменения целевого объекта.

diff_mode

Поддержка: отсутствует

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_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.

Возвращается: при ошибке

Пример: "400: path is already in use"

msg

string

Сообщение об успешном выполнении или ошибке.

Возвращается: всегда

Пример: "Success"

project

dictionary

Объект API.

Возвращается: всегда

result

dictionary

Ответ сервера, разобранный как JSON.

Возвращается: всегда

Авторы

  • Werner Dijkerman (@dj-wasabi)
  • Guillaume Martinez (@Lunik)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Обратиться за помощью
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API