プラスカスタム Webhook

APIGit

2023-05-16

apigit-custom-webhooks

Apigit を使用してカスタム Webhook を構築する

Apigit では、開発者の生活を合理化することが不可欠であることを理解しています。この目的のために、一般的に使用される統合のリストが増えており、開発者はカスタム Webhook を使用してアクションをトリガーすることでワークフローをカスタマイズできます。このようにして、必要なデータにアクセスし、ワークフローを自動化することが簡単かつ効率的になります。

カスタム Webhook とは何ですか?

カスタム Webhook (Web コールバックとも呼ばれます) は、アプリケーションが他のアプリケーションに接続して、監視されている更新またはイベントに関する即時通知を取得するために使用されます。ただし、一定の間隔でデータを取得する通常の API 呼び出しとは異なり、Webhook を使用するとリアルタイムの更新を取得できます。

カスタム Webhook のプレフィックス

リポジトリの Webhook を作成するには、リポジトリの横にある設定アイコンをクリックします。 ️ apigit-custom-webhooks-add

Webhook がどのように機能するかを理解するには、次の手順に従います。

  1. Apigitを使用してモックサーバーを公開します。
  2. 記入してくださいWeb Hook URL フィールドにモックサーバーの URL を入力します。
  3. リポジトリに加えられた変更については、モック サーバー ログを監視します。

これは、問題を投稿しようとしたときのログです。

Content-Type: application/json
host: service-432c52uwedzskn22
User-Agent: GogsServer
X-Amzn-Trace-Id: Root=1-646429f9-600198f81eac6574410074fe
X-Apigit-Delivery: 3fdcd42d-5bcb-45c5-b01a-27a2e5e23b00
X-Apigit-Event: issues
X-Apigit-Signature:
X-Forwarded-For: 54.203.224.187
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Github-Delivery: 3fdcd42d-5bcb-45c5-b01a-27a2e5e23b00
X-Github-Event: issues
X-My-Request-Header: XXX

{
  "action": "opened",
  "number": 5,
  "issue": {
    "id": 126,
    "number": 5,
    "user": {
      "id": 1346,
      "username": "xxxx",
      "login": "xxxx",
      "full_name": "",
      "email": "xx@xx.com",
      "avatar_url": "https://secure.gravatar.com/avatar/xx?d=identicon",
      "is_invite_pending": false
    },
    "title": "5",
    "body": "5",
    "labels": [],
    "milestone": null,
    "assignee": null,
    "state": "open",
    "comments": 0,
    "created_at": "0001-01-01T00:00:00Z",
    "updated_at": "0001-01-01T00:00:00Z",
    "pull_request": null
  },
  "repository": {
    "id": 1210,
    "owner": {
      "id": 1346,
      "username": "tuass",
      "login": "tuass",
      "full_name": "",
      "email": "xx@xx.com",
      "avatar_url": "https://secure.gravatar.com/avatar/xx?d=identicon",
      "is_invite_pending": false
    },
    "name": "test",
    "full_name": "xx/test",
    "description": "",
    "private": true,
    "unlisted": false,
    "fork": false,
    "parent": null,
    "empty": false,
    "mirror": false,
    "size": 876544,
    "html_url": "https://app.apigit.com/repository/xxxx/test",
    "ssh_url": "git@app.apigit.com:xxxx/test.git",
    "clone_url": "https://app.apigit.com/xxxx/test.git",
    "remote_addr": "",
    "website": "",
    "stars_count": 0,
    "forks_count": 0,
    "watchers_count": 1,
    "open_issues_count": 0,
    "default_branch": "master",
    "created_unix": "2023-04-29T03:36:18Z",
    "updated_unix": "2023-05-16T22:23:21Z",
    "status": 0
  },
  "sender": {
    "id": 1346,
    "username": "xxxx",
    "login": "xxxx",
    "full_name": "",
    "email": "xx@xx.com",
    "avatar_url": "https://secure.gravatar.com/avatar/xx?d=identicon",
    "is_invite_pending": false
  }
}