/AWS1/CL_PIP=>PUTWEBHOOK()
¶
About PutWebhook¶
Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third party source hosting providers to call every time there's a code change. When CodePipeline receives a POST request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the generated webhook URL.
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.
Method Signature¶
IMPORTING¶
Required arguments:¶
io_webhook
TYPE REF TO /AWS1/CL_PIPWEBHOOKDEFINITION
/AWS1/CL_PIPWEBHOOKDEFINITION
¶
The detail provided in an input file to create the webhook, such as the webhook name, the pipeline name, and the action name. Give the webhook a unique name that helps you identify it. You might name the webhook after the pipeline and action it targets so that you can easily recognize what it's used for later.
Optional arguments:¶
it_tags
TYPE /AWS1/CL_PIPTAG=>TT_TAGLIST
TT_TAGLIST
¶
The tags for the webhook.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_pipputwebhookoutput
/AWS1/CL_PIPPUTWEBHOOKOUTPUT
¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->/aws1/if_pip~putwebhook(
io_webhook = new /aws1/cl_pipwebhookdefinition(
io_authntctnconfiguration = new /aws1/cl_pipwebhookauthconf(
iv_allowediprange = |string|
iv_secrettoken = |string|
)
it_filters = VALUE /aws1/cl_pipwebhookfilterrule=>tt_webhookfilters(
(
new /aws1/cl_pipwebhookfilterrule(
iv_jsonpath = |string|
iv_matchequals = |string|
)
)
)
iv_authentication = |string|
iv_name = |string|
iv_targetaction = |string|
iv_targetpipeline = |string|
)
it_tags = VALUE /aws1/cl_piptag=>tt_taglist(
(
new /aws1/cl_piptag(
iv_key = |string|
iv_value = |string|
)
)
)
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_listwebhookitem = lo_result->get_webhook( ).
IF lo_listwebhookitem IS NOT INITIAL.
lo_webhookdefinition = lo_listwebhookitem->get_definition( ).
IF lo_webhookdefinition IS NOT INITIAL.
lv_webhookname = lo_webhookdefinition->get_name( ).
lv_pipelinename = lo_webhookdefinition->get_targetpipeline( ).
lv_actionname = lo_webhookdefinition->get_targetaction( ).
LOOP AT lo_webhookdefinition->get_filters( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_jsonpath = lo_row_1->get_jsonpath( ).
lv_matchequals = lo_row_1->get_matchequals( ).
ENDIF.
ENDLOOP.
lv_webhookauthenticationty = lo_webhookdefinition->get_authentication( ).
lo_webhookauthconfiguratio = lo_webhookdefinition->get_authntctnconfiguration( ).
IF lo_webhookauthconfiguratio IS NOT INITIAL.
lv_webhookauthconfiguratio_1 = lo_webhookauthconfiguratio->get_allowediprange( ).
lv_webhookauthconfiguratio_2 = lo_webhookauthconfiguratio->get_secrettoken( ).
ENDIF.
ENDIF.
lv_webhookurl = lo_listwebhookitem->get_url( ).
lv_webhookerrormessage = lo_listwebhookitem->get_errormessage( ).
lv_webhookerrorcode = lo_listwebhookitem->get_errorcode( ).
lv_webhooklasttriggered = lo_listwebhookitem->get_lasttriggered( ).
lv_webhookarn = lo_listwebhookitem->get_arn( ).
LOOP AT lo_listwebhookitem->get_tags( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_tagkey = lo_row_3->get_key( ).
lv_tagvalue = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.