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.

Funzioni preferite nel portaleFavorite Functions in the portal

Se non è già stato fatto, aggiungere App per le funzioni ai Preferiti del portale di Azure,If you haven't already done so, add Function Apps to your favorites in the Azure portal. in modo da trovare più facilmente le app per le funzioni.This makes it easier to find your function apps. Se è stato già fatto, passare alla sezione successiva.If you have already done this, skip to the next section.

  1. Accedere al Portale di Azure.Log in to the Azure portal.

  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.Click the arrow at the bottom left to expand all services, type Functions in the Filter field, and then click the star next to Function Apps.

    Creare un'app per le funzioni nel portale di Azure

    L'icona Funzioni viene aggiunta al menu disponibile nella parte sinistra del portale.This adds the Functions icon to the menu on the left of the portal.

  3. Chiudere il menu e scorrere verso il basso fino a trovare l'icona Funzioni.Close the menu, then scroll down to the bottom to see the Functions icon. Fare clic sull'icona per visualizzare l'elenco di tutte le app per le funzioni.Click this icon to see a list of all your function apps. Fare clic sull'app per le funzioni per eseguire operazioni sulle funzioni all'interno dell'app.Click your function app to work with functions in this app.

    App per le funzioni nei Preferiti

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

  1. Fare clic sul pulsante Nuovo nell'angolo superiore sinistro del portale di Azure e quindi selezionare Calcolo > App per le funzioni.Click 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 La sottoscrizione in cui verrà creata questa nuova app per le funzioni.The subscription under which this new function app will be 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 una località nelle vicinanze o vicino ad altri servizi a cui accederanno le funzioni.Choose a location near you or near other services your functions will 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. Fare clic su Crea per effettuare il provisioning della nuova app per le funzioni e distribuirla.Click Create to provision and deploy the new function app.

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. Selezionare il modello GitHubWebHook per il linguaggio desiderato.Select the GitHub WebHook template for your desired language. Assegnare un nome alla funzione e quindi selezionare Crea.Name your function, then select Create.

    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.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. Fare clic su Impostazioni, quindi su Webhook e infine su Aggiungi webhook.Click Settings, then click Webhooks, and Add webhook.

    Aggiungere un webhook di GitHub

  3. Usare le impostazioni come indicato nella tabella e quindi fare clic su Add webhook (Aggiungi webhook).Use settings as specified in the 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.
SegretoSecret Valore copiatoCopied value Usare il valore restituito da </> Get GitHub secret (Ottieni segreto GitHub).Use the value returned by </> Get GitHub secret.
Tipo contenutoContent type application/jsonapplication/json La funzione prevede un payload JSON.The function expects a JSON payload.
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 le esercitazioni, non eliminare le risorse create in questa guida introduttiva.If you plan to continue on to work with subsequent quick starts or with the tutorials, do not clean up the resources created in this quick start.

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.If you do not plan to continue, click the Resource group for the function app in the portal, and then click Delete.

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

Passaggi successiviNext steps

È stata creata una funzione che viene eseguita quando viene ricevuta una richiesta da un webhook GitHub.You have created a function that runs 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.