Erstellen einer Funktion, die durch einen GitHub-Webhook ausgelöst wirdCreate a function triggered by a GitHub webhook

Erfahren Sie, wie Sie eine Funktion erstellen können, die von einer HTTP-Webhookanforderung mit einer GitHub-spezifischen Nutzlast ausgelöst wird.Learn how to create a function that is triggered by an HTTP webhook request with a GitHub-specific payload.

Eine Funktion im Azure-Portal, die durch einen GitHub-Webhook ausgelöst wird

VoraussetzungenPrerequisites

  • Ein GitHub-Konto mit mindestens einem Projekt.A GitHub account with at least one project.
  • Ein Azure-Abonnement.An Azure subscription. Wenn Sie keins besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have one, create a free account before you begin.

Erstellen einer Azure Function-AppCreate an Azure Function app

  1. Wählen Sie in der linken oberen Ecke des Azure-Portals die Schaltfläche Neu und dann Compute > Funktionen-App.Select the New button found on the upper left-hand corner of the Azure portal, then select Compute > Function App.

    Erstellen einer Funktions-App im Azure-Portal

  2. Verwenden Sie die in der Tabelle unter der Abbildung angegebenen Einstellungen für die Funktions-App.Use the function app settings as specified in the table below the image.

    Definieren neuer Funktions-App-Einstellungen

    EinstellungSetting Empfohlener WertSuggested value BESCHREIBUNGDescription
    App-NameApp name Global eindeutiger NameGlobally unique name Der Name, der Ihre neue Funktionen-App bezeichnetName that identifies your new function app. Gültige Zeichen sind a-z, 0-9 und -.Valid characters are a-z, 0-9, and -.
    AbonnementSubscription Ihr AbonnementYour subscription Das Abonnement, unter dem diese neue Funktions-App erstellt wird.The subscription under which this new function app is created.
    RessourcengruppeResource Group myResourceGroupmyResourceGroup Der Name der neuen Ressourcengruppe, in der die Funktionen-App erstellt wirdName for the new resource group in which to create your function app.
    BetriebssystemOS WindowsWindows Das serverlose Hosting ist derzeit nur bei der Ausführung unter Windows verfügbar.Serverless hosting is currently only available when running on Windows. Weitere Informationen zum Hosting unter Linux finden Sie unter Erstellen Ihrer ersten Funktion unter Linux in der Azure-Befehlszeilenschnittstelle.For Linux hosting, see Create your first function running on Linux using the Azure CLI.
    HostingplanHosting plan VerbrauchsplanConsumption plan Der Hostingplan, der definiert, wie Ihre Ressourcen der Funktionen-App zugewiesen werdenHosting plan that defines how resources are allocated to your function app. Im Standard-Verbrauchstarif werden Ressourcen je nach Bedarf der Funktionen dynamisch hinzugefügt.In the default Consumption Plan, resources are added dynamically as required by your functions. Beim serverlosen Hosting bezahlen Sie nur die Zeit, in der Ihre Funktionen ausgeführt werden.In this serverless hosting, you only pay for the time your functions run.
    LocationLocation Europa, WestenWest Europe Wählen Sie eine Region in Ihrer Nähe oder in der Nähe von anderen Diensten aus, auf die Ihre Funktionen zugreifen.Choose a region near you or near other services your functions access.
    SpeicherkontoStorage account Global eindeutiger NameGlobally unique name Der Name des neuen Speicherkontos, das von Ihrer Funktionen-App verwendet wird.Name of the new storage account used by your function app. Speicherkontonamen müssen zwischen 3 und 24 Zeichen lang sein und dürfen nur Zahlen und Kleinbuchstaben enthalten.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. Sie können außerdem ein vorhandenes Konto verwenden.You can also use an existing account.
  3. Klicken Sie auf Erstellen, um die Funktionen-App bereitzustellen.Select Create to provision and deploy the function app.

  4. Wählen Sie oben rechts im Portal das Benachrichtigungssymbol aus, und achten Sie auf die Meldung Bereitstellung erfolgreich.Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    Definieren neuer Funktions-App-Einstellungen

  5. Wählen Sie Zu Ressource wechseln, um Ihre neue Funktionen-App anzuzeigen.Select Go to resource to view your new function app.

Tipp

Sollten Sie Ihre Funktions-Apps im Portal nicht finden, können Sie Funktionen-Apps Ihren Favoriten im Azure-Portal hinzufügen.Having trouble finding your function apps in the portal, try adding Function Apps to your favorites in the Azure portal.

Die Funktionen-App wurde erfolgreich erstellt.

Erstellen Sie als Nächstes in der neuen Funktionen-App eine Funktion.Next, you create a function in the new function app.

Erstellen einer Funktion, die durch einen GitHub-Webhook ausgelöst wirdCreate a GitHub webhook triggered function

  1. Erweitern Sie die Funktionen-App, und klicken Sie auf die Schaltfläche + neben Functions.Expand your function app and click the + button next to Functions. Wenn dies die erste Funktion in Ihrer Funktionen-App ist, wählen Sie Benutzerdefinierte Funktion.If this is the first function in your function app, select Custom function. Hiermit wird der vollständige Satz von Funktionsvorlagen angezeigt.This displays the complete set of function templates.

    Schnellstartseite für Funktionen im Azure-Portal

  2. Geben Sie im Suchfeld github ein, und wählen Sie dann Ihre gewünschte Sprache für die GitHub-Webhook-Triggervorlage aus.In the search field, type github and then choose your desired language for the GitHub webhook trigger template.

    Auswählen der GitHub-Webhook-Triggervorlage

  3. Geben Sie einen Namen für Ihre Funktion ein, und wählen Sie dann die Option Erstellen.Type a Name for your function, then select Create.

    Konfigurieren der durch einen GitHub-Webhook ausgelösten Funktion im Azure-Portal

  4. Klicken Sie in der neuen Funktion auf </> Funktions-URL abrufen, kopieren Sie die Werte, und speichern Sie diese.In your new function, click </> Get function URL, then copy and save the values. Führen Sie die gleichen Schritte für </> GitHub-Geheimnis abrufen aus.Do the same thing for </> Get GitHub secret. Diese Werte benötigen Sie, um den Webhook in GitHub zu konfigurieren.You use these values to configure the webhook in GitHub.

    Überprüfen des Funktionscodes

Erstellen Sie als Nächstes einen Webhook in Ihrem GitHub-Repository.Next, you create a webhook in your GitHub repository.

Konfigurieren des WebhooksConfigure the webhook

  1. Navigieren Sie in GitHub zu einem Repository, das Sie besitzen.In GitHub, navigate to a repository that you own. Sie können auch ein anderes Repository verwenden, das Sie verzweigt haben.You can also use any repository that you have forked. Verwenden Sie https://github.com/Azure-Samples/functions-quickstart, wenn Sie ein Repository forken müssen.If you need to fork a repository, use https://github.com/Azure-Samples/functions-quickstart.

  2. Wählen Sie Einstellungen > Optionen, und stellen Sie sicher, dass Probleme unter Funktionen aktiviert ist.Choose Settings > Options and make sure that Issues is enabled under Features.

    „Probleme“ aktivieren

  3. Wählen Sie in den Einstellungen die Option Webhooks > Webhook hinzufügen.In Settings, choose Webhooks > Add webhook.

    Hinzufügen eines GitHub-Webhooks

  4. Verwenden Sie die in der folgenden Tabelle angegebenen Einstellungen, und klicken Sie anschließend auf Webhook hinzufügen:Use settings as specified in the following table, then click Add webhook:

    Hinzufügen der Webhook-URL und Festlegen des Geheimnisses

EinstellungSetting Empfohlener WertSuggested value BESCHREIBUNGDescription
URL der NutzlastPayload URL Der kopierte WertCopied value Verwenden Sie den von </> Abrufen der Funktions-URL zurückgegebenen Wert.Use the value returned by </> Get function URL.
InhaltstypContent type Anwendung/jsonapplication/json Die Funktion erwartet eine JSON-Nutzlast.The function expects a JSON payload.
GeheimnisSecret Der kopierte WertCopied value Verwenden Sie den von </> Abrufen des GitHub-Geheimnisses zurückgegebenen Wert.Use the value returned by </> Get GitHub secret.
EreignistriggerEvent triggers Auswählen einzelner Ereignisse erlaubenLet me select individual events Es sollen nur Problemmeldungsereignisse ausgelöst werden.We only want to trigger on issue comment events.
ProblemberichtIssue comment

Der Webhook ist nun so konfiguriert, dass Ihre Funktion ausgelöst wird, wenn ein neuer Problembericht hinzugefügt wird.Now, the webhook is configured to trigger your function when a new issue comment is added.

Testen der FunktionTest the function

  1. Öffnen Sie in Ihrem GitHub-Repository die Registerkarte Probleme in einem neuen Browserfenster.In your GitHub repository, open the Issues tab in a new browser window.

  2. Klicken Sie in dem neuen Fenster auf Neues Problem, geben Sie einen Titel ein, und klicken Sie anschließend auf Submit new issue (Neues Problem übermitteln).In the new window, click New Issue, type a title, and then click Submit new issue.

  3. Geben Sie in die Problemmeldung einen Kommentar ein, und klicken Sie auf Kommentar.In the issue, type a comment and click Comment.

    Hinzufügen einer Problemmeldung in GitHub

  4. Kehren Sie zum Portal zurück, und schauen Sie sich die Protokolle an.Go back to the portal and view the logs. Sie sollten einen Nachverfolgungseintrag mit dem Text der neuen Meldung sehen.You should see a trace entry with the new comment text.

    Ansicht des Meldungstexts in den Protokollen.

Bereinigen von RessourcenClean up resources

Andere Schnellstarts dieser Sammlung bauen auf diesem Schnellstart auf.Other quick starts in this collection build upon this quick start. Wenn Sie mit nachfolgenden Schnellstartanleitungen, Tutorials oder mit einem der Dienste, die Sie im Rahmen dieser Schnellstartanleitung erstellt haben, weiterarbeiten möchten, überspringen Sie die Bereinigung der Ressourcen.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.

Ressourcen bezieht sich im Zusammenhang mit Azure auf Funktions-Apps, Funktionen, Speicherkonten und Ähnliches.Resources in Azure refers to function apps, functions, storage accounts, and so forth. Sie werden in Ressourcengruppen zusammengefasst, und sämtliche Inhalte einer Gruppe können durch Löschen der Gruppe gelöscht werden.They are grouped into resource groups, and you can delete everything in a group by deleting the group.

Im Rahmen dieser Schnellstartanleitungen haben Sie Ressourcen erstellt.You created resources to complete these quickstarts. Für diese Ressourcen fallen je nach Kontostatus und Dienstpreisen unter Umständen Kosten an.You may be billed for these resources, depending on your account status and service pricing. Nicht mehr benötigte Ressourcen können wie folgt gelöscht werden:If you don't need the resources anymore, here's how to delete them:

  1. Navigieren Sie im Azure-Portal zur Seite Ressourcengruppe.In the Azure portal, go to the Resource group page.

    Von der Seite „Funktions-App“ aus gelangen Sie zu dieser Seite, indem Sie auf die Registerkarte Übersicht und anschließend unter Ressourcengruppe auf den Link klicken.To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

    Wählen Sie auf der Seite „Funktions-App“ die zu löschende Ressourcengruppe aus.

    Vom Dashboard aus gelangen Sie zu dieser Seite, indem Sie auf Ressourcengruppen klicken und anschließend die Ressourcengruppe auswählen, die Sie für diese Schnellstartanleitung verwendet haben.To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. Prüfen Sie auf der Seite Ressourcengruppe die Liste mit den enthaltenen Ressourcen, und vergewissern Sie sich, dass es sich dabei um die Ressourcen handelt, die Sie löschen möchten.In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  3. Klicken Sie auf Ressourcengruppe löschen, und folgen Sie den Anweisungen.Select Delete resource group, and follow the instructions.

    Der Löschvorgang kann einige Minuten dauern.Deletion may take a couple of minutes. Nach Abschluss des Vorgangs wird kurz eine Benachrichtigung angezeigt.When it's done, a notification appears for a few seconds. Sie können auch am oberen Seitenrand auf das Glockensymbol klicken, um die Benachrichtigung anzuzeigen.You can also select the bell icon at the top of the page to view the notification.

Nächste SchritteNext steps

Sie haben eine Funktion erstellt, die ausgelöst wird, wenn eine Anforderung von einem GitHub-Webhook empfangen wurde.You have created a function that is triggered when a request is received from a GitHub webhook.

Erfahren Sie, wie Sie Funktionen mit anderen Arten von Auslösern erstellen oder Funktionen in andere Azure-Dienste integrieren.Learn how to create functions with other kinds of triggers or how to integrate functions with other Azure services.

Weitere Informationen zu Webhooktriggern finden Sie unter HTTP- und Webhookbindungen in Azure Functions.For more information about webhook triggers, see Azure Functions HTTP and webhook bindings.