Spec-Zone.ru › AWS CLI v2

[ aws . codebuild ]

create-webhook

Описание

Для существующего проекта сборки CodeBuild, исходный код которого хранится в репозитории GitHub или Bitbucket, позволяет CodeBuild автоматически перестраивать исходный код каждый раз, когда в репозитории происходит изменение кода.

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

Если вы включите веб-хуки для проекта CodeBuild, а проект используется в качестве этапа сборки в CodePipeline, то для каждого коммита создаются две идентичные сборки. Одна сборка запускается через веб-хуки, а другая — через CodePipeline. Поскольку оплата производится за каждую сборку, вы оплачиваете за обе сборки. Поэтому, если вы используете CodePipeline, рекомендуется отключить веб-хуки в CodeBuild. В консоли CodeBuild очистите поле «Веб-хук». Дополнительную информацию см. в шаге 5 раздела «Изменение параметров проекта сборки».

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

Синтаксис

  create-webhook
--project-name <value>
[--branch-filter <value>]
[--filter-groups <value>]
[--build-type <value>]
[--manual-creation | --no-manual-creation]
[--scope-configuration <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]

Параметры

--project-name (строка)

Имя проекта CodeBuild.

--branch-filter (строка)

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

Примечание

Рекомендуется использовать filterGroups вместо branchFilter.

--filter-groups (список)

Массив массивов объектов WebhookFilter, используемых для определения, какие веб-хуки будут сработать. По крайней мере, один WebhookFilter в массиве должен указать EVENT в качестве своего type.

Для того, чтобы сборка была запущена, по крайней мере, одна группа фильтров в массиве filterGroups должна быть пройдена. Для того, чтобы группа фильтров была пройдена, каждый из ее фильтров должен быть пройден.

(список)

(структура)

Фильтр, используемый для определения, какие веб-хуки запускают сборку.

type -> (строка)

Тип фильтра веб-хука. Существует 11 типов фильтров веб-хуков: EVENT , ACTOR_ACCOUNT_ID , HEAD_REF , BASE_REF , FILE_PATH , COMMIT_MESSAGE , TAG_NAME , RELEASE_NAME , REPOSITORY_NAME , ORGANIZATION_NAME и WORKFLOW_NAME .

  • EVENT

    • Событие веб-хука запускает сборку, когда предоставленное pattern соответствует одному из девяти типов событий: PUSH , PULL_REQUEST_CREATED , PULL_REQUEST_UPDATED , PULL_REQUEST_CLOSED , PULL_REQUEST_REOPENED , PULL_REQUEST_MERGED , RELEASED , PRERELEASED и WORKFLOW_JOB_QUEUED . Шаблоны EVENT указаны как строка через запятую. Например, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED фильтрует все события push, создания запроса на изменение и обновления запроса на изменение.

    Примечание

    Типы PULL_REQUEST_REOPENED и WORKFLOW_JOB_QUEUED работают только с GitHub и GitHub Enterprise. Типы RELEASED и PRERELEASED работают только с GitHub.

  • ACTOR_ACCOUNT_ID

    • Событие веб-хука запускает сборку, когда идентификатор учетной записи GitHub, GitHub Enterprise или Bitbucket соответствует регулярному выражению pattern .
  • HEAD_REF

    • Событие веб-хука запускает сборку, когда ссылка head соответствует регулярному выражению pattern . Например, refs/heads/branch-name и refs/tags/tag-name .

    Примечание

    Работает с событиями push, запросов на изменение GitHub и GitHub Enterprise, push Bitbucket и запросами на изменение Bitbucket.

  • BASE_REF

    • Событие веб-хука запускает сборку, когда ссылка base соответствует регулярному выражению pattern . Например, refs/heads/branch-name .

    Примечание

    Работает только с событиями запросов на изменение.

  • FILE_PATH

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

    Примечание

    Работает только с событиями push и запросов на изменение.

  • COMMIT_MESSAGE

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

    Примечание

    Работает только с событиями push и запросов на изменение.

  • TAG_NAME

    • Веб-хук запускает сборку, когда имя тега релиза соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями RELEASED и PRERELEASED .

  • RELEASE_NAME

    • Веб-хук запускает сборку, когда имя релиза соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями RELEASED и PRERELEASED .

  • REPOSITORY_NAME

    • Веб-хук запускает сборку, когда имя репозитория соответствует регулярному выражению pattern .

    Примечание

    Работает только с глобальными или организационными веб-хуками GitHub.

  • ORGANIZATION_NAME

    • Веб-хук запускает сборку, когда имя организации соответствует регулярному выражению pattern .

    Примечание

    Работает только с глобальными веб-хуками GitHub.

  • WORKFLOW_NAME

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

    Примечание

    Работает только с событиями WORKFLOW_JOB_QUEUED .

    Примечание

    Для сборок CodeBuild с исполнителем Buildkite WORKFLOW_NAME фильтры будут фильтровать по имени конвейера.

pattern -> (строка)

Для WebHookFilter, использующего EVENT тип, строка через запятую, определяющая один или несколько событий. Например, фильтр веб-хуков PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED позволяет запускать сборку при всех событиях push, создания запроса на изменение и обновления запроса на изменение.

Для WebHookFilter, использующего любой другой тип фильтров, шаблон регулярного выражения. Например, WebHookFilter, использующий HEAD_REF для своего type и шаблон ^refs/heads/ запускает сборку, когда ссылка head является веткой с именем ссылки refs/heads/branch-name .

excludeMatchedPattern -> (логическое значение)

Используется для указания того, что pattern определяет, какие события веб-хуков не запускают сборку. Если true, то событие веб-хука, не соответствующее pattern, запускает сборку. Если false, то событие веб-хука, соответствующее pattern, запускает сборку.

Сокращённый синтаксис:

[{type=string,pattern=string,excludeMatchedPattern=boolean},{type=string,pattern=string,excludeMatchedPattern=boolean}] ...

Синтаксис JSON:

[
  [
    {
      "type": "EVENT"|"BASE_REF"|"HEAD_REF"|"ACTOR_ACCOUNT_ID"|"FILE_PATH"|"COMMIT_MESSAGE"|"WORKFLOW_NAME"|"TAG_NAME"|"RELEASE_NAME"|"REPOSITORY_NAME"|"ORGANIZATION_NAME",
      "pattern": "string",
      "excludeMatchedPattern": true|false
    }
    ...
  ]
  ...
]

--build-type (строка)

Указывает тип сборки, который этот веб-хук запустит.

Примечание

RUNNER_BUILDKITE_BUILD доступен только для проектов с типом источника NO_SOURCE, настроенных для сборок Buildkite runner. Дополнительную информацию о сборках CodeBuild с исполнителем Buildkite runner см. в разделе «Руководство пользователя CodeBuild».

Возможные значения:

  • BUILD
  • BUILD_BATCH
  • RUNNER_BUILDKITE_BUILD

--manual-creation | --no-manual-creation (логическое значение)

Если manualCreation равно true, CodeBuild не создаёт веб-хук в GitHub и вместо этого возвращает значения payloadUrl и secret для веб-хука. Значения payloadUrl и secret в выводе могут быть использованы для ручного создания веб-хука в GitHub.

Примечание

manualCreation доступно только для веб-хуков GitHub.

--scope-configuration (структура)

Настройка области для глобальных или организационных веб-хуков.

Примечание

Глобальные или организационные веб-хуки доступны только для веб-хуков GitHub и GitHub Enterprise.

name -> (строка)

Имя группы, предприятия или организации, которая будет отправлять события веб-хука в CodeBuild в зависимости от типа веб-хука.

domain -> (строка)

Домен организации GitHub Enterprise или группы GitLab Self Managed. Обратите внимание, что этот параметр необходим только в том случае, если тип источника вашего проекта — GITHUB_ENTERPRISE или GITLAB_SELF_MANAGED.

scope -> (строка)

Тип области для веб-хука GitHub или GitLab. Значение scope по умолчанию — GITHUB_ORGANIZATION.

Сокращённый синтаксис:

name=string,domain=string,scope=string

Синтаксис JSON:

{
  "name": "string",
  "domain": "string",
  "scope": "GITHUB_ORGANIZATION"|"GITHUB_GLOBAL"|"GITLAB_GROUP"
}

--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 (boolean)

Включить отладку.

--endpoint-url (string)

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

--no-verify-ssl (boolean)

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

--no-paginate (boolean)

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

--output (string)

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

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

--query (string)

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

--profile (string)

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

--region (string)

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

--version (string)

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

--color (string)

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

  • on
  • off
  • auto

--no-sign-request (boolean)

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

--ca-bundle (string)

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

--cli-read-timeout (int)

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

--cli-connect-timeout (int)

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

--cli-binary-format (string)

Стиль форматирования для бинарных блоков. По умолчанию используется формат 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 (boolean)

Отключить пагинацию вывода.

--cli-auto-prompt (boolean)

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

--no-cli-auto-prompt (boolean)

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

Примеры

Примечание

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

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

Создание фильтров веб-хуков для проекта AWS CodeBuild

Следующий пример создает веб-хук для проекта CodeBuild с именем my-project, который имеет две группы фильтров. Первая группа фильтров определяет запросы pull, которые созданы, обновлены или повторно открыты на ветках с именами Git-ссылок, соответствующими регулярному выражению ^refs/heads/master$, и ссылками head, соответствующими ^refs/heads/myBranch$. Вторая группа фильтров определяет запросы push на ветках с именами Git-ссылок, не соответствующими регулярному выражению ^refs/heads/myBranch$.

aws codebuild create-webhook \
    --project-name my-project \
    --filter-groups "[[{\"type\":\"EVENT\",\"pattern\":\"PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED\"},{\"type\":\"HEAD_REF\",\"pattern\":\"^refs/heads/myBranch$\",\"excludeMatchedPattern\":true},{\"type\":\"BASE_REF\",\"pattern\":\"^refs/heads/master$\",\"excludeMatchedPattern\":true}],[{\"type\":\"EVENT\",\"pattern\":\"PUSH\"},{\"type\":\"HEAD_REF\",\"pattern\":\"^refs/heads/myBranch$\",\"excludeMatchedPattern\":true}]]"

Вывод:

{
    "webhook": {
        "payloadUrl": "https://codebuild.us-west-2.amazonaws.com/webhooks?t=eyJlbmNyeXB0ZWREYXRhIjoiVVl5MGtoeGRwSzZFRXl2Wnh4bld1Z0tKZ291TVpQNEtFamQ3RDlDYWpRaGIreVFrdm9EQktIVk1NeHJEWEpmUDUrVUNOMUIyRHJRc1VxcHJ6QlNDSnljPSIsIml2UGFyYW1ldGVyU3BlYyI6InN4Tm1SeUt5MUhaUVRWbGciLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&v=1",
        "url": "https://api.github.com/repos/iversonic/codedeploy-sample/hooks/105190656",
        "lastModifiedSecret": 1556311319.069,
        "filterGroups": [
            [
                {
                    "type": "EVENT",
                    "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED",
                    "excludeMatchedPattern": false
                },
                {
                    "type": "HEAD_REF",
                    "pattern": "refs/heads/myBranch$",
                    "excludeMatchedPattern": true
                },
                {
                    "type": "BASE_REF",
                    "pattern": "refs/heads/master$",
                    "excludeMatchedPattern": true
                }
            ],
            [
                {
                    "type": "EVENT",
                    "pattern": "PUSH",
                    "excludeMatchedPattern": false
                },
                {
                    "type": "HEAD_REF",
                    "pattern": "refs/heads/myBranch$",
                    "excludeMatchedPattern": true
                }
            ]
        ]
    }
}

Дополнительную информацию см. в разделе Фильтр событий веб-хука GitHub (SDK) в руководстве пользователя AWS CodeBuild.

Вывод

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

Информация о webhook, который связывает события репозитория с проектом сборки в CodeBuild.

url -> (строка)

URL вебхука.

payloadUrl -> (строка)

Конечная точка CodeBuild, куда отправляются события вебхука.

secret -> (строка)

Секретный токен связанного репозитория.

Примечание

Вебхук Bitbucket не поддерживает secret .

branchFilter -> (строка)

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

Примечание

Рекомендуется использовать filterGroups вместо branchFilter .

filterGroups -> (список)

Массив массивов объектов WebhookFilter, используемых для определения, какие вебхуки будут активировать сборку. По крайней мере, один WebhookFilter в массиве должен указать EVENT в качестве своего type .

Для запуска сборки должен быть пройден хотя бы один фильтр группы в массиве filterGroups. Для прохождения группы фильтров, каждый из её фильтров должен быть пройден.

(список)

(структура)

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

type -> (строка)

Тип фильтра вебхука. Существует 11 типов фильтров вебхуков: EVENT , ACTOR_ACCOUNT_ID , HEAD_REF , BASE_REF , FILE_PATH , COMMIT_MESSAGE , TAG_NAME , RELEASE_NAME , REPOSITORY_NAME , ORGANIZATION_NAME и WORKFLOW_NAME .

  • EVENT

    • Событие вебхука запускает сборку, когда указанное pattern соответствует одному из девяти типов событий: PUSH , PULL_REQUEST_CREATED , PULL_REQUEST_UPDATED , PULL_REQUEST_CLOSED , PULL_REQUEST_REOPENED , PULL_REQUEST_MERGED , RELEASED , PRERELEASED и WORKFLOW_JOB_QUEUED . Шаблоны EVENT задаются как строка, разделенная запятыми. Например, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED фильтрует все события push, создания и обновления запроса на вытягивание.

    Примечание

    Типы PULL_REQUEST_REOPENED и WORKFLOW_JOB_QUEUED работают только с GitHub и GitHub Enterprise. Типы RELEASED и PRERELEASED работают только с GitHub.

  • ACTOR_ACCOUNT_ID

    • Событие вебхука запускает сборку, когда идентификатор учетной записи GitHub, GitHub Enterprise или Bitbucket соответствует регулярному выражению pattern .
  • HEAD_REF

    • Событие вебхука запускает сборку, когда ссылка head соответствует регулярному выражению pattern . Например, refs/heads/branch-name и refs/tags/tag-name .

    Примечание

    Работает с событиями push и запроса на вытягивание GitHub и GitHub Enterprise, push и запросом на вытягивание Bitbucket.

  • BASE_REF

    • Событие вебхука запускает сборку, когда ссылка base соответствует регулярному выражению pattern . Например, refs/heads/branch-name .

    Примечание

    Работает только с событиями запросов на вытягивание.

  • FILE_PATH

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

    Примечание

    Работает только с событиями push и запросов на вытягивание.

  • COMMIT_MESSAGE

    • Вебхук запускает сборку, когда сообщение об изменениях head соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями push и запросов на вытягивание.

  • TAG_NAME

    • Вебхук запускает сборку, когда имя тега выпуска соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями RELEASED и PRERELEASED .

  • RELEASE_NAME

    • Вебхук запускает сборку, когда имя выпуска соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями RELEASED и PRERELEASED .

  • REPOSITORY_NAME

    • Вебхук запускает сборку, когда имя репозитория соответствует регулярному выражению pattern .

    Примечание

    Работает только с глобальными или организационными вебхуками GitHub.

  • ORGANIZATION_NAME

    • Вебхук запускает сборку, когда имя организации соответствует регулярному выражению pattern .

    Примечание

    Работает только с глобальными вебхуками GitHub.

  • WORKFLOW_NAME

    • Вебхук запускает сборку, когда имя пайплайна соответствует регулярному выражению pattern .

    Примечание

    Работает только с событиями WORKFLOW_JOB_QUEUED .

    Примечание

    Для сборок с CodeBuild-hosted Buildkite runner, фильтры WORKFLOW_NAME будут фильтровать по имени пайплайна.

pattern -> (строка)

Для WebHookFilter, использующего тип EVENT , строка, разделенная запятыми, которая определяет одно или несколько событий. Например, фильтр вебхука PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED позволяет всем событиям push, создания и обновления запроса на вытягивание запускать сборку.

Для WebHookFilter, использующего любой другой тип фильтра, регулярное выражение. Например, WebHookFilter, использующий HEAD_REF для своего type и шаблон ^refs/heads/ запускает сборку, когда ссылка head является веткой с именем ссылки refs/heads/branch-name .

excludeMatchedPattern -> (булево)

Используется для указания, что pattern определяет, какие события вебхука не запускают сборку. Если true, то событие вебхука, которое не соответствует pattern, запускает сборку. Если false, то событие вебхука, соответствующее pattern, запускает сборку.

buildType -> (строка)

Указывает тип сборки, который будет запущен этим вебхуком.

Примечание

RUNNER_BUILDKITE_BUILD доступен только для проектов с типом источника NO_SOURCE, настроенных для сборок Buildkite runner. Для получения дополнительной информации о сборках Buildkite runner, размещённых в CodeBuild, см. Учебник: Настройка CodeBuild-hosted Buildkite runner в руководстве по CodeBuild.

manualCreation -> (булево)

Если manualCreation имеет значение true, CodeBuild не создает вебхук в GitHub и вместо этого возвращает значения payloadUrl и secret для вебхука. Значения payloadUrl и secret в выводе можно использовать для ручного создания вебхука в GitHub.

Примечание

manualCreation доступен только для вебхуков GitHub.

lastModifiedSecret -> (временная метка)

Временная метка, указывающая последний раз, когда был изменён секретный токен репозитория.

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

Настройка области для глобальных или организационных вебхуков.

Примечание

Глобальные или организационные вебхуки доступны только для вебхуков GitHub и GitHub Enterprise.

name -> (строка)

Имя группы, предприятия или организации, которая будет отправлять события вебхука в CodeBuild, в зависимости от типа вебхука.

domain -> (строка)

Домен организации GitHub Enterprise или группы GitLab Self Managed. Обратите внимание, что этот параметр необходим только если тип источника вашего проекта GITHUB_ENTERPRISE или GITLAB_SELF_MANAGED.

scope -> (строка)

Тип области для вебхука GitHub или GitLab. Значение scope по умолчанию GITHUB_ORGANIZATION.

status -> (строка)

Статус вебхука. Допустимые значения:

  • CREATING : Вебхук создаётся.
  • CREATE_FAILED : Создание вебхука не удалось.
  • ACTIVE : Вебхук успешно создан и активен.
  • DELETING : Вебхук удаляется.

statusMessage -> (строка)

Сообщение, связанное со статусом вебхука.

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

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

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