# Verwenden von Aufträgen in einem Workflow

Verwende Workflows, um mehrere Aufträge auszuführen.

## Voraussetzungen

Um Aufträge in deinen Workflows zu implementieren, musst du verstehen, worum es sich bei Aufträgen handelt. Weitere Informationen findest du unter [Grundlegendes zu GitHub Actions](/de/enterprise-server@3.22/actions/get-started/understand-github-actions#jobs).

## Festlegen einer ID für einen Job

Verwende `jobs.<job_id>`, um deinem Auftrag einen eindeutigen Bezeichner zu geben. Der Schlüssel `job_id` ist ein String und der Wert umfasst eine Zuordnung der Konfigurationsdaten für den Auftrag. Du musst `<job_id>` mit einer Zeichenfolge ersetzen, die für das `jobs`-Objekt eindeutig ist. `<job_id>` muss mit einem Buchstaben oder `_` beginnen und darf nur alphanumerische Zeichen, `-` oder `_` enthalten.

### Beispiel: Erstellen von Aufträgen

In diesem Beispiel wurden zwei Aufträge erstellt und ihre `job_id`-Werte sind `my_first_job` und `my_second_job`.

```yaml
jobs:
  my_first_job:
    name: My first job
  my_second_job:
    name: My second job
```

## Festlegen eines Namens für eine Aufgabe

Mit `jobs.<job_id>.name` legst du einen Namen für den Auftrag fest, der auf der Benutzeroberfläche von GitHub angezeigt wird.

## Definieren von erforderlichen Aufträgen

Verwende `jobs.<job_id>.needs`, um alle Aufträge zu identifizieren, die erfolgreich abgeschlossen sein müssen, bevor dieser Auftrag ausgeführt wird. Hier ist ein String oder ein Array mit Strings zulässig. Wenn ein Job fehlschlägt oder übersprungen wird, werden alle Jobs, die davon abhängen, ebenfalls übersprungen, es sei denn, die Jobs verwenden einen bedingten Ausdruck, der dazu führt, dass der Job fortgesetzt wird. Wenn eine Ausführung eine Reihe von Aufträgen enthält, die voneinander abhängig sind, wird ein Fehler oder eine Auslassung auf alle Aufträge in der Abhängigkeitskette ab dem Fehler- oder Auslassungspunkt angewendet. Wenn ein Auftrag auch dann ausgeführt werden soll, wenn ein Auftrag, von dem er abhängig ist, nicht erfolgreich war, verwenden Sie den bedingten `always()`-Ausdruck in `jobs.<job_id>.if`.

### Beispiel: Anforderung erfolgreicher abhängiger Jobs

```yaml
jobs:
  job1:
  job2:
    needs: job1
  job3:
    needs: [job1, job2]
```

In diesem Beispiel muss `job1` erfolgreich abgeschlossen werden, bevor `job2` beginnt, und `job3` wartet, bis sowohl `job1` als auch `job2` abgeschlossen sind.

Die Aufträge in diesem Beispiel werden sequenziell ausgeführt:

1. `job1`
2. `job2`
3. `job3`

### Beispiel: Nicht Erfordern erfolgreicher abhängiger Aufträge

```yaml
jobs:
  job1:
  job2:
    needs: job1
  job3:
    if: ${{ always() }}
    needs: [job1, job2]
```

In diesem Beispiel verwendet `job3` den bedingten Ausdruck `always()`, sodass er immer nach Abschluss von `job1` und `job2` ausgeführt wird, unabhängig davon, ob sie erfolgreich waren. Weitere Informationen finden Sie unter [Auswerten von Ausdrücken in Workflows und Aktionen](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/expressions#status-check-functions).

## Verwenden einer Matrix zum Ausführen von Aufträgen mit unterschiedlichen Variablen

Definiere eine `matrix`-Strategie in deinem Workflow, um einen Auftrag automatisch mit unterschiedlichen Kombinationen von Variablen wie Betriebssystemen oder Sprachversionen auszuführen.

Weitere Informationen finden Sie unter [Varianten von Aufgaben in einem Workflow ausführen](/de/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations).