

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Tutorial: Einen CodeBuild -gehosteten GitHub Actions-Runner konfigurieren
<a name="action-runner"></a>

Dieses Tutorial zeigt Ihnen, wie Sie Ihre CodeBuild Projekte für die Ausführung GitHub von Actions-Jobs konfigurieren. Weitere Informationen zur Verwendung von GitHub Actions mit CodeBuild finden Sie unter[Tutorial: Einen CodeBuild -gehosteten GitHub Actions-Runner konfigurieren](#action-runner).<a name="sample-github-action-runners-prerequisites"></a>

Um dieses Tutorial abzuschließen, müssen Sie zunächst:
+ Stellen Sie eine Connect mit einem persönlichen Zugriffstoken, einem Secrets Manager Manager-Secret, einer OAuth App oder einer GitHub App her. Wenn Sie eine Verbindung mit einer OAuth App herstellen möchten, müssen Sie dazu die CodeBuild Konsole verwenden. Wenn Sie ein persönliches Zugriffstoken erstellen möchten, können Sie entweder die CodeBuild Konsole oder die [ImportSourceCredentials API](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ImportSourceCredentials.html) verwenden. Weitere Anweisungen finden Sie unter [GitHub und GitHub Enterprise Server-Zugriff in CodeBuild](access-tokens-github-overview.md).
+ Connect CodeBuild zu Ihrem GitHub Konto her. Dazu können Sie einen der folgenden Schritte ausführen:
  + Sie können in GitHub der Konsole einen Quellanbieter hinzufügen. Sie können eine Verbindung entweder mit einem persönlichen Zugriffstoken, einem Secrets Manager Manager-Secret, einer OAuth App oder einer GitHub App herstellen. Detaillierte Anweisungen finden Sie unter [GitHub und GitHub Enterprise Server-Zugriff in CodeBuild](access-tokens-github-overview.md).
  + Sie können Ihre GitHub Anmeldeinformationen über die [ImportSourceCredentials API](https://docs.aws.amazon.com/cli/latest/reference/codebuild/import-source-credentials.html) importieren. Dies ist nur mit einem persönlichen Zugriffstoken möglich. Wenn Sie eine Verbindung über eine OAuth App herstellen, müssen Sie die Verbindung stattdessen über die Konsole herstellen. Detaillierte Anweisungen finden Sie unter [Stellen Sie eine Connect GitHub mit einem Zugriffstoken (CLI) her](access-tokens-github.md#access-tokens-github-cli).
**Anmerkung**  
Dies ist nur erforderlich, wenn Sie noch keine Verbindung GitHub zu Ihrem Konto hergestellt haben.

## Schritt 1: Erstellen Sie ein CodeBuild Projekt mit einem Webhook
<a name="sample-github-action-runners-create-project"></a>

In diesem Schritt erstellen Sie ein CodeBuild Projekt mit einem Webhook und überprüfen es in der GitHub Konsole. Sie können GitHub Enterprise auch als Quellanbieter wählen. Weitere Informationen zum Erstellen eines Webhooks in GitHub Enterprise finden Sie unter[GitHub manuelle Webhooks](github-manual-webhook.md).

**So erstellen Sie ein CodeBuild Projekt mit einem Webhook**

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Erstellen Sie ein Build-Projekt. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console) und [Ausführen eines Build (Konsole)](run-build-console.md).

1. **Wählen Sie unter **Projekttyp** die Option Runner-Projekt aus.**

   In **Runner**:

   1. Wählen Sie für den **Runner-Anbieter** die Option **GitHub**.

   1. Wählen Sie als **Runner-Standort** die Option **Repository** aus.

   1. Wählen Sie für Repository-URL unter **Repository** die Option **https://github.com/user-name/repository-name** aus.
**Anmerkung**  
Standardmäßig empfängt Ihr Projekt nur `WORKFLOW_JOB_QUEUED` Ereignisse für ein einzelnes Repository. Wenn Sie Ereignisse für alle Repositorys innerhalb einer Organisation oder eines Unternehmens erhalten möchten, finden Sie weitere Informationen unter[GitHub globale Webhooks und organisatorische Webhooks](github-global-organization-webhook.md).

1. 
   +  In **Environment** (Umgebung): 
     + Wählen Sie ein unterstütztes **Umgebungsimage** und **Compute** aus. Beachten Sie, dass Sie die Möglichkeit haben, die Image- und Instanzeinstellungen zu überschreiben, indem Sie ein Label in Ihrem GitHub Aktions-Workflow YAML verwenden. Weitere Informationen finden Sie unter [Schritt 2: Aktualisieren Sie Ihren GitHub Aktions-Workflow YAML](#sample-github-action-runners-update-yaml).
   +  In **Buildspec (Build-Spezifikation)**: 
     + Beachten Sie, dass Ihre Buildspec ignoriert wird, sofern sie nicht als Label hinzugefügt `buildspec-override:true` wird. Stattdessen CodeBuild wird es überschrieben, um Befehle zu verwenden, die den selbst gehosteten Runner einrichten.

1. Fahren Sie mit den Standardwerten fort und wählen Sie dann **Build-Projekt erstellen**.

1. Öffnen Sie die GitHub Konsole unter, `https://github.com/user-name/repository-name/settings/hooks` um zu überprüfen, ob ein Webhook erstellt wurde und für die Übermittlung von **Workflow-Auftragsereignissen** aktiviert ist.

## Schritt 2: Aktualisieren Sie Ihren GitHub Aktions-Workflow YAML
<a name="sample-github-action-runners-update-yaml"></a>

In diesem Schritt aktualisieren Sie Ihre GitHub Aktions-Workflow-YAML-Datei, um Ihre Build-Umgebung [https://github.com/](https://github.com/)zu konfigurieren und selbst gehostete GitHub Actions-Runner zu verwenden. CodeBuild Weitere Informationen finden Sie unter [Verwenden von Labels mit selbst gehosteten](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners) Runnern und. [Label-Overrides werden mit dem CodeBuild GitHub -hosted Actions Runner unterstützt](sample-github-action-runners-update-labels.md)

### Aktualisieren Sie Ihren GitHub Aktionen-Workflow (YAML).
<a name="sample-github-action-runners-update-yaml.setup"></a>

Navigieren Sie zu Ihrem GitHub Aktions-Workflow-YAML [https://github.com/](https://github.com/)und aktualisieren Sie die [https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners)Einstellung, um Ihre Build-Umgebung zu konfigurieren. Dazu können Sie einen der folgenden Schritte ausführen:
+ Sie können den Projektnamen und die Run-ID angeben. In diesem Fall verwendet der Build Ihre bestehende Projektkonfiguration für die Berechnung, das Image, die Image-Version und die Instanzgröße. Der Projektname wird benötigt, um die zugehörigen AWS Einstellungen Ihres GitHub Actions-Jobs mit einem bestimmten CodeBuild Projekt zu verknüpfen. Durch die Aufnahme des Projektnamens in die YAML können Jobs mit den richtigen Projekteinstellungen aufgerufen werden. CodeBuild Durch Angabe der Run-ID CodeBuild wird Ihr Build bestimmten Workflow-Ausführungen zugeordnet und der Build gestoppt, wenn der Workflow-Lauf abgebrochen wird. Weitere Informationen finden Sie unter [`github`Kontext](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context).

  ```
  runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
  ```
**Anmerkung**  
Stellen Sie sicher, dass Ihr Name *<project-name>* mit dem Namen des Projekts übereinstimmt, das Sie im vorherigen Schritt erstellt haben. Wenn es nicht übereinstimmt, CodeBuild wird der Webhook nicht verarbeitet und der GitHub Aktionsworkflow kann hängen bleiben.

  Im Folgenden finden Sie ein Beispiel für einen GitHub Aktions-Workflow-YAML:

  ```
  name: Hello World
  on: [push]
  jobs:
    Hello-World-Job:
      runs-on:
        - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
      steps:
        - run: echo "Hello World!"
  ```
+ Sie können auch Ihr Bild und Ihren Berechnungstyp im Label überschreiben. Eine Liste der kuratierten Bilder finden Sie unter[Bilder berechnen, die mit dem Runner CodeBuild -hosted GitHub Actions unterstützt werden](sample-github-action-runners-update-yaml.images.md). Informationen zur Verwendung von benutzerdefinierten Bildern finden Sie unter[Label-Overrides werden mit dem CodeBuild GitHub -hosted Actions Runner unterstützt](sample-github-action-runners-update-labels.md). Der Berechnungstyp und das Bild in der Bezeichnung setzen die Umgebungseinstellungen Ihres Projekts außer Kraft. Verwenden Sie die folgende Syntax, um Ihre Umgebungseinstellungen für einen CodeBuild EC2- oder Lambda-Compute-Build zu überschreiben:

  ```
  runs-on:
    - codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
      image:<environment-type>-<image-identifier>
      instance-size:<instance-size>
  ```

  Im Folgenden finden Sie ein Beispiel für einen GitHub Aktions-Workflow-YAML:

  ```
  name: Hello World
  on: [push]
  jobs:
    Hello-World-Job:
      runs-on:
        - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
          image:arm-3.0
          instance-size:small
      steps:
        - run: echo "Hello World!"
  ```
+ Sie können die für Ihren Build verwendete Flotte im Label überschreiben. Dadurch werden die in Ihrem Projekt konfigurierten Flotteneinstellungen überschrieben, sodass die angegebene Flotte verwendet wird. Weitere Informationen finden Sie unter [Führen Sie Builds auf Flotten mit reservierter Kapazität aus](fleets.md). Verwenden Sie die folgende Syntax, um Ihre Flotteneinstellungen für einen Amazon EC2 EC2-Compute-Build zu überschreiben:

  ```
  runs-on:
    - codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
      fleet:<fleet-name>
  ```

  Verwenden Sie die folgende Syntax, um sowohl die Flotte als auch das für den Build verwendete Image zu überschreiben:

  ```
  runs-on:
    - codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
      fleet:<fleet-name>
      image:<environment-type>-<image-identifier>
  ```

  Im Folgenden finden Sie ein Beispiel für einen GitHub Aktions-Workflow-YAML:

  ```
  name: Hello World
  on: [push]
  jobs:
    Hello-World-Job:
      runs-on:
        - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
          fleet:myFleet
          image:arm-3.0
      steps:
        - run: echo "Hello World!"
  ```
+ Um Ihre GitHub Actions-Jobs auf einem benutzerdefinierten Image auszuführen, können Sie in Ihrem CodeBuild Projekt ein benutzerdefiniertes Image konfigurieren und vermeiden, dass ein Image-Override-Label angegeben wird. CodeBuild verwendet das im Projekt konfigurierte Image, wenn kein Image Override-Label angegeben ist.
+ Optional können Sie Labels angeben, die nicht von den CodeBuild unterstützten Bezeichnungen abweichen. Diese Labels werden ignoriert, um die Attribute des Builds zu überschreiben, aber die Webhook-Anfrage schlägt nicht fehl. Das Hinzufügen `testLabel` als Label verhindert beispielsweise nicht, dass der Build ausgeführt wird.

**Anmerkung**  
Wenn eine von GitHub -hosted runners bereitgestellte Abhängigkeit in der CodeBuild Umgebung nicht verfügbar ist, können Sie die Abhängigkeit mithilfe von GitHub Aktionen in Ihrer Workflow-Ausführung installieren. Sie können die [https://github.com/actions/setup-python](https://github.com/actions/setup-python)Aktion beispielsweise verwenden, um Python für Ihre Build-Umgebung zu installieren.

### Führen Sie die Buildspec-Befehle in den Phasen INSTALL, PRE\$1BUILD und POST\$1BUILD aus
<a name="sample-github-action-runners-update-yaml.buildspec"></a>

 CodeBuild Ignoriert standardmäßig alle Buildspec-Befehle, wenn ein selbst gehosteter Actions-Build ausgeführt wird. GitHub Um Buildspec-Befehle während des Builds auszuführen, `buildspec-override:true` kann dem Label Folgendes als Suffix hinzugefügt werden:

```
runs-on:
  - codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
    buildspec-override:true
```

Mit diesem Befehl CodeBuild wird ein Ordner mit dem Namen `actions-runner` im primären Quellordner des Containers erstellt. Wenn der GitHub Actions-Runner während der `BUILD` Phase gestartet wird, wird der Runner im `actions-runner` Verzeichnis ausgeführt.

Bei der Verwendung einer Buildspec-Überschreibung in einem selbst GitHub gehosteten Actions-Build gibt es mehrere Einschränkungen:
+ CodeBuild führt während der Phase keine Buildspec-Befehle aus, da der selbst gehostete Runner in der `BUILD` Phase ausgeführt wird. `BUILD`
+ CodeBuild lädt während der Phase keine Primär- oder Sekundärquellen herunter. `DOWNLOAD_SOURCE` Wenn Sie eine Buildspec-Datei konfiguriert haben, wird nur diese Datei von der Primärquelle des Projekts heruntergeladen.
+ Wenn ein Build-Befehl in der `PRE_BUILD` `INSTALL` Oder-Phase fehlschlägt, CodeBuild wird der selbst gehostete Runner nicht gestartet und der Workflow-Job „ GitHub Aktionen“ muss manuell abgebrochen werden.
+ CodeBuild ruft das Runner-Token während der `DOWNLOAD_SOURCE` Phase ab, die eine Ablaufzeit von einer Stunde hat. Wenn Ihre `PRE_BUILD` `INSTALL` Phasen eine Stunde überschreiten, läuft das Runner-Token möglicherweise ab, bevor der GitHub selbst gehostete Runner startet.

## Schritt 3: Überprüfe deine Ergebnisse
<a name="sample-github-action-runners-verify"></a>

Immer wenn ein GitHub Aktionsworkflow ausgeführt wird, CodeBuild werden die Workflow-Auftragsereignisse über den Webhook empfangen. CodeBuild Startet für jeden Job im Workflow einen Build, um einen kurzlebigen GitHub Actions-Runner auszuführen. Der Runner ist für die Ausführung eines einzelnen Workflow-Jobs verantwortlich. Sobald der Job abgeschlossen ist, werden der Runner und der zugehörige Build-Prozess sofort beendet.

Um Ihre Workflow-Job-Logs einzusehen, navigieren Sie zu Ihrem Repository in GitHub, wählen Sie **Aktionen**, wählen Sie den gewünschten Workflow aus und wählen Sie dann den spezifischen **Job** aus, für den Sie die Logs überprüfen möchten.

Sie können die angeforderten Labels im Protokoll überprüfen, während der Job darauf wartet, von einem selbst gehosteten Runner übernommen zu werden. CodeBuild

![\[Das Protokoll des Jobs wird geladen.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/hello-world-loading.png)


Sobald der Job abgeschlossen ist, können Sie das Protokoll des Jobs einsehen.

![\[Das Protokoll des Jobs.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/hello-world-log.png)


## GitHub Konfigurationsoptionen für Actions Runner
<a name="sample-github-action-runners-config"></a>

Sie können die folgenden Umgebungsvariablen in Ihrer Projektkonfiguration angeben, um die Setup-Konfiguration Ihrer selbst gehosteten Runner zu ändern.

`CODEBUILD_CONFIG_GITHUB_ACTIONS_ORG_REGISTRATION_NAME`  
CodeBuild registriert selbst gehostete Runner unter dem Organisationsnamen, der als Wert dieser Umgebungsvariablen angegeben ist. Weitere Informationen zur Registrierung von Runnern auf Organisationsebene und zu den erforderlichen Berechtigungen finden Sie unter [Konfiguration für einen just-in-time Runner für eine Organisation erstellen](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-configuration-for-a-just-in-time-runner-for-an-organization).

`CODEBUILD_CONFIG_GITHUB_ACTIONS_ENTERPRISE_REGISTRATION_NAME`  
CodeBuild registriert selbst gehostete Runner unter dem Unternehmensnamen, der als Wert dieser Umgebungsvariablen angegeben ist. Weitere Informationen zur Registrierung von Runnern auf Unternehmensebene und zu den erforderlichen Berechtigungen finden Sie unter [Konfiguration für einen just-in-time Runner für ein Unternehmen erstellen](https://docs.github.com/en/enterprise-server/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-configuration-for-a-just-in-time-runner-for-an-enterprise).  
Enterprise Runner sind standardmäßig nicht für Organisations-Repositorys verfügbar. Damit selbst gehostete Runner Workflow-Jobs annehmen können, müssen Sie möglicherweise Ihre Einstellungen für den Zugriff auf Runner-Gruppen konfigurieren. Weitere Informationen finden Sie unter [Enterprise Runners für Repositorys verfügbar machen](https://docs.github.com/en/enterprise-server/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#making-enterprise-runners-available-to-repositories).

`CODEBUILD_CONFIG_GITHUB_ACTIONS_RUNNER_GROUP_ID`  
CodeBuild registriert selbst gehostete Runner mit der ganzzahligen Runner-Gruppen-ID, die als Wert dieser Umgebungsvariablen gespeichert ist. Standardmäßig ist dieser Wert 1. Weitere Informationen zu selbst gehosteten Runner-Gruppen finden Sie unter [Zugriff auf selbst gehostete Runner mithilfe von Gruppen verwalten](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-configuration-for-a-just-in-time-runner-for-an-organization).

`CODEBUILD_CONFIG_GITHUB_ACTIONS_ORG_REGISTRATION_NAME`  
Um die Runner-Registrierung auf Organisationsebene mithilfe Ihrer Workflow-YAML-Datei für GitHub Aktionen zu konfigurieren, können Sie die folgende Syntax verwenden:  

```
name: Hello World
on: [push]
jobs:
  Hello-World-Job:
    runs-on:
      - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
        organization-registration-name:myOrganization
    steps:
      - run: echo "Hello World!"
```

`CODEBUILD_CONFIG_GITHUB_ACTIONS_ENTERPRISE_REGISTRATION_NAME`  
Um die Runner-Registrierung auf Unternehmensebene mithilfe Ihrer GitHub Actions-Workflow-YAML-Datei zu konfigurieren, können Sie die folgende Syntax verwenden:  

```
name: Hello World
on: [push]
jobs:
  Hello-World-Job:
    runs-on:
      - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
        enterprise-registration-name:myEnterprise
    steps:
      - run: echo "Hello World!"
```

`CODEBUILD_CONFIG_GITHUB_ACTIONS_RUNNER_GROUP_ID`  
Um die Registrierung von Runnern für eine bestimmte Runner-Gruppen-ID mithilfe Ihrer GitHub Actions-Workflow-YAML-Datei zu konfigurieren, können Sie die folgende Syntax verwenden:  

```
name: Hello World
on: [push]
jobs:
  Hello-World-Job:
    runs-on:
      - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
        registration-group-id:3
    steps:
      - run: echo "Hello World!"
```

## Webhook-Ereignisse für GitHub Aktionen filtern ()CloudFormation
<a name="sample-github-action-runners-webhooks-cfn"></a>

Der folgende Teil einer CloudFormation Vorlage im YAML-Format erstellt eine Filtergruppe, die einen Build auslöst, wenn sie als wahr ausgewertet wird. Die folgende Filtergruppe spezifiziert eine Workflow-Auftragsanforderung für GitHub Aktionen mit einem Workflow-Namen, der dem regulären Ausdruck entspricht. `\[CI-CodeBuild\]`

```
CodeBuildProject:
  Type: AWS::CodeBuild::Project
  Properties:
    Name: MyProject
    ServiceRole: service-role
    Artifacts:
      Type: NO_ARTIFACTS
    Environment:
      Type: LINUX_CONTAINER
      ComputeType: BUILD_GENERAL1_SMALL
      Image: aws/codebuild/standard:5.0
    Source:
      Type: GITHUB
      Location: CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION
    Triggers:
      Webhook: true
      ScopeConfiguration:
        Name: organization-name
        Scope: GITHUB_ORGANIZATION
      FilterGroups:
        - - Type: EVENT
            Pattern: WORKFLOW_JOB_QUEUED
          - Type: WORKFLOW_NAME
            Pattern: \[CI-CodeBuild\]
```

## Webhook-Ereignisse für GitHub Aktionen filtern ()AWS CDK
<a name="sample-github-action-runners-webhooks-cdk"></a>

Die folgende AWS CDK Vorlage erstellt eine Filtergruppe, die einen Build auslöst, wenn sie als wahr ausgewertet wird. Die folgende Filtergruppe spezifiziert eine Workflow-Auftragsanforderung für GitHub Aktionen.

```
import { aws_codebuild as codebuild } from 'aws-cdk-lib';
import {EventAction, FilterGroup} from "aws-cdk-lib/aws-codebuild";

const source = codebuild.Source.gitHub({
      owner: 'owner',
      repo: 'repo',
      webhook: true,
      webhookFilters: [FilterGroup.inEventOf(EventAction.WORKFLOW_JOB_QUEUED)],
    })
```

## Webhook-Ereignisse für GitHub Aktionen filtern (Terraform)
<a name="sample-github-action-runners-webhooks-terraform"></a>

Die folgende Terraform-Vorlage erstellt eine Filtergruppe, die einen Build auslöst, wenn sie als wahr ausgewertet wird. Die folgende Filtergruppe spezifiziert eine GitHub Aktions-Workflow-Jobanfrage.

```
resource "aws_codebuild_webhook" "example" {
  project_name = aws_codebuild_project.example.name
  build_type   = "BUILD"
  filter_group {
    filter {
      type    = "EVENT"
      pattern = "WORKFLOW_JOB_QUEUED"
    }
  }
}
```

## Webhook-Ereignisse für GitHub Aktionen filtern ()AWS CLI
<a name="sample-github-action-runners-webhooks-cli"></a>

Mit den folgenden AWS CLI Befehlen wird ein selbst gehostetes GitHub Actions-Runner-Projekt mit einer Filtergruppe für GitHub Aktions-Workflow-Jobanfragen erstellt, die einen Build auslöst, wenn die Auswertung „true“ ergibt.

```
aws codebuild create-project \
--name <project name> \
--source "{\"type\":\"GITHUB\",\"location\":\"<repository location>\",\"buildspec\":\"\"}" \
--artifacts {"\"type\":\"NO_ARTIFACTS\""} \
--environment "{\"type\": \"LINUX_CONTAINER\",\"image\": \"aws/codebuild/amazonlinux-x86_64-standard:5.0\",\"computeType\": \"BUILD_GENERAL1_MEDIUM\"}" \
--service-role "<service role ARN>"
```

```
aws codebuild create-webhook \
--project-name <project name> \
--filter-groups "[[{\"type\":\"EVENT\",\"pattern\":\"WORKFLOW_JOB_QUEUED\"}]]"
```