Pipeline Operation: Webhook

Configure pipeline steps to call external systems or APIs via Webhooks, enabling automated integrations, notifications, and custom workflows as part of your DevOps process.

The Webhook pipeline operation allows Revvy to call external systems or APIs as part of an automated DevOps process. This is useful for triggering downstream workflows, notifying external services, or integrating with custom automation tools.

Configuration Options

When adding a Webhook operation in a pipeline step, you’ll configure the following fields:

  • Name – Label for the step in the pipeline.

  • Operation – Select Webhook.

  • URL – The endpoint URL that Revvy should call.

  • Authentication – Options:

    • Basic – Provide username and password.

    • OAuth – Use an access token for authentication.

  • Method – Supported HTTP methods: GET or POST.

  • Additional headers – Optional custom headers (e.g., Content-Type: application/json).

  • Username / Password – Required if Basic Authentication is selected.

  • Token Source / Access Token – Required if OAuth is selected.

  • Payload – (POST only) JSON or form body to send with the request.

  • Next step (On pass / On fail) – Define how the pipeline continues based on response.

Running a Pipeline

  1. Navigate to Pipelines from the left navigation.

  2. Select the pipeline that contains your Webhook step.

  3. Click Run pipeline.

  4. Choose the branch and confirm execution.

  5. The pipeline will execute step-by-step — if the Webhook step is reached, a Webhook job is created under Activities.

Viewing Results

  • Go to the Activities tab of your branch.

  • Under Jobs, find the Webhook job. Status shows:

    • Completed – Webhook responded with 200 OK.

    • Exception – Error occurred (check logs).

  • Click See Logs (or open the pipeline run) to review request/response details, timestamps, and execution duration.

  • For pipelines, expand the Pipeline flow view to see each step (Manual Step, Webhook, Deploy, etc.) with individual statuses.

Job Execution and Status

  • A job is created when the pipeline reaches the Webhook step.

  • The job status will show Completed if the Webhook responds with 200 OK.

  • If the Webhook fails (timeouts, 4xx/5xx errors), the job will be marked as Exception or follow the configured On fail route.

Examples

Example 1: GET with Basic Authentication

Use Basic Auth for a simple API GET call.

  • URL: https://httpbin.org/get

  • Method: GET

  • Authentication: Basic

  • Username: testuser

  • Password: testpassword

  • Headers: leave blank

  • Next step (On pass): Continue pipeline

  • Next step (On fail): Stop

Result: httpbin returns 200 OK and echoes the Basic Auth credentials.

Example 2: POST with Basic Authentication

Send data securely with credentials and a payload.

  • URL: https://httpbin.org/post

  • Method: POST

  • Authentication: Basic

  • Username: testuser

  • Password: testpassword

  • Headers: Content-Type: application/json

  • Payload:

{
  "branch": "Feature-123",
  "status": "Deployment started"
}
  • Next step (On pass): Continue pipeline

  • Next step (On fail): Stop

Result: httpbin echoes the JSON payload and returns 200 OK.

Example 3: GET with OAuth Access Token

Use a bearer token for secure GET requests.

  • URL: https://httpbin.org/get

  • Method: GET

  • Authentication: OAuth

  • Token Source: Access Token

  • Access Token: your-test-token

  • Headers: leave blank

  • Next step (On pass): Continue pipeline

  • Next step (On fail): Stop

Result: Authorization header is passed, httpbin responds 200 OK with token details.

Example 4: POST with OAuth Access Token

Send JSON payloads with OAuth tokens.

  • URL: https://httpbin.org/post

  • Method: POST

  • Authentication: OAuth

  • Token Source: Access Token

  • Access Token: your-test-token

  • Headers: Content-Type: application/json

  • Payload:

{
  "pipeline": "ValidatePipeline",
  "result": "Success"
}
  • Next step (On pass): Continue pipeline

  • Next step (On fail): Stop

Result: httpbin confirms token + payload were received and returns 200 OK.

Best Practice

  • Use POST + Basic for internal services with simple credentials.

  • Use OAuth (GET or POST) for modern APIs requiring bearer tokens.

  • Always test pipelines first with httpbin.org or webhook.site to confirm configuration before connecting to production APIs.

  • Configure On fail routing to handle API errors gracefully (e.g., stop pipeline, send rollback, or notify team).

Last updated

Was this helpful?