[ 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 -> (строка)
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 -> (строка)
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 -> (строка)
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 -> (строка)
AllowedIPRange. Это свойство должно быть установлено в допустимый диапазон CIDR.SecretToken -> (строка)
Свойство, используемое для настройки аутентификации GitHub. Для GITHUB_HMAC необходимо установить только свойство SecretToken.
Предупреждение
При создании вебхуков CodePipeline не используйте свои собственные учетные данные или не используйте один и тот же секретный ключ для нескольких вебхуков. Для оптимальной безопасности сгенерируйте уникальный секретный ключ для каждого создаваемого вебхука. Секретный ключ — произвольная строка, которую вы предоставляете, GitHub использует её для вычисления и подписания отправляемых в CodePipeline загрузок вебхука, для защиты целостности и подлинности загрузок вебхука. Использование собственных учетных данных или повторное использование одного и того же ключа для нескольких вебхуков может привести к уязвимостям безопасности.Примечание
Если был предоставлен секретный ключ, он будет замаскирован в ответе.url -> (строка)
errorMessage -> (строка)
errorCode -> (строка)
lastTriggered -> (метка времени)
arn -> (строка)
tags -> (список)
Указывает теги, применённые к вебхуку.
(структура)
Тег — пара ключ-значение, используемая для управления ресурсом.
key -> (строка)
value -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.