Workingon usage of GitLab web hooks for activating Cloud Build triggers. Problem that I'm facing is that my web hook to push trigger is working fine, but merge trigger is never started, instead push trigger is activated. On GitLab side web hook URLs are different and pointing to right trigger URLs.
While trying to troubleshoot has following: when using dummy build trigger that has inline default step ( ubuntu image to run echo hello world) it works fine, when I'm adding Substitution vars getting an error:
Thanks for answering.
Yes, I've looked into documentation and substitution part as well. As for tutorial, I've not looked into it yet.
But your answers are general and I'm not sure if you understand that what I'm asking is pretty specific: I have a push trigger web hook working well, so all general conditions are met; what is not working is using another MR web hook that should activate another MR trigger but activating push trigger instead. 
Point is that on GitLab side both web hooks have different  URLs and ( I assume that ) they should not activate wrong trigger.
So still question that I want to be asked: how to debug such problem. What I need is to catch on Builder side events related to this specific web hook request.
And again I've used both clone of push trigger and new trigger build from scratch. and having the same results.
Thanks for helping.
For debugging purposes, as suggested in this post, you can try with pipedream. You can also take a look at this Stackoverflow post. Finally I recommend you to check this troubleshooting guide if you haven't already done so.
So per my understanding: payload of GCP Build Trigger differs from either GitLab or GitHub specs and I'm asking for reference to real spec. Is any public repository with trigger code available?
OpenShift Container Platform webhooks currently only support their analogous versions of the push event for each of the Git based source code managementsystems (SCMs). All other event types are ignored.
When the push events are processed, a confirmation is made as to whether the branch reference inside the event matches the branch reference in the correspondingBuildConfig. If they match, then the exact commit reference noted in the webhook event is checked out for the OpenShift Container Platform build. If they do not match, no build is triggered.
For all webhooks, you must define a Secret with a key named WebHookSecretKey and thevalue being the value to be supplied when invoking the webhook. The webhook definitionmust then reference the secret. The secret ensures the uniqueness of the URL, preventingothers from triggering the build. The value of the key will be compared to the secret providedduring the webhook invocation.
GitHub webhooks handle the callmade by GitHub when a repository is updated. When defining the trigger, you mustspecify a secret, which will be part of the URL you supply to GitHub whenconfiguring the webhook.
The secret used in the webhook trigger configuration is not the same as secretfield you encounter when configuring webhook in GitHub UI. The former is to makethe webhook URL unique and hard to predict, the latter is an optional string fieldused to create HMAC hex digest of the body, which is sent as an X-Hub-Signatureheader.
GitLab webhookshandle the call made by GitLab when a repository is updated. As with the GitHubtriggers, you must specify a secret. The following example isa trigger definition YAML within the BuildConfig:
Bitbucket webhookshandle the call made by Bitbucket when a repository is updated. Similar to theprevious triggers, you must specify a secret. The following example is atrigger definition YAML within the BuildConfig:
Generic webhooks are invoked from any system capable of making a web request.As with the other webhooks, you must specify a secret, which will be part ofthe URL that the caller must use to trigger the build. The secret ensures theuniqueness of the URL, preventing others from triggering the build. Thefollowing is an example trigger definition YAML within the BuildConfig:
The arguments are the same as the previous example with the addition of a headerand a payload. The -H argument sets the Content-Type header toapplication/yaml or application/json depending on your payload format.The --data-binary argument is used to send a binary payload with newlinesintact with the POST request.
OpenShift Container Platform permits builds to be triggered via the generic webhook even ifan invalid request payload is presented (for example, invalid content type,unparsable or invalid content, and so on). This behavior is maintained forbackwards compatibility. If an invalid request payload is presented,OpenShift Container Platform returns a warning in JSON format as part of its HTTP 200 OKresponse.
Image change triggers allow your build to be automatically invoked when a newversion of an upstream image is available. For example, if a build is based ontop of a RHEL image, then you can trigger that build to run any time the RHELimage changes. As a result, the application image is always running on thelatest RHEL base image.
This defines the image stream that is tied to a container image repositorylocated at //ruby-20-centos7. The is defined as a service with the name docker-registryrunning in OpenShift Container Platform.
When using an image change trigger for the strategy image stream, the generatedbuild is supplied with an immutable Docker tag that points to the latest imagecorresponding to that tag. This new image reference will be used by the strategywhen it executes for the build.
You can pause an image change trigger to allow multiple changes on the referencedimage stream before a build is started. You can also set the paused attributeto true when initially adding an ImageChangeTrigger to a BuildConfig to preventa build from being immediately triggered.
In addition to setting the image field for all Strategy types, for custombuilds, the OPENSHIFT_CUSTOM_BUILD_BASE_IMAGE environment variable is checked.If it does not exist, then it is created with the immutable image reference. Ifit does exist then it is updated with the immutable image reference.
If a build is triggered due to a webhook trigger or manual request,the build that is created uses the resolved from theImageStream referenced by the Strategy. This ensures that buildsare performed using consistent image tags for ease of reproduction.
Image streams that point to container images inv1container registries only trigger a build once when theimagestream tag becomes available and not on subsequent image updates. This is dueto the lack of uniquely identifiable images in v1 container registries.
Configuration change triggers currently only work when creating a newBuildConfig. In a future release, configuration change triggers will also beable to launch a build whenever a BuildConfig is updated.
Consider a scenario where your REST API server needs to consume events from event-sources S3, GitHub, SQS etc. Usually, you'd end up writingthe integration yourself in the server code, although server logic has nothing to do any of the event-sources. This is where Argo Events HTTP triggercan help. The HTTP trigger takes the task of consuming events from event-sources away from API server and seamlessly integrates these events via REST API calls.
Our goals is to seamlessly integrate Minio S3 bucket notifications with REST API server created in previous step. So, lets set up the Minio event-source available here. Don't create the sensor as we will be deploying it in next step.
Similar to other type of triggers, sensor offers parameterization for the HTTP trigger. Parameterization is specially useful whenyou want to define a generic trigger template in the sensor and populate values like URL, payload values on the fly.
ACPI defines a hardware register interface that an ACPI-compatible OSuses to control core power management features of a machine, asdescribed in ACPI Hardware Specification ACPI also provides an abstract interface forcontrolling the power management and configuration of an ACPI system.Finally, ACPI defines an interface between an ACPI-compatible OS and theplatform runtime firmware.
To give hardware vendors flexibility in choosing their implementation,ACPI uses tables to describe system information, features, and methodsfor controlling those features. These tables list devices on the systemboard or devices that cannot be detected or power managed using someother hardware standard, plus their capabilities as described in ACPI Concepts They also listsystem capabilities such as the sleeping power states supported, adescription of the power planes and clock sources available in thesystem, batteries, system indicator lights, and so on. This enables OSPMto control system devices without needing to know how the systemcontrols are implemented.
All system description tables start with identical headers. The primarypurpose of the system description tables is to define for OSPM variousindustry-standard implementation details. Such definitions enablevarious portions of these implementations to be flexible in hardwarerequirements and design, yet still provide OSPM with the knowledge itneeds to control hardware directly.
The Extended System Description Table (XSDT) points to other tables inmemory. Always the first table, it points to the Fixed ACPI Description Table (FADT).The data within this table includes various fixed-lengthentries that describe the fixed ACPI features of the hardware. The FADTtable always refers to the Differentiated System Description Table (DSDT),which contains information and descriptions for various systemfeatures. The relationship between these tables is shown in Description Table Structures .
When OSPM follows a physical pointer to another table, it examines eachtable for a known signature. Based on the signature, OSPM can theninterpret the implementation-specific data within the description table.
 3a8082e126