можно branch protection настроить на Developer+Maintaner, а в тераформ провайдере в атрибутах push_access_level и merge_access_level принимается только стринг, причем там значения могут быть только no one, developer, maintainer.
В доке на гитлаб провайдер меж тем написано следующее:
merge_access_level (String) Access levels allowed to merge. Valid values are: no one, developer, maintainer.
Access levelS - как будто бы можно передать несколько. Но как? :))))
Я пробовал через запятую в строчку и через +, это все просто вызывает ошибку.
Я уже даже исходники провайдера почитал. Похоже что это делается только через перечисление отдельных элементов "allowed_to_merge" в ресурсе.
дальнейшие разборки с API показали что это вообще совершенно не то. Это список access_levels, которые можно присвоить юзерам или группам. А ответ API для репы в которой настроено Developers+Maintainers, выглядит вот так: "merge_access_levels": [ { "id": 59210027, "access_level": 30, "access_level_description": "Developers + Maintainers", "user_id": null, "group_id": null } ],
При этом если тераформом создавать несколько атрибутов allowed_to_merge, то гуй гитлаба отображает вообще несусветную чушь, в выпадайках нет выбранных групп. :)))
Отвечая на мой изначальный вопрос: При передаче тераформом merge_access_level: "developer", в гуе и через апи возвращается Developers + Maintainers. 🌚 В целом это логично, но в доке наблюдается некоторый разброд по определениям, это запутало.
Обсуждают сегодня