Creare una funzione attivata da un webhook GitHub

Informazioni su come creare una funzione attivata da una richiesta di webhook HTTP con un payload specifico di GitHub.

Funzione attivata da un webhook GitHub nel portale di Azure

Prerequisiti

  • Un account GitHub con almeno un progetto.
  • Una sottoscrizione di Azure. Se non se ne ha una, creare un account gratuito prima di iniziare.

Aggiungere App per le funzioni ai Preferiti del portale

Se non è già stato fatto, aggiungere App per le funzioni ai Preferiti del portale di Azure, in modo da trovare più facilmente le app per le funzioni. Se è stato già fatto, passare alla sezione successiva.

  1. Accedere al Portale di Azure.

  2. Fare clic sulla freccia in basso a sinistra per espandere tutti i servizi, digitare Functions nel campo Filtro e quindi fare clic sulla stella accanto a App per le funzioni.

    Creare un'app per le funzioni nel portale di Azure

    L'icona Funzioni viene aggiunta al menu disponibile nella parte sinistra del portale.

  3. Chiudere il menu e scorrere verso il basso fino a trovare l'icona Funzioni. Fare clic sull'icona per visualizzare l'elenco di tutte le app per le funzioni. Fare clic sull'app per le funzioni per eseguire operazioni sulle funzioni all'interno dell'app.

Creare un'app per le funzioni di Azure

  1. Fare clic sul pulsante Nuovo nell'angolo superiore sinistro del portale di Azure.

  2. Fare clic su Calcolo > App per le funzioni e selezionare Sottoscrizione. Usare quindi le impostazioni dell'app per le funzioni come indicato nella tabella.

    Creare un'app per le funzioni nel portale di Azure

    Impostazione Valore consigliato Descrizione
    Nome app Nome globalmente univoco Nome che identifica la nuova app per le funzioni.
    Gruppo di risorse myResourceGroup Nome del nuovo gruppo di risorse in cui creare l'app per le funzioni.
    Piano di hosting Piano a consumo Piano di hosting che definisce come vengono allocate le risorse all'app per le funzioni. Nel piano a consumo predefinito le risorse vengono aggiunte dinamicamente in base alle esigenze delle funzioni. Si paga solo per il periodo in cui le funzioni sono in esecuzione.
    Posizione Europa occidentale Scegliere una località nelle vicinanze o vicino ad altri servizi a cui accederanno le funzioni.
    Account di archiviazione Nome globalmente univoco Nome del nuovo account di archiviazione usato dall'app per le funzioni. È possibile anche usare un account esistente.
  3. Fare clic su Crea per effettuare il provisioning della nuova app per le funzioni e distribuirla.

App per le funzioni creata correttamente.

Si creerà ora una funzione nella nuova app per le funzioni.

Creare una funzione attivata da webhook GitHub

  1. Espandere l'app per le funzioni e fare clic sul pulsante + accanto a Funzioni. Se questa è la prima funzione nell'app per le funzioni, selezionare Funzione personalizzata. Verrà visualizzato il set completo di modelli di funzione.

    Pagina della guida introduttiva di Funzioni nel portale di Azure

  2. Selezionare il modello GitHubWebHook per la lingua desiderata. Assegnare un nome alla funzione e quindi selezionare Crea.

    Creare una funzione attivata da webhook GitHub nel portale di Azure

  3. Nella nuova funzione fare clic su </> Get function URL (Ottieni URL funzione) e quindi copiare e salvare i valori. Eseguire la stessa operazione per </> Recupera segreto GitHub. Questi valori servono per configurare il webhook in GitHub.

    Esaminare il codice funzione

Viene successivamente creato un webhook nel repository GitHub.

Configurare il webhook

  1. In GitHub passare a un repository di cui si è proprietari. È possibile usare anche qualsiasi repository biforcato. Se è necessario creare una copia tramite fork di un repository, usare https://github.com/Azure-Samples/functions-quickstart.

  2. Fare clic su Impostazioni, quindi su Webhook e infine su Aggiungi webhook.

    Aggiungere un webhook di GitHub

  3. Usare le impostazioni come indicato nella tabella e quindi fare clic su Add webhook (Aggiungi webhook).

    Impostare l'URL del webhook e il segreto

Impostazione Valore consigliato Descrizione
Payload URL (URL payload) Valore copiato Usare il valore restituito da </> Get function URL (Ottieni URL funzione).
Segreto Valore copiato Usare il valore restituito da </> Get GitHub secret (Ottieni segreto GitHub).
Tipo contenuto application/json La funzione prevede un payload JSON.
Trigger di evento Selezione di singoli eventi Attivazione solo in caso di eventi di commento al problema.
Commento al problema

Il webhook ora è configurato per attivare la funzione quando un nuovo commento al problema viene aggiunto.

Testare la funzione

  1. Nel repository GitHub aprire la scheda Issues (Problemi) in una nuova finestra del browser.

  2. Nella nuova finestra fare clic su Nuovo problema, digitare un titolo e quindi fare clic su Submit new issue (Invia nuovo problema).

  3. Nel problema, digitare un commento e fare clic su Comment (Commento).

    Aggiungere un commento al problema GitHub.

  4. Tornare al portale e visualizzare i log. Verrà visualizzata una voce di traccia con il nuovo testo del commento.

    Visualizzare il testo del commento nei log.

Pulire le risorse

Altre guide introduttive di questa raccolta si basano sui valori di questa guida introduttiva. Se si prevede di continuare a usare le guide introduttive successive o le esercitazioni, non eliminare le risorse create in questa guida introduttiva.

Se non si prevede di continuare, fare clic su Gruppo di risorse per l'app per le funzioni nel portale e quindi fare clic su Elimina.

Selezionare il gruppo di risorse da eliminare dall'app per le funzioni.

Passaggi successivi

È stata creata una funzione che viene eseguita quando viene ricevuta una richiesta da un webhook GitHub.

Informazioni su come creare funzioni con altri tipi di trigger o come integrare funzioni con altri servizi di Azure.

Per altre informazioni sui trigger webhook, vedere Associazioni HTTP e webhook in Funzioni di Azure.