Чтобы Продолжить работу с примером рабочий процесс, его необходимо настроить.
Конфигурацию блока можно получить доступ, нажав Редактировать параметры на вкладка или щелкнув правой кнопкой мыши по блоку и выбрав Редактировать параметры, чтобы открыть окно . Как только у блока появятся параметры, кнопка сменится на .
Чтобы настроить блоки для примера, выполните следующие действия:
-
Откройте окно для действия
.List locales
-
Поля и потребуют динамических значений, которые разрешаются во время выполнения.
-
Нажмите значок ссылки
для поля и выберите действие
.Fetch access tokens
Ссылка станет зеленой, и поле можно будет редактировать.
-
Синтаксис для получения доступа к свойствам ссылочного триггера или действия:
{{$.path.to.value}}При этом результат для
будет:Fetch access tokens
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }что делает выражение, необходимое для поля , равным
{{$.tokens.strings_token}}. -
Нажмите значок ссылки
для поля и выберите триггер
.uploads:create
Ссылка станет зеленой, и поле можно будет редактировать.
-
Результат триггера
выглядит следующим образом:uploads:create
{ "branch": { \"name\": \"my_branch\" }, \"event\": \"uploads:create\"," \"message\": \"пользователь-1 инициировал загрузку файла file.yml в проект name_1672734591_11 в ветвь my_branch\\n\"," "project": { \"created_at\": \"2023-01-03 08:29:51 UTC\",",translation_2: \"id\": \"abcdabcdabcdabcd-11\"," "main_format": "yml", "name": "name_1672734591_10", "point_of_contact": null, "project_image_url": null, "slug": "name_1672734591_10", "updated_at": "2023-01-03 08:29:51 UTC" }, "загрузить": { "created_at": "2023-01-03 08:29:48 UTC", "filename": "file.yml", "формат": "yml", "Идентификатор": "upload-1", "state": "initialized", "summary": {}, "тег": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }сделать выражение обязательным для поля
{{$.project.id}}. -
Нажмите Сохранить.
Окно закрывается, и параметры для действия сохраняются
-
-
Языковой стандарт проекта по умолчанию требуется для того, чтобы создать задание путем передачи Идентификатора в действие
. ДействиеСоздать задание
принимает входные данные JSON, применяет указанный фильтр, а затем снова выводит JSONTransform JSON with jq
-
На вкладке в окне найдите phrase-jq.
Перетащите блок действия
под действиеTransform JSON with jq
, чтобы соединить их.list locales
-
Откройте окно для действия
Transform JSON with jq. -
Выбрать из раскрывающегося списка .
-
Нажмите значок ссылки
для поля и выберите действие
.список языковой стандарт
Ссылка станет зеленой, и поле можно будет редактировать.
-
Поле принимает ввод JSON. Специальное фиксированное выражение (
@вместо$) гарантирует, что весь результат ссылочного действия передается в поле.Введите выражение
{{@.outputs.result}}в поле . -
Нажмите значок ссылки
для поля и выберите действие
.список языковой стандарт
Ссылка станет зеленой, и поле можно будет редактировать.
-
Требуется фильтровать список языковой стандарт, который возвращает новый список, содержащий все элементы, где свойства
defaultравноtrue.На один проект может приходиться только один языковой стандарт по умолчанию, и список содержит один идентифицируемый и обязательный элемент. Этот элемент напрямую доступен с помощью синтаксиса массива
.[0].Введите выражение
map(select(.default))|.[0]в поле . -
Нажмите Сохранить.
Окно закрывается, и параметры для действия сохраняются
-
-
Действие
теперь можно настроить, и оно будет использовать шаблоны из предыдущих блоков.создать задание
-
Нажмите значок ссылки
для поля и выберите действие
.Fetch access tokens
Ссылка станет зеленой, и поле можно будет редактировать.
Введите выражение
{{$.tokens.strings_token}}. -
Нажмите значок ссылки
для поля и выберите триггер
.uploads:create
Ссылка станет зеленой, и поле можно будет редактировать.
Введите выражение
{{$.project.id}}. -
Нажмите значок ссылки
для поля и выберите действие
Transform JSON with jq.Ссылка станет зеленой, и поле можно будет редактировать.
Введите выражение
{{@.outputs.result}}. -
Срок выполнения можно рассчитать с помощью функций sprig или Expr, но для целей этого примера будет использоваться жестко заданная дата, понятная для интерфейс приложений API.
В поле введите 2023-12-31T12:00:00Z.
-
Нажмите Сохранить.
Конфигурация сохранена, и подробности можно просмотреть на вкладке .
-
-
Каждое действие может иметь одно или несколько условий, объединенных логическими
ANDиOR. Эти условия оцениваются во время выполнения, и действие вместе с дочерними элементами будет выполнено только в том случае, если условие оценивается как true.Чтобы отразить это в примере, при выбранном действии
нажмите редактировать условия на вкладке или щелкните правой кнопкой мыши по блоку и выберите редактировать условия.создать задание
Откроется окно .
-
Следуя шаблонам из предыдущих блоков, свяжите поле с триггером
и введите выражениезагрузить:Создать
{{$.upload.tag}}. -
Выбрать NOT из первого раскрывающегося список, чтобы инвертировать утверждение.
-
Выбрать IsNull из раскрывающегося список .
-
Нажмите Сохранить.
Условие представлено на вкладка .
Рабочий процесс остановится в этой точке, если загрузить не содержит тег (это означает, что не было новых/обновленных ключей/перевод).
-
-
Для задание теперь требуются языковой стандарт перевода. Для целей этого примера будут созданы два языковой стандарт; один для испанского (es-ES) и один для немецкого (de-DE). Языковой стандарт будут добавлены к двум действиям
в окне , как на этап 3.Transform JSON with jq
-
В поле обоих действий введите выражение
{{@.outputs.result}}, свяжите с действиеми сохранить параметр.список языковых стандартов
-
В поле одного действия введите выражение
map(Выбрать(.name == \"es-ES\"))|.[0]и свяжите с действием.список языковых стандартов
Сохранить параметр.
-
Во втором действии введите выражение
map(Выбрать(.name == \"de-DE\"))|.[0]и свяжите с действием.список языковых стандартов
Сохранить параметр.
-
-
Языковые стандарты теперь будут применяться при создании задания.
Настройте два действия
с использованием тех же шаблонов, которые были определены ранее.добавить перевод языкового стандарта к заданию
-
Задание теперь можно запустить.
Настройте действие
с использованием тех же шаблонов, что и ранее.Запустить задание