Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 1.7 KB

builds-using-gitlab-webhooks.adoc

File metadata and controls

55 lines (42 loc) · 1.7 KB

Using GitLab webhooks

GitLab webhooks handle the call made by GitLab when a repository is updated. As with the GitHub triggers, you must specify a secret. The following example is a trigger definition YAML within the BuildConfig:

type: "GitLab"
gitlab:
  secretReference:
    name: "mysecret"

The payload URL is returned as the GitLab Webhook URL by the oc describe command (see Displaying Webhook URLs), and is structured as follows:

http://<openshift_api_host:port>/oapi/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/gitlab
Procedure
  1. To configure a GitLab Webhook:

    1. Describe the BuildConfig to get the webhook URL:

      $ oc describe bc <name>
    2. Copy the webhook URL, replacing <secret> with your secret value.

    3. Follow the GitLab setup instructions to paste the webhook URL into your GitLab repository settings.

  2. Given a file containing a valid JSON payload, such as payload.json, you can manually trigger the webhook with curl:

    $ curl -H "X-GitLab-Event: Push Hook" -H "Content-Type: application/json" -k -X POST --data-binary @payload.json https://<openshift_api_host:port>/oapi/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/gitlab

    The -k argument is only necessary if your API server does not have a properly signed certificate.

Additional resources