Перейти к основному содержимому

Запросы на изменение

Запрос на изменение позволяет поменять секреты окружения, в которое у вас нет права записи. Типичный случай: разработчику с доступом к dev к релизу нужна новая переменная в prod. Он предлагает изменение, а редактор prod проверяет его, одобряет и применяет.

к сведению

Доступно только по подписке.

Запросы работают только в личном кабинете. Через API, CLI и сервисные ключи их не создать и не одобрить: одобрение должен давать человек, а не утёкший ключ или скрипт.

Редакторы окружения по-прежнему правят секреты напрямую. Запросы и политики не запрещают прямые правки, а добавляют путь для тех, у кого права записи нет.

Кто что может​

ДействиеКто может
Создать запрослюбой участник проекта, даже без доступа к нужному окружению
Видеть значения в запросеучастник с доступом к окружению или автор значения
Одобрить и применитьредактор окружения: участник с правом записи в него, а также администратор и владелец команды
Настроить политики одобренияадминистратор и владелец команды

Права участников на окружения задаются в ролях команды.

Как предложить изменение​

Откройте конфигурацию. Если права записи в неё нет, вместо кнопки Сохранить будет Предложить изменение.

Конфигурация dev без права записи: в правом верхнем углу кнопка «Предложить изменение»

Запрос собирается в форме:

  1. Укажите заголовок и, по желанию, описание: зачем нужно изменение.
  2. Выберите проект и конфигурацию. У окружений без доступа стоит замок: менять в них секреты можно, но текущих значений и имён секретов вы не увидите.
  3. Добавьте или измените секреты. Каждая конфигурация — отдельный блок, его одобряют и применяют отдельно. Чтобы поменять секреты в нескольких окружениях, нажмите Добавить конфигурацию.
  4. Нажмите Предпросмотр: там видно, что изменится, и можно выбрать ревьюеров. Без ревьюеров запрос ждёт всех, кто может его одобрить.
  5. Нажмите Отправить на ревью.
Форма нового запроса: заголовок, описание, проект и блок конфигурации prod с новой переменной

Через запрос нельзя менять секреты с видимостью restricted и выставлять такую видимость.

Ревьюеры получат письмо. В письме есть заголовок запроса, проект, конфигурации и имена секретов, значений нет.

Ревью и применение​

Запросы, которые ждут вашего ревью, видны на главной странице кабинета в блоке Требует внимания и в разделе Секреты → Запросы на изменение с фильтром Ждут моего ревью.

Список запросов на изменение с кнопкой «Ревью» у запроса, который ждёт одобрения

На странице запроса для каждого блока показаны дифф и одобрения. Значения скрыты: чтобы их увидеть, нажмите на значок глаза. Редактор окружения видит и прежние значения, и новые.

Блок prod на ревью: новые и изменённые секреты, кнопки «Одобрить» и неактивная «Применить»
  1. Нажмите Одобрить. Передумали — Снять одобрение.
  2. Когда блок одобрен, нажмите Применить и подтвердите. Новые значения сразу записываются в конфигурацию, а в истории изменений появляется запись со ссылкой на запрос.
Применённый блок: кто и когда применил изменения, ссылка на историю конфигурации

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

Если запрос не нужен, нажмите Закрыть запрос. Автор и ревьюеры могут править запрос, пока он открыт, но после правки блока его одобрения снимаются и ревью начинается заново.

Статусы​

СтатусЧто значит
Черновикзапрос сохранён, но не отправлен на ревью
На ревьюждёт одобрения
Одобренодобрений достаточно, изменения можно применить
Применёнизменения записаны в конфигурацию
Частично применёнчасть блоков применена, остальные отменены
Отменёнзапрос закрыли без применения

Если секрет изменили напрямую​

Изменения применяются строго. Если после создания запроса кто-то поменял тот же секрет напрямую, блок помечается как Устарел, и применить его нельзя: иначе запрос молча затёр бы чужую правку. Нажмите обновить, чтобы пересобрать блок от текущих значений. Одобрения при этом снимаются.

Блок с пометкой «Устарел: секреты изменились после создания» и ссылкой «обновить»

На конфигурации с открытым запросом есть плашка со ссылкой на него, чтобы редактор видел, что изменения уже ждут ревью.

Политики одобрения​

По умолчанию блок можно применить после одного одобрения редактора окружения. Политики одобрения задают более строгие правила, например два одобрения для prod и запрет одобрять собственный запрос. Политиками управляют администраторы и владельцы команды в разделе Секреты → Политики одобрения.

Форма новой политики «Продакшен»: два одобрения от любого редактора окружения, автор не может одобрить свой запрос

В политике задаются:

  • Где действует — все проекты команды, включая новые, или выбранные проекты. Внутри проекта можно ограничить политику окружениями (вместе с их дочерними конфигурациями) или отдельными конфигурациями.
  • Правила — сколько нужно одобрений, от 1 до 20, и чьи одобрения засчитываются: любого редактора окружения или выбранных участников. Одобрение засчитывается, только если у участника есть право записи в окружение. Должны выполняться все правила политики.
  • Автор запроса не может одобрить его сам — одобрение автора не засчитывается, кнопка Одобрить у него недоступна.
  • Назначать ревьюерами участников из правил — при создании запроса они станут ревьюерами и получат письмо.

Если на конфигурацию действует несколько политик, нужно выполнить все. У блока под политикой появляется плашка с прогрессом, например 0/2, а кнопка Применить становится доступна, когда все правила выполнены.

Блок под политикой: плашка «0/2» и подсказка у кнопки «Применить»

Сколько хранятся запросы​

Закрытые и применённые запросы хранятся столько же, сколько история изменений конфигураций на вашем тарифе. Открытые запросы не удаляются. Если удалить конфигурацию или окружение, их блоки пропадут из запросов. Если удалить проект, удалятся и его запросы.