Automation Pipelines содержит подключаемый модуль REST, позволяющий интегрировать Automation Pipelines с другими приложениями, использующими интерфейс REST API. Это дает возможность непрерывно разрабатывать и предоставлять приложения, которым необходимо взаимодействовать друг с другом. Подключаемый модуль REST вызывает API-интерфейс, который осуществляет обмен данными между Automation Pipelines и другим приложением.

Подключаемый модуль REST позволяет выполнять следующие действия.

  • Интеграция внешних систем на базе интерфейса REST API в конвейер Automation Pipelines.
  • Интеграция конвейера Automation Pipelines в процессы внешних систем.

Подключаемый модуль REST работает с любыми интерфейсами REST API и поддерживает методы GET, POST, PUT, PATCH и DELETE при обмене данными между Automation Pipelines и другими приложениями.

Табл. 1. Подготовка конвейера для обмена данными по интерфейсу REST API
Действия Результат
Добавьте задачу REST в конвейер.

Задача REST выполняет передачу данных между приложениями и может предоставлять сведения о состоянии для следующей задачи текущего этапа конвейера.

В задаче REST выберите действие REST и укажите URL-адрес.

В ходе работы конвейера задача конвейера вызывает URL-адрес.

Для действий POST, PUT и PATCH необходимо добавить полезные данные. В полезных данных можно выполнить привязку свойств конвейера и задачи в ходе выполнения конвейера.

Рассмотрим пример.

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

Можно добавить задачу REST, чтобы получить сведения, которые требуются для последующей задачи конвейера.

По аналогии с использованием подключаемого модуля REST для вызова API-интерфейса можно включить в конвейер задачу опроса, которая будет вызывать интерфейс REST API и опрашивать его, пока он не завершит работу и пока задача конвейера не будет удовлетворять выходным критериям. См. раздел Типы задач, доступные в Automation Pipelines.

Кроме того, можно использовать интерфейсы REST API для импорта и экспорта конвейера, а также применять образцы сценариев для запуска конвейера.

В этой процедуре задача REST получает тег сборки из одной службы, а последующие задачи непрерывной интеграции (CI) используют этот тег сборки, чтобы получить номер сборки непрерывной интеграции и непрерывного предоставления (CICD).

Процедура

  1. Чтобы создать конвейер, выберите Конвейеры > Создать конвейер > Пустой холст.
  2. В текущем этапе конвейера щелкните Новая последовательная задача.
  3. На панели задач добавьте задачу REST.
    1. а. Введите имя задачи.
    2. б. В раскрывающемся меню «Тип» выберите REST.
    3. в. В области «Запрос REST» выберите GET.
      Чтобы получить данные запроса задачи REST из другого приложения, необходимо выбрать метод GET. Чтобы отправить данные в другое приложение, выберите метод POST.
    4. г. Введите URL-адрес, определяющий конечную точку REST API, которая используется для получения тега сборки. Например:
      https://devops.mycompany.com:8001/job/service-build/api/json
      Примечание: Automation Pipelines не поддерживает %2F в качестве кодировки URL-адреса для / как в:
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME%2Ftest.yaml
      При указании конечной точки REST API используйте базовый формат URL-адреса, например:
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME/test.yaml
      Для того чтобы задача REST могла импортировать данные из другого приложения, можно включить в нее переменную полезной нагрузки. Например, для действия «импорт» можно ввести ${Stage0.export.responseBody}. Если размер данных ответа превышает 5 МБ, задача REST может завершиться сбоем.
    5. д. Для авторизации задачи щелкните Добавить заголовки и введите ключи и значения заголовка:
      Key Значение
      Принять приложение/json
      Тип содержимого приложение/json
    При добавлении задачи REST и настройке запроса REST необходимо выбрать действие, ввести URL-адрес и добавить заголовки для авторизации.
  4. Добавьте следующую задачу, которая использует информацию из ответа задачи REST.
  5. Чтобы сохранить конвейер, щелкните Сохранить.
  6. На вкладке «Конвейер» щелкните Включить конвейер.
    Перед запуском конвейера необходимо его включить.
  7. Щелкните Сохранить, затем Закрыть.
  8. Щелкните Запустить.
  9. Чтобы отслеживать работу конвейера, нажмите Выполняемые элементы.
    После запуска конвейера можно наблюдать за его состоянием во время работы.
  10. Чтобы убедиться, что задача REST возвращает ожидаемые данные, проверьте выполнение конвейера и результаты задачи.
    1. а. После завершения работы конвейера убедитесь, что другое приложение вернуло запрошенные данные. Для этого щелкните ссылку на ход выполнения конвейера.
    2. б. Щелкните задачу REST в конвейере.
    3. в. В ходе выполнения конвейера щелкните задачу REST, просмотрите сведения и убедитесь, что по задаче получены ожидаемые результаты.
      В сведениях о задаче отображается код ответа, текст, ключи заголовка и значения.
      В сведениях о задаче REST отображается статус «ВЫПОЛНЕНО», код ответа, текст ответа, ключи и значения заголовка.
  11. Чтобы просмотреть выходные данные JSON, щелкните Просмотреть выходные данные JSON.
    В выходных данных JSON для задачи REST отображаются заголовки и текст ответов, а также определитель пути для поиска содержимого.

Результаты

Поздравляем! Вы настроили задачу REST, которая вызывает интерфейс REST API и осуществляет обмен данными между Automation Pipelines и другим приложением с помощью подключаемого модуля REST.

Дальнейшие действия

Продолжайте использовать задачи REST в конвейерах для выполнения команд и интеграции Automation Pipelines с другими приложениями в процессе разработки и предоставления ПО. Рассмотрите возможность использования задач для опроса API-интерфейса до того момента, пока он не завершит работу, а задачи конвейера не будут соответствовать критериям выхода.