Syncing failures from Git to Endevor using Bridge for Git
search cancel

Syncing failures from Git to Endevor using Bridge for Git

book

Article ID: 434981

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

Unable to sync from Git to Endevor using Bridge for Git, webhook payload delivery failed. 

Environment

All supported Endevor releases

All supported Endevor Bridge for Git releases

Cause

Webhook payload delivery failures in Endevor Bridge for Git often occur when the Git provider cannot communicate with the Bridge for Git application.

Resolution

Common Causes and Resolutions

  • Certificate Verification Failure: If you are using a self-signed or private CA certificate for the Bridge for Git application, GitHub/GitLab Enterprise may reject the payload.
    • Workaround: Temporarily disable SSL verification in the Git provider's webhook settings.
    • Solution: Import the Bridge for Git certificate into the Git provider's trust store or use a certificate from a public CA.
  • Incorrect Permission Scopes (Bitbucket): Bridge for Git requires Repo Admin permissions to automatically create and manage webhook subscriptions.
    • Resolution: Ensure "Admin" is selected in Bitbucket repository permissions for the Bridge for Git user. If the scope in the request doesn't match the client scope, the webhook initialization will fail.
  • Network Connectivity: Firewalls or security groups may block the Git provider from reaching the Bridge for Git server on its listening port.
    • Verification: Confirm the Bridge for Git server is reachable from the Git provider's network and that the webhook URL in the Git provider (e.g., http://<host>:<port>/rest/evcs/v1/hooks/posthook<gitprovider>) is correct.

Additional Information

 

Our investigation indicates that the app.git-bridge.url property (labeled as Bridge for Git URL) in the application.yml file is misconfigured - missing a port number. Note that only default ports, such as 443 for HTTPS and 80 for HTTP, can be omitted from the URL.

Since the webhook URL is automatically generated based on this property during Git repository initialization, the misconfigured webhook URL is likely causing the recent git push failures. 

Note that because the application currently uses HTTP, certificate verification is not the cause of this issue.

Solution: 

  • Manually update the webhook URL in the Git repository configuration by adding the missing port number.
  • Verify the fix using a REST API client tool like Bruno or Postman by issuing a POST request with the same payload URL, headers, and body. A "200 OK" response will confirm that the webhook is configured correctly.
    • If the webhook URL fails to deliver despite the REST API client confirming the configuration is correct, check the firewall rules - The Git provider must be able to reach the B4G server's listening port for successful delivery.
  • Update the app.git-bridge.url setting (add the missing port number) in the application.yml file. This update is necessary to ensure that future mappings generate the correct webhook URL.