Pubblica commit tramite webhook all'interno di un argomento come risposta

Ciao a tutti,
Ho cercato ma non sono riuscito a trovare la direzione corretta.

Voglio pubblicare automaticamente una risposta all’interno di un argomento non appena spingo un commit su un repository GitHub, tramite un webhook.

Lavoro con Integromat e ho già realizzato con successo qualcosa di simile con gli argomenti.

Ho configurato un’API in Discourse, un webhook su GitHub e uno scenario HTTP POST in Integromat, ma mi manca il pezzo finale per far funzionare tutto.

Il mio attuale tentativo è questo, ma non funziona.

Penso che sia perché Discourse non sa cosa fare con la richiesta POST.
Intendo che ci sono /new-message? e /new-topic?, ma non /new-reply?

Forse è qualcosa di banale, grazie in anticipo per il vostro aiuto!

Puoi scoprire come costruire la tua richiesta effettuando il reverse engineering dell’API di Discourse. Fondamentalmente, apri lo strumento di ispezione di rete, pubblichi una risposta a un argomento e osservi cosa succede sotto il cofano:

Grazie mille @bartv
Lo sto facendo proprio ora :slight_smile:

L’unica domanda sarebbe: sono TUTTI i campi obbligatori per effettuare una chiamata POST di risposta? È una quantità piuttosto elevata e penso che alcuni campi non possano essere compilati da me dinamicamente o siano soggetti a errori! (ad esempio l’id:)

In Zapier, ad esempio, ho creato una volta un webhook POST di argomento di successo con solo quei campi dati

Dubito che siano tutti necessari. Prova pure :slight_smile:

Solo come informazione, non sta fallendo a causa dei campi dati, ma a causa di un CSRF errato.
Vedi qui:

@blake Questo significa che devo impostare api_username e api_key nell’Header?

Il mio progresso attuale, che fallisce:

Sì, dovrai impostare Api-Username e Api-Key nell’intestazione. Assicurati di sostituire _ con -. Dovrai anche rimuovere le credenziali dal corpo.

Fantastico, grazie mille @blake!
Era proprio quello.

Per chi, come me, ha cercato per ore su Google e con la funzione di ricerca, ecco la soluzione: