Creare una funzione attivata da un webhook GitHubCreate a function triggered by a GitHub webhook

Informazioni su come creare una funzione attivata da una richiesta di webhook HTTP con un payload specifico di GitHub.Learn how to create a function that is triggered by an HTTP webhook request with a GitHub-specific payload.

Funzione attivata da un webhook GitHub nel portale di Azure

prerequisitiPrerequisites

  • Un account GitHub con almeno un progetto.A GitHub account with at least one project.
  • Una sottoscrizione di Azure.An Azure subscription. Se non se ne ha una, creare un account gratuito prima di iniziare.If you don't have one, create a free account before you begin.

Creare un'app per le funzioni di AzureCreate an Azure Function app

  1. Selezionare il pulsante Nuovo nell'angolo superiore sinistro del portale di Azure e quindi selezionare Calcolo > App per le funzioni.Select the New button found on the upper left-hand corner of the Azure portal, then select Compute > Function App.

    Creare un'app per le funzioni nel portale di Azure

  2. Usare le impostazioni dell'app per le funzioni come indicato nella tabella sottostante l'immagine.Use the function app settings as specified in the table below the image.

    Definire nuove impostazioni dell'app per le funzioni

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Nome appApp name Nome globalmente univocoGlobally unique name Nome che identifica la nuova app per le funzioni.Name that identifies your new function app. I caratteri validi sono a-z, 0-9 e -.Valid characters are a-z, 0-9, and -.
    SottoscrizioneSubscription Sottoscrizione in usoYour subscription Sottoscrizione in cui viene creata questa nuova app per le funzioni.The subscription under which this new function app is created.
    Gruppo di risorseResource Group myResourceGroupmyResourceGroup Nome del nuovo gruppo di risorse in cui creare l'app per le funzioni.Name for the new resource group in which to create your function app.
    Sistema operativoOS WindowsWindows L'hosting senza server attualmente è disponibile solo in un ambiente di esecuzione su Windows.Serverless hosting is currently only available when running on Windows. Per l'hosting su Linux, vedere Creare la prima funzione eseguita in Linux usando l'interfaccia della riga di comando di Azure.For Linux hosting, see Create your first function running on Linux using the Azure CLI.
    Piano di hostingHosting plan Piano a consumoConsumption plan Piano di hosting che definisce come vengono allocate le risorse all'app per le funzioni.Hosting plan that defines how resources are allocated to your function app. Nel piano a consumo predefinito le risorse vengono aggiunte dinamicamente in base alle esigenze delle funzioni.In the default Consumption Plan, resources are added dynamically as required by your functions. In questo hosting senza server si paga solo per il periodo in cui le funzioni sono in esecuzione.In this serverless hosting, you only pay for the time your functions run.
    PosizioneLocation Europa occidentaleWest Europe Scegliere un'area nelle vicinanze o vicino ad altri servizi a cui accedono le funzioni.Choose a region near you or near other services your functions access.
    Account di archiviazioneStorage account Nome globalmente univocoGlobally unique name Nome del nuovo account di archiviazione usato dall'app per le funzioni.Name of the new storage account used by your function app. I nomi degli account di archiviazione devono avere una lunghezza compresa tra 3 e 24 caratteri e possono contenere solo numeri e lettere minuscole.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. È possibile anche usare un account esistente.You can also use an existing account.
  3. Selezionare Crea per effettuare il provisioning dell'app per le funzioni e distribuirla.Select Create to provision and deploy the function app.

  4. Selezionare l'icona di notifica nell'angolo superiore destro del portale e attendere la visualizzazione del messaggio La distribuzione è riuscita.Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    Definire nuove impostazioni dell'app per le funzioni

  5. Selezionare Vai alla risorsa per visualizzare la nuova app per le funzioni.Select Go to resource to view your new function app.

Suggerimento

In caso di problemi nell'individuare le app per le funzioni nel portale, provare ad aggiungere le app per le funzioni ai preferiti nel portale di Azure.Having trouble finding your function apps in the portal, try adding Function Apps to your favorites in the Azure portal.

App per le funzioni creata correttamente.

Si creerà ora una funzione nella nuova app per le funzioni.Next, you create a function in the new function app.

Creare una funzione attivata da webhook GitHubCreate a GitHub webhook triggered function

  1. Espandere l'app per le funzioni e fare clic sul pulsante + accanto a Funzioni.Expand your function app and click the + button next to Functions. Se questa è la prima funzione nell'app per le funzioni, selezionare Funzione personalizzata.If this is the first function in your function app, select Custom function. Verrà visualizzato il set completo di modelli di funzione.This displays the complete set of function templates.

    Pagina della guida introduttiva di Funzioni nel portale di Azure

  2. Nel campo di ricerca digitare github e quindi scegliere la lingua da usare per il modello di attivazione del webhook GitHub.In the search field, type github and then choose your desired language for the GitHub webhook trigger template.

    Scegliere il modello di attivazione del webhook GitHub

  3. Digitare un Nome per la funzione e quindi selezionare Crea.Type a Name for your function, then select Create.

    Configurare la funzione attivata da webhook GitHub nel portale di Azure

  4. Nella nuova funzione fare clic su </> Get function URL (Ottieni URL funzione) e quindi copiare e salvare i valori.In your new function, click </> Get function URL, then copy and save the values. Eseguire la stessa operazione per </> Recupera segreto GitHub.Do the same thing for </> Get GitHub secret. Questi valori servono per configurare il webhook in GitHub.You use these values to configure the webhook in GitHub.

    Esaminare il codice funzione

Viene successivamente creato un webhook nel repository GitHub.Next, you create a webhook in your GitHub repository.

Configurare il webhookConfigure the webhook

  1. In GitHub passare a un repository di cui si è proprietari.In GitHub, navigate to a repository that you own. È possibile usare anche qualsiasi repository biforcato.You can also use any repository that you have forked. Se è necessario creare una copia tramite fork di un repository, usare https://github.com/Azure-Samples/functions-quickstart.If you need to fork a repository, use https://github.com/Azure-Samples/functions-quickstart.

  2. Scegliere Impostazioni > Opzioni e assicurarsi che Problemi sia abilitato in Funzionalità.Choose Settings > Options and make sure that Issues is enabled under Features.

    Abilitare Problemi

  3. In Impostazioni scegliere Webhook > Aggiungi webhook.In Settings, choose Webhooks > Add webhook.

    Aggiungere un webhook di GitHub

  4. Usare le impostazioni come indicato nella tabella seguente e quindi fare clic su Aggiungi webhook:Use settings as specified in the following table, then click Add webhook:

    Impostare l'URL del webhook e il segreto

ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
Payload URL (URL payload)Payload URL Valore copiatoCopied value Usare il valore restituito da </> Get function URL (Ottieni URL funzione).Use the value returned by </> Get function URL.
Tipo contenutoContent type application/jsonapplication/json La funzione prevede un payload JSON.The function expects a JSON payload.
SegretoSecret Valore copiatoCopied value Usare il valore restituito da </> Get GitHub secret (Ottieni segreto GitHub).Use the value returned by </> Get GitHub secret.
Trigger di eventoEvent triggers Selezione di singoli eventiLet me select individual events Attivazione solo in caso di eventi di commento al problema.We only want to trigger on issue comment events.
Commento al problemaIssue comment

Il webhook ora è configurato per attivare la funzione quando un nuovo commento al problema viene aggiunto.Now, the webhook is configured to trigger your function when a new issue comment is added.

Testare la funzioneTest the function

  1. Nel repository GitHub aprire la scheda Issues (Problemi) in una nuova finestra del browser.In your GitHub repository, open the Issues tab in a new browser window.

  2. Nella nuova finestra fare clic su Nuovo problema, digitare un titolo e quindi fare clic su Submit new issue (Invia nuovo problema).In the new window, click New Issue, type a title, and then click Submit new issue.

  3. Nel problema, digitare un commento e fare clic su Comment (Commento).In the issue, type a comment and click Comment.

    Aggiungere un commento al problema GitHub.

  4. Tornare al portale e visualizzare i log.Go back to the portal and view the logs. Verrà visualizzata una voce di traccia con il nuovo testo del commento.You should see a trace entry with the new comment text.

    Visualizzare il testo del commento nei log.

Pulire le risorseClean up resources

Altre guide introduttive di questa raccolta si basano sui valori di questa guida introduttiva.Other quick starts in this collection build upon this quick start. Se si prevede di continuare a usare le guide introduttive successive o i servizi creati con questa guida introduttiva, non eseguire la pulizia delle risorse.If you plan to work with subsequent quick starts, tutorials, or with any of the services you have created in this quick start, do not clean up the resources.

Il termine risorse in Azure si riferisce ad app per le funzioni, funzioni, account di archiviazione e così via.Resources in Azure refers to function apps, functions, storage accounts, and so forth. Le risorse sono raggruppate in gruppi di risorse, ed è possibile eliminare tutti gli elementi in un gruppo eliminando il gruppo.They are grouped into resource groups, and you can delete everything in a group by deleting the group.

Per completare queste guide introduttive sono state create risorse.You created resources to complete these quickstarts. Per tali risorse potrebbero venire addebitati costi, a seconda dello stato dell'account e dei prezzi dei servizi.You may be billed for these resources, depending on your account status and service pricing. Se le risorse non sono più necessarie, ecco come eliminarle:If you don't need the resources anymore, here's how to delete them:

  1. Nel portale di Azure passare alla pagina Gruppo di risorse.In the Azure portal, go to the Resource group page.

    Per visualizzare tale pagina dalla pagina dell'app per le funzioni, selezionare la scheda Panoramica e quindi selezionare il collegamento sotto Gruppo di risorse.To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

    Selezionare il gruppo di risorse da eliminare dalla pagina dell'app per le funzioni.

    Per visualizzare tale pagina dal dashboard, selezionare Gruppi di risorse e quindi selezionare il gruppo di risorse usato nella guida introduttiva.To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  3. Selezionare Elimina gruppo di risorse e seguire le istruzioni.Select Delete resource group, and follow the instructions.

    L'eliminazione potrebbe richiedere alcuni minuti.Deletion may take a couple of minutes. Al termine, viene visualizzata una notifica per pochi secondi.When it's done, a notification appears for a few seconds. È anche possibile selezionare l'icona a forma di campana nella parte superiore della pagina per visualizzare la notifica.You can also select the bell icon at the top of the page to view the notification.

Passaggi successiviNext steps

È stata creata una funzione che viene attivata quando viene ricevuta una richiesta da un webhook GitHub.You have created a function that is triggered when a request is received from a GitHub webhook.

Informazioni su come creare funzioni con altri tipi di trigger o come integrare funzioni con altri servizi di Azure.Learn how to create functions with other kinds of triggers or how to integrate functions with other Azure services.

Per altre informazioni sui trigger webhook, vedere Associazioni HTTP e webhook in Funzioni di Azure.For more information about webhook triggers, see Azure Functions HTTP and webhook bindings.