Class WebhookDefinition

    • Method Detail

      • name

        public final String name()

        The name of the webhook.

        Returns:
        The name of the webhook.
      • targetPipeline

        public final String targetPipeline()

        The name of the pipeline you want to connect to the webhook.

        Returns:
        The name of the pipeline you want to connect to the webhook.
      • targetAction

        public final String targetAction()

        The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.

        Returns:
        The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.
      • hasFilters

        public final boolean hasFilters()
        For responses, this returns true if the service returned a value for the Filters property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • filters

        public final List<WebhookFilterRule> filters()

        A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasFilters() method.

        Returns:
        A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.
      • authentication

        public final WebhookAuthenticationType authentication()

        Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.

        When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.

        If a secret token was provided, it will be redacted in the response.

        • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.

        • IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.

        • UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.

        If the service returns an enum value that is not available in the current SDK version, authentication will return WebhookAuthenticationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from authenticationAsString().

        Returns:
        Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.

        When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.

        If a secret token was provided, it will be redacted in the response.

        • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.

        • IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.

        • UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.

        See Also:
        WebhookAuthenticationType
      • authenticationAsString

        public final String authenticationAsString()

        Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.

        When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.

        If a secret token was provided, it will be redacted in the response.

        • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.

        • IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.

        • UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.

        If the service returns an enum value that is not available in the current SDK version, authentication will return WebhookAuthenticationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from authenticationAsString().

        Returns:
        Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.

        When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.

        If a secret token was provided, it will be redacted in the response.

        • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.

        • IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.

        • UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.

        See Also:
        WebhookAuthenticationType
      • authenticationConfiguration

        public final WebhookAuthConfiguration authenticationConfiguration()

        Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.

        Returns:
        Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)