Git Provider Webhook Payload Normalizer to One Event Schema
Pricing
from $5.00 / 1,000 actor starts
Git Provider Webhook Payload Normalizer to One Event Schema
Convert GitHub, GitLab, and Bitbucket webhook payloads into one stable event schema.
Git Provider Webhook Payload Normalizer to One Event Schema
Pricing
from $5.00 / 1,000 actor starts
Convert GitHub, GitLab, and Bitbucket webhook payloads into one stable event schema.
You can access the Git Provider Webhook Payload Normalizer to One Event Schema programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
1import { ApifyClient } from 'apify-client';2
3// Initialize the ApifyClient with your Apify API token4// Replace the '<YOUR_API_TOKEN>' with your token5const client = new ApifyClient({6 token: '<YOUR_API_TOKEN>',7});8
9// Prepare Actor input10const input = {11 "payloads": [12 {13 "headers": {14 "X-GitHub-Event": "push"15 },16 "body": {17 "ref": "refs/heads/main",18 "repository": {19 "id": 1,20 "name": "demo",21 "full_name": "octo/demo",22 "html_url": "https://github.com/octo/demo"23 },24 "sender": {25 "id": 7,26 "login": "octo"27 },28 "commits": [29 {30 "id": "abc123",31 "message": "Fix bug",32 "url": "https://github.com/octo/demo/commit/abc123",33 "timestamp": "2026-01-01T00:00:00Z"34 }35 ],36 "head_commit": {37 "id": "abc123",38 "timestamp": "2026-01-01T00:00:00Z"39 }40 }41 },42 {43 "headers": {44 "X-Gitlab-Event": "Merge Request Hook"45 },46 "body": {47 "user": {48 "id": 5,49 "username": "glu"50 },51 "project": {52 "id": 2,53 "name": "demo",54 "path_with_namespace": "glu/demo",55 "web_url": "https://gitlab.com/glu/demo"56 },57 "object_attributes": {58 "id": 50,59 "iid": 4,60 "title": "Add feature",61 "url": "https://gitlab.com/glu/demo/-/merge_requests/4",62 "state": "opened",63 "action": "open",64 "updated_at": "2026-01-04 00:00:00 UTC"65 }66 }67 },68 {69 "headers": {70 "X-Event-Key": "pullrequest:fulfilled"71 },72 "body": {73 "actor": {74 "uuid": "{u-1}",75 "nickname": "bbu"76 },77 "repository": {78 "uuid": "{r-1}",79 "name": "demo",80 "full_name": "bbu/demo",81 "links": {82 "html": {83 "href": "https://bitbucket.org/bbu/demo"84 }85 }86 },87 "pullrequest": {88 "id": 8,89 "title": "Merge it",90 "state": "MERGED",91 "updated_on": "2026-01-06T00:00:00+00:00",92 "links": {93 "html": {94 "href": "https://bitbucket.org/bbu/demo/pull-requests/8"95 }96 }97 }98 }99 }100 ]101};102
103// Run the Actor and wait for it to finish104const run = await client.actor("kingii98/git-provider-webhook-payload-normalizer-to-one-event-schema").call(input);105
106// Fetch and print Actor results from the run's dataset (if any)107console.log('Results from dataset');108console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);109const { items } = await client.dataset(run.defaultDatasetId).listItems();110items.forEach((item) => {111 console.dir(item);112});113
114// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docsThe Apify API client for JavaScript is the official library that allows you to use Git Provider Webhook Payload Normalizer to One Event Schema API in JavaScript or TypeScript, providing convenience functions and automatic retries on errors.
Install the apify-client
$npm install apify-clientOther API clients include: