Spec-Zone.ru › AWS CLI v2

[ aws . codepipeline ]

put-webhook

Описание

Определяет вебхук и возвращает уникальный URL вебхука, сгенерированный CodePipeline. Этот URL можно предоставить сторонним поставщикам хостинга кода, чтобы они вызывались каждый раз при изменении кода. Когда CodePipeline получает POST-запрос на этот URL, определяется, что определенная в вебхуке конвейер запускается при условии, что POST-запрос удовлетворяет требованиям аутентификации и фильтрации, указанным при определении вебхука. API RegisterWebhookWithThirdParty и DeregisterWebhookWithThirdParty могут использоваться для автоматической настройки поддерживаемых сторонних поставщиков для вызова сгенерированного URL вебхука.

Предупреждение

При создании вебхуков CodePipeline не используйте собственные учетные данные или не используйте один и тот же секретный токен для нескольких вебхуков. Для оптимальной безопасности сгенерируйте уникальный секретный токен для каждого создаваемого вебхука. Секретный токен — это произвольная строка, которую вы предоставляете, GitHub использует ее для вычисления и подписи данных вебхуков, отправляемых в CodePipeline, для защиты целостности и подлинности данных вебхуков. Использование собственных учетных данных или повторное использование одного и того же токена для нескольких вебхуков может привести к уязвимостям безопасности.

Примечание

Если был предоставлен секретный токен, он будет замаскирован в ответе.

См. также: Документация API AWS

Синопсис

  put-webhook
--webhook <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--webhook (структура)

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

name -> (строка)

Имя вебхука.

targetPipeline -> (строка)

Имя конвейера, к которому вы хотите подключить вебхук.

targetAction -> (строка)

Имя действия в конвейере, к которому вы хотите подключить вебхук. Действие должно быть из начальной стадии (первой) конвейера.

filters -> (список)

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

(структура)

Критерии событий, определяющие, когда уведомление вебхука отправляется на ваш URL.

jsonPath -> (строка)

Выражение JsonPath, которое применяется к телу/данным вебхука. Значение, выбранное выражением JsonPath, должно совпадать со значением, указанным в поле MatchEquals. В противном случае запрос игнорируется. Дополнительную информацию см. в реализации Java JsonPath в GitHub.

matchEquals -> (строка)

Значение, выбранное выражением JsonPath, должно совпадать со значением, указанным в поле MatchEquals. В противном случае запрос игнорируется. Свойства конфигурации целевого действия можно включить в качестве заглушек в это значение, заключив ключ конфигурации действия в фигурные скобки. Например, если предоставленное значение равно «refs/heads/{Branch}», а у целевого действия есть свойство конфигурации с именем «Branch» со значением «main», значение MatchEquals оценивается как «refs/heads/main». Список свойств конфигурации действия для встроенных типов действий см. в Справочнике по структуре конвейера Требования к действиям.

authentication -> (строка)

Поддерживаемые варианты — GITHUB_HMAC, IP и UNAUTHENTICATED.

Предупреждение

При создании вебхуков CodePipeline не используйте собственные учетные данные или не используйте один и тот же секретный токен для нескольких вебхуков. Для оптимальной безопасности сгенерируйте уникальный секретный токен для каждого создаваемого вебхука. Секретный токен — это произвольная строка, которую вы предоставляете, GitHub использует ее для вычисления и подписи данных вебхуков, отправляемых в CodePipeline, для защиты целостности и подлинности данных вебхуков. Использование собственных учетных данных или повторное использование одного и того же токена для нескольких вебхуков может привести к уязвимостям безопасности.

Примечание

Если был предоставлен секретный токен, он будет замаскирован в ответе.
  • Дополнительную информацию об схеме аутентификации, реализованной GITHUB_HMAC, см. на веб-сайте GitHub Developer в разделе Обеспечение безопасности ваших вебхуков.
  • IP отклоняет запросы активации вебхуков, если они не поступают с IP-адреса, включенного в список разрешенных IP-адресов в конфигурации аутентификации.
  • UNAUTHENTICATED принимает все запросы активации вебхуков независимо от происхождения.

authenticationConfiguration -> (структура)

Свойства, которые конфигурируют аутентификацию, применяемую к входящим запросам активации вебхуков. Необходимые свойства зависят от типа аутентификации. Для GITHUB_HMAC необходимо установить только свойство SecretToken. Для IP необходимо установить только свойство AllowedIPRange со значением допустимого диапазона CIDR. Для UNAUTHENTICATED не нужно устанавливать никаких свойств.

AllowedIPRange -> (строка)

Свойство, используемое для настройки принятия вебхуков в диапазоне IP-адресов. Для IP необходимо установить только свойство AllowedIPRange. Это свойство должно быть установлено на допустимый диапазон CIDR.

SecretToken -> (строка)

Свойство, используемое для настройки аутентификации GitHub. Для GITHUB_HMAC необходимо установить только свойство SecretToken.

Предупреждение

При создании вебхуков CodePipeline не используйте собственные учетные данные или не используйте один и тот же секретный токен для нескольких вебхуков. Для оптимальной безопасности сгенерируйте уникальный секретный токен для каждого создаваемого вебхука. Секретный токен — это произвольная строка, которую вы предоставляете, GitHub использует ее для вычисления и подписи данных вебхуков, отправляемых в CodePipeline, для защиты целостности и подлинности данных вебхуков. Использование собственных учетных данных или повторное использование одного и того же токена для нескольких вебхуков может привести к уязвимостям безопасности.

Примечание

Если был предоставлен секретный токен, он будет замаскирован в ответе.

Синтаксис сокращенной записи:

name=string,targetPipeline=string,targetAction=string,filters=[{jsonPath=string,matchEquals=string},{jsonPath=string,matchEquals=string}],authentication=string,authenticationConfiguration={AllowedIPRange=string,SecretToken=string}

Синтаксис JSON:

{
  "name": "string",
  "targetPipeline": "string",
  "targetAction": "string",
  "filters": [
    {
      "jsonPath": "string",
      "matchEquals": "string"
    }
    ...
  ],
  "authentication": "GITHUB_HMAC"|"IP"|"UNAUTHENTICATED",
  "authenticationConfiguration": {
    "AllowedIPRange": "string",
    "SecretToken": "string"
  }
}

--tags (список)

Теги для вебхука.

(структура)

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

key -> (строка)

Ключ тега.

value -> (строка)

Значение тега.

Синтаксис сокращенной записи:

key=string,value=string ...

Синтаксис JSON:

[
  {
    "key": "string",
    "value": "string"
  }
  ...
]

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, предоставленные JSON. Передача произвольных двоичных данных с помощью предоставленного JSON-значения невозможна, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. При отсутствии значения или при значении input выводит пример входного JSON, который можно использовать как аргумент для --cli-input-json. Аналогично, при указании значения yaml-input будет выведен пример входного YAML, который можно использовать с --cli-input-yaml. При указании значения output валидирует входные данные команд и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет нестабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Глобальные параметры

--debug (логическое)

Включить отладочную регистрацию.

--endpoint-url (строка)

Переопределить стандартный URL команды на предоставленный URL.

--no-verify-ssl (логическое)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого подключения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение по умолчанию по проверке сертификатов SSL.

--no-paginate (логическое)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

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

--region (строка)

Регион для использования. Переопределяет параметры конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (логическое)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.

--ca-bundle (строка)

Файл сертификатов CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной строки base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое отображается как двоичный блок, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую, независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (логическое)

Отключить пейджер CLI для вывода.

--cli-auto-prompt (логическое)

Автоматически запрашивать параметры входных данных CLI.

--no-cli-auto-prompt (логическое)

Отключить автоматическое запросы параметров входных данных CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, у вас должен быть установлен и настроен AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.

Если не указано иное, во всех примерах используются правила цитирования, аналогичные Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в руководстве пользователя AWS CLI.

Для создания вебхука

Следующий put-webhook пример создаёт вебхук для действия источника GitHub версии 1. После создания вебхука необходимо использовать команду register-webhook-with-third-party для его регистрации.

aws codepipeline put-webhook \
    --cli-input-json file://webhook_json.json \
    --region "eu-central-1"

Содержимое webhook_json.json:

{
    "webhook": {
        "name": "my-webhook",
        "targetPipeline": "pipeline_name",
        "targetAction": "source_action_name",
        "filters": [
            {
                "jsonPath": "$.ref",
                "matchEquals": "refs/heads/{Branch}"
            }
        ],
        "authentication": "GITHUB_HMAC",
        "authenticationConfiguration": {
            "SecretToken": "secret"
        }
    }
}

Вывод:

{
    "webhook": {
        "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111",
        "definition": {
            "authenticationConfiguration": {
                "SecretToken": "secret"
            },
            "name": "my-webhook",
            "authentication": "GITHUB_HMAC",
            "targetPipeline": "pipeline_name",
            "targetAction": "Source",
            "filters": [
                {
                    "jsonPath": "$.ref",
                    "matchEquals": "refs/heads/{Branch}"
                }
            ]
        },
        "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook"
    },
    "tags": [
        {
            "key": "Project",
            "value": "ProjectA"
        }
    ]
}

Дополнительную информацию см. в разделе Создание вебхука для источника GitHub в руководстве пользователя AWS CodePipeline.

Вывод

webhook -> (структура)

Подробная информация, возвращаемая при создании вебхука, такая как имя вебхука, URL вебхука и ARN вебхука.

definition -> (структура)

Подробная информация, возвращаемая для каждого вебхука, такая как тип аутентификации вебхука и правила фильтрации.

name -> (строка)

Имя вебхука.

targetPipeline -> (строка)

Имя пайплайна, к которому вы хотите подключить вебхук.

targetAction -> (строка)

Имя действия в пайплайне, к которому вы хотите подключить вебхук. Действие должно быть из этапа источника (первый) пайплайна.

filters -> (список)

Список правил, применяемых к телу/загрузке, отправляемой в POST-запросе на URL-адрес вебхука. Все определённые правила должны быть выполнены для принятия запроса и запуска пайплайна.

(структура)

Критерии события, указывающие, когда уведомление вебхука отправляется на ваш URL.

jsonPath -> (строка)

Выражение JsonPath, которое применяется к телу/загрузке вебхука. Значение, выбранное выражением JsonPath, должно совпадать со значением, указанным в поле MatchEquals. В противном случае запрос игнорируется. Дополнительную информацию см. в реализации Java JsonPath на GitHub.

matchEquals -> (строка)

Значение, выбранное выражением JsonPath, должно совпадать со значением, предоставленным в поле MatchEquals. В противном случае запрос игнорируется. Свойства конфигурации целевого действия могут быть включены в это значение в качестве заглушек, окружённых фигурными скобками. Например, если предоставленное значение — «refs/heads/{Branch}», а у целевого действия есть свойство конфигурации «Branch» со значением «main», значение MatchEquals оценивается как «refs/heads/main». Список свойств конфигурации действия для встроенных типов действий см. в Справочнике по структуре пайплайна Требования к действиям.

authentication -> (строка)

Поддерживаются варианты GITHUB_HMAC, IP и UNAUTHENTICATED.

Предупреждение

При создании вебхуков CodePipeline не используйте свои собственные учетные данные или не используйте один и тот же секретный ключ для нескольких вебхуков. Для оптимальной безопасности сгенерируйте уникальный секретный ключ для каждого создаваемого вебхука. Секретный ключ — произвольная строка, которую вы предоставляете, GitHub использует её для вычисления и подписания отправляемых в CodePipeline загрузок вебхука, для защиты целостности и подлинности загрузок вебхука. Использование собственных учетных данных или повторное использование одного и того же ключа для нескольких вебхуков может привести к уязвимостям безопасности.

Примечание

Если был предоставлен секретный ключ, он будет замаскирован в ответе.
  • Дополнительную информацию о схеме аутентификации, реализованной GITHUB_HMAC, см. в разделе Защита ваших вебхуков на веб-сайте разработчиков GitHub.
  • IP отклоняет триггеры вебхуков, если они не исходят от IP-адреса, указанного в диапазоне IP, разрешенном в конфигурации аутентификации.
  • UNAUTHENTICATED принимает все запросы триггеров вебхуков независимо от источника.

authenticationConfiguration -> (структура)

Свойства, настраивающие аутентификацию, применяемую к входящим запросам триггеров вебхука. Необходимые свойства зависят от типа аутентификации. Для GITHUB_HMAC необходимо установить только свойство SecretToken. Для IP необходимо установить только свойство AllowedIPRange в допустимый диапазон CIDR. Для UNAUTHENTICATED нельзя устанавливать никаких свойств.

AllowedIPRange -> (строка)

Свойство, используемое для настройки принятия вебхуков в диапазоне IP-адресов. Для IP необходимо установить только свойство AllowedIPRange. Это свойство должно быть установлено в допустимый диапазон CIDR.

SecretToken -> (строка)

Свойство, используемое для настройки аутентификации GitHub. Для GITHUB_HMAC необходимо установить только свойство SecretToken.

Предупреждение

При создании вебхуков CodePipeline не используйте свои собственные учетные данные или не используйте один и тот же секретный ключ для нескольких вебхуков. Для оптимальной безопасности сгенерируйте уникальный секретный ключ для каждого создаваемого вебхука. Секретный ключ — произвольная строка, которую вы предоставляете, GitHub использует её для вычисления и подписания отправляемых в CodePipeline загрузок вебхука, для защиты целостности и подлинности загрузок вебхука. Использование собственных учетных данных или повторное использование одного и того же ключа для нескольких вебхуков может привести к уязвимостям безопасности.

Примечание

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

url -> (строка)

Уникальный URL, сгенерированный CodePipeline. При отправке POST-запроса на этот URL, определённый пайплайн запускается, если тело POST-запроса удовлетворяет определённым условиям аутентификации и фильтрации. Удаление и повторное создание вебхука делает старый URL недопустимым и генерирует новый.

errorMessage -> (строка)

Текст сообщения об ошибке вебхука.

errorCode -> (строка)

Код ошибки.

lastTriggered -> (метка времени)

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

arn -> (строка)

Amazon Resource Name (ARN) вебхука.

tags -> (список)

Указывает теги, применённые к вебхуку.

(структура)

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

key -> (строка)

Ключ тега.

value -> (строка)

Значение тега.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

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