맞춤 웹후크 추가

APIGit

2023-05-16

apigit-custom-webhooks

Apigit을 사용하여 사용자 지정 Webhook 빌드

Apigit에서는 개발자의 삶을 간소화하는 것이 필수적이라는 것을 알고 있습니다. 이를 위해 일반적으로 사용되는 통합 목록이 늘어나고 있으며 사용자 지정 웹후크를 통해 개발자는 작업을 트리거하여 워크플로를 사용자 지정할 수 있습니다. 이렇게 하면 필요한 데이터에 액세스하고 작업 흐름을 간단하고 효율적으로 자동화할 수 있습니다.

사용자 정의 웹후크란 무엇입니까?

사용자 정의 웹후크(웹 콜백이라고도 함)는 애플리케이션에서 다른 애플리케이션과 연결하여 업데이트 또는 모니터링 중인 이벤트에 대한 즉각적인 알림을 받는 데 사용됩니다. 그러나 정기적으로 데이터를 가져오는 일반 API 호출과 달리 웹후크를 사용하면 실시간 업데이트를 받을 수 있습니다.

커스텀 웹후크 접두사

리포지토리에 대한 웹후크를 생성하려면 리포지토리 옆에 있는 설정 아이콘을 클릭합니다. ️ apigit-custom-webhooks-add

웹후크 작동 방식을 이해하려면 다음 단계를 따르세요.

  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
  }
}