Amazon CodeBuild #X Amz Target=CodeBuild 20161006.CreateWebhook API

The #X Amz Target=CodeBuild 20161006.CreateWebhook API from Amazon CodeBuild — 1 operation(s) for #x amz target=codebuild 20161006.createwebhook.

OpenAPI Specification

amazon-codebuild-x-amz-target-codebuild-20161006-createwebhook-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2016-10-06'
  x-release: v4
  title: 'AWS CodeBuild Builds #X Amz Target=CodeBuild 20161006.CreateWebhook API'
  description: <fullname>CodeBuild</fullname> <p>CodeBuild is a fully managed build service in the cloud. CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in CodeBuild to use your own build tools. CodeBuild scales automatically to meet peak build requests. You pay only for the build time you consume. For more information about CodeBuild, see the <i> <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html">CodeBuild User Guide</a>.</i> </p>
  x-logo:
    url: https://twitter.com/awscloud/profile_image?size=original
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: codebuild
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/codebuild-2016-10-06.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://codebuild.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS CodeBuild multi-region endpoint
- url: https://codebuild.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS CodeBuild multi-region endpoint
- url: http://codebuild.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS CodeBuild endpoint for China (Beijing) and China (Ningxia)
- url: https://codebuild.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS CodeBuild endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: '#X Amz Target=CodeBuild 20161006.CreateWebhook'
paths:
  /#X-Amz-Target=CodeBuild_20161006.CreateWebhook:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: CreateWebhook
      description: <p>For an existing CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.</p> <important> <p>If you enable webhooks for an CodeBuild project, and the project is used as a build step in CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using CodePipeline, we recommend that you disable webhooks in CodeBuild. In the CodeBuild console, clear the Webhook box. For more information, see step 5 in <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console">Change a Build Project's Settings</a>.</p> </important>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWebhookOutput'
              examples:
                CreateWebhook200Example:
                  summary: Default CreateWebhook 200 response
                  x-microcks-default: true
                  value:
                    webhook: example-value
        '480':
          description: InvalidInputException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidInputException'
              examples:
                CreateWebhook480Example:
                  summary: Default CreateWebhook 480 response
                  x-microcks-default: true
                  value: example-value
        '481':
          description: OAuthProviderException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthProviderException'
              examples:
                CreateWebhook481Example:
                  summary: Default CreateWebhook 481 response
                  x-microcks-default: true
                  value: example-value
        '482':
          description: ResourceAlreadyExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceAlreadyExistsException'
              examples:
                CreateWebhook482Example:
                  summary: Default CreateWebhook 482 response
                  x-microcks-default: true
                  value: example-value
        '483':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
              examples:
                CreateWebhook483Example:
                  summary: Default CreateWebhook 483 response
                  x-microcks-default: true
                  value: example-value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookInput'
            examples:
              CreateWebhookRequestExample:
                summary: Default CreateWebhook request
                x-microcks-default: true
                value:
                  projectName: example-resource
                  branchFilter: example-value
                  filterGroups: example-value
                  buildType: STANDARD
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - CodeBuild_20161006.CreateWebhook
      summary: Amazon CodeBuild Create Webhook
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - '#X Amz Target=CodeBuild 20161006.CreateWebhook'
components:
  parameters:
    X-Amz-Content-Sha256:
      name: X-Amz-Content-Sha256
      in: header
      schema:
        type: string
      required: false
    X-Amz-Algorithm:
      name: X-Amz-Algorithm
      in: header
      schema:
        type: string
      required: false
    X-Amz-Credential:
      name: X-Amz-Credential
      in: header
      schema:
        type: string
      required: false
    X-Amz-Security-Token:
      name: X-Amz-Security-Token
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      in: header
      schema:
        type: string
      required: false
    X-Amz-Date:
      name: X-Amz-Date
      in: header
      schema:
        type: string
      required: false
    X-Amz-SignedHeaders:
      name: X-Amz-SignedHeaders
      in: header
      schema:
        type: string
      required: false
  schemas:
    ResourceNotFoundException: {}
    WebhookBuildType:
      type: string
      enum:
      - BUILD
      - BUILD_BATCH
    WebhookFilterType:
      type: string
      enum:
      - EVENT
      - BASE_REF
      - HEAD_REF
      - ACTOR_ACCOUNT_ID
      - FILE_PATH
      - COMMIT_MESSAGE
    WebhookFilter:
      type: object
      required:
      - type
      - pattern
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/WebhookFilterType'
          - description: '<p> The type of webhook filter. There are six webhook filter types: <code>EVENT</code>, <code>ACTOR_ACCOUNT_ID</code>, <code>HEAD_REF</code>, <code>BASE_REF</code>, <code>FILE_PATH</code>, and <code>COMMIT_MESSAGE</code>. </p> <dl> <dt> EVENT </dt> <dd> <p> A webhook event triggers a build when the provided <code>pattern</code> matches one of five event types: <code>PUSH</code>, <code>PULL_REQUEST_CREATED</code>, <code>PULL_REQUEST_UPDATED</code>, <code>PULL_REQUEST_REOPENED</code>, and <code>PULL_REQUEST_MERGED</code>. The <code>EVENT</code> patterns are specified as a comma-separated string. For example, <code>PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED</code> filters all push, pull request created, and pull request updated events. </p> <note> <p> The <code>PULL_REQUEST_REOPENED</code> works with GitHub and GitHub Enterprise only. </p> </note> </dd> <dt> ACTOR_ACCOUNT_ID </dt> <dd> <p> A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression <code>pattern</code>. </p> </dd> <dt> HEAD_REF </dt> <dd> <p> A webhook event triggers a build when the head reference matches the regular expression <code>pattern</code>. For example, <code>refs/heads/branch-name</code> and <code>refs/tags/tag-name</code>. </p> <p> Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events. </p> </dd> <dt> BASE_REF </dt> <dd> <p> A webhook event triggers a build when the base reference matches the regular expression <code>pattern</code>. For example, <code>refs/heads/branch-name</code>. </p> <note> <p> Works with pull request events only. </p> </note> </dd> <dt> FILE_PATH </dt> <dd> <p> A webhook triggers a build when the path of a changed file matches the regular expression <code>pattern</code>. </p> <note> <p> Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events. </p> </note> </dd> <dt>COMMIT_MESSAGE</dt> <dd> <p>A webhook triggers a build when the head commit message matches the regular expression <code>pattern</code>.</p> <note> <p> Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events. </p> </note> </dd> </dl>'
        pattern:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: <p> For a <code>WebHookFilter</code> that uses <code>EVENT</code> type, a comma-separated string that specifies one or more events. For example, the webhook filter <code>PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED</code> allows all push, pull request created, and pull request updated events to trigger a build. </p> <p> For a <code>WebHookFilter</code> that uses any of the other filter types, a regular expression pattern. For example, a <code>WebHookFilter</code> that uses <code>HEAD_REF</code> for its <code>type</code> and the pattern <code>^refs/heads/</code> triggers a build when the head reference is a branch with a reference name <code>refs/heads/branch-name</code>. </p>
        excludeMatchedPattern:
          allOf:
          - $ref: '#/components/schemas/WrapperBoolean'
          - description: ' Used to indicate that the <code>pattern</code> determines which webhook events do not trigger a build. If true, then a webhook event that does not match the <code>pattern</code> triggers a build. If false, then a webhook event that matches the <code>pattern</code> triggers a build. '
      description: ' A filter used to determine which webhooks trigger a build. '
    NonEmptyString:
      type: string
      minLength: 1
    WrapperBoolean:
      type: boolean
    Timestamp:
      type: string
      format: date-time
    CreateWebhookInput:
      type: object
      required:
      - projectName
      title: CreateWebhookInput
      properties:
        projectName:
          allOf:
          - $ref: '#/components/schemas/ProjectName'
          - description: The name of the CodeBuild project.
        branchFilter:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: <p>A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If <code>branchFilter</code> is empty, then all branches are built.</p> <note> <p>It is recommended that you use <code>filterGroups</code> instead of <code>branchFilter</code>. </p> </note>
        filterGroups:
          allOf:
          - $ref: '#/components/schemas/FilterGroups'
          - description: <p>An array of arrays of <code>WebhookFilter</code> objects used to determine which webhooks are triggered. At least one <code>WebhookFilter</code> in the array must specify <code>EVENT</code> as its <code>type</code>. </p> <p>For a build to be triggered, at least one filter group in the <code>filterGroups</code> array must pass. For a filter group to pass, each of its filters must pass. </p>
        buildType:
          allOf:
          - $ref: '#/components/schemas/WebhookBuildType'
          - description: Specifies the type of build this webhook will trigger.
    FilterGroup:
      type: array
      items:
        $ref: '#/components/schemas/WebhookFilter'
    ResourceAlreadyExistsException: {}
    String:
      type: string
    CreateWebhookOutput:
      type: object
      properties:
        webhook:
          allOf:
          - $ref: '#/components/schemas/Webhook'
          - description: Information about a webhook that connects repository events to a build project in CodeBuild.
    Webhook:
      type: object
      properties:
        url:
          allOf:
          - $ref: '#/components/schemas/NonEmptyString'
          - description: The URL to the webhook.
        payloadUrl:
          allOf:
          - $ref: '#/components/schemas/NonEmptyString'
          - description: The CodeBuild endpoint where webhook events are sent.
        secret:
          allOf:
          - $ref: '#/components/schemas/NonEmptyString'
          - description: <p>The secret token of the associated repository. </p> <note> <p>A Bitbucket webhook does not support <code>secret</code>. </p> </note>
        branchFilter:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: <p>A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If <code>branchFilter</code> is empty, then all branches are built.</p> <note> <p>It is recommended that you use <code>filterGroups</code> instead of <code>branchFilter</code>. </p> </note>
        filterGroups:
          allOf:
          - $ref: '#/components/schemas/FilterGroups'
          - description: <p>An array of arrays of <code>WebhookFilter</code> objects used to determine which webhooks are triggered. At least one <code>WebhookFilter</code> in the array must specify <code>EVENT</code> as its <code>type</code>. </p> <p>For a build to be triggered, at least one filter group in the <code>filterGroups</code> array must pass. For a filter group to pass, each of its filters must pass. </p>
        buildType:
          allOf:
          - $ref: '#/components/schemas/WebhookBuildType'
          - description: Specifies the type of build this webhook will trigger.
        lastModifiedSecret:
          allOf:
          - $ref: '#/components/schemas/Timestamp'
          - description: 'A timestamp that indicates the last time a repository''s secret token was modified. '
      description: Information about a webhook that connects repository events to a build project in CodeBuild.
    ProjectName:
      type: string
      pattern: '[A-Za-z0-9][A-Za-z0-9\-_]{1,254}'
      minLength: 2
      maxLength: 255
    OAuthProviderException: {}
    InvalidInputException: {}
    FilterGroups:
      type: array
      items:
        $ref: '#/components/schemas/FilterGroup'
  securitySchemes:
    hmac:
      type: apiKey
      name: Authorization
      in: header
      description: Amazon Signature authorization v4
      x-amazon-apigateway-authtype: awsSigv4
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/codebuild/
x-hasEquivalentPaths: true