più webhook personalizzati

APIGit

2023-05-16

apigit-custom-webhooks

Crea webhook personalizzati utilizzando Apigit

In Apigit, comprendiamo che semplificare la vita degli sviluppatori è essenziale. A tal fine, disponiamo di un elenco crescente di integrazioni comunemente utilizzate e i nostri webhook personalizzati consentono agli sviluppatori di personalizzare il proprio flusso di lavoro attivando azioni. In questo modo, rendiamo semplice ed efficiente l'accesso ai dati necessari e l'automazione dei loro flussi di lavoro.

Che cos'è un webhook personalizzato?

I webhook personalizzati (noti anche come web callback) vengono utilizzati dalle applicazioni per connettersi con altre applicazioni e ricevere notifiche istantanee su un aggiornamento o un evento che viene monitorato. Tuttavia, a differenza delle normali chiamate API che estraggono i dati a intervalli regolari, i webhook ti consentono di ottenere aggiornamenti in tempo reale.

Prefisso webhook personalizzati

Per creare un webhook per il tuo repository, fai clic sull'icona delle impostazioni accanto al tuo repository. ️ apigit-custom-webhooks-add

Per capire come funzionano i webhook, procedi nel seguente modo:

  1. Pubblica un server fittizio utilizzando Apigit.
  2. Riempire ilWeb Hook URL campo con l'URL del server fittizio.
  3. Monitora il registro del server fittizio per eventuali modifiche apportate al tuo repository.

Ecco il registro quando provo a pubblicare un problema.

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