Skip to main content

Statusüberprüfungen

Verstehen, wie Statusprüfungen sicherstellen, dass Commits Repositorybedingungen erfüllen, Pullanforderungsüberprüfungen unterstützen und Validierungen wie Builds, Tests und Bereitstellungen verwalten.

Statusüberprüfungen zeigen an, ob Commits die für ein Repository festgelegten Bedingungen erfüllen. Sie werden in der Regel von externen Systemen erstellt, z. B. fortlaufende Integrationsbuilds, Tests, Codeüberprüfungen oder Bereitstellungsprüfungen.

Statusprüfungen helfen Prüfern und Betreuern zu verstehen, ob eine Pullanforderung zum Zusammenführen bereit ist. Eine Überprüfung kann zeigen, dass die Arbeit noch ausgeführt wird, dass Änderungen die Überprüfung bestanden haben oder dass etwas Aufmerksamkeit erfordert.

Screenshot: Liste der Commits und Status

Personen mit Schreibberechtigungen für ein Repository können den Zustand für Statusprüfungen im Repository festlegen.

Wenn Statusprüfungen für eine geschützte Verzweigung erforderlich sind, müssen sie übergeben werden, bevor die Pullanforderung zusammengeführt werden kann. Siehe Informationen zu geschützten Branches.

Hinweis

Der Status eines übersprungenen Auftrags wird als „Success“ angezeigt. Die Zusammenführung eines Pull Requests wird dadurch nicht verhindert, selbst wenn es sich um eine erforderliche Überprüfung handelt.

Typen von Statusüberprüfungen GitHub

Es gibt zwei Arten von Statusüberprüfungen GitHub:

TypDetailebeneErstellt von
PrüfungenDetaillierte Ausgabe, Anmerkungen und Nachrichten.
GitHub Apps, einschließlich GitHub Actions.
CommitstatusEin einfacherer Status für einen Commit.Externe Dienste und Integrationen.

Hinweis

GitHub Actions generiert Überprüfungen, keine Commit-Status, wenn Workflows ausgeführt werden.

Organisationsbesitzer und Benutzer mit Pushzugriff auf ein Repository können Überprüfungen und Commit-Status mit GitHubder API erstellen. Siehe REST-API-Endpunkte für Prüfungen und REST-API-Endpunkte für Commit-Status.

Prüfungen

Prüfungen können Buildprotokolle, Testergebnisse, Anmerkungen und Links zu weiteren Details enthalten. In einer Pullanforderung hilft Ihnen die Registerkarte "Prüfungen ", zu verstehen, welche Überprüfungen ausgeführt wurden und warum eine Überprüfung bestanden oder fehlgeschlagen ist.

Screenshot der Registerkarte „Überprüfungen“ eines Pull Requests. Die Registerkarte „Überprüfungen“ und das Dropdownmenü zum Auswählen eines Commits sind dunkelorange umrandet.

Hinweis

Die Registerkarte "Prüfungen " wird nur für Pullanforderungen aufgefüllt, wenn Sie Überprüfungen einrichten, keine Commit-Status für das Repository.

Wenn ein Häkchen auf eine bestimmte Zeile zeigt, können Details auch auf der Registerkarte "Dateien " der Pullanforderung angezeigt werden. Dadurch können Prüfer automatisiertes Feedback mit dem geänderten Code verbinden.

Prüfungen für einzelne Commits anfordern und überspringen

Bei einigen Repositorys können Überprüfungen übersprungen oder für einzelne Commits angefordert werden. Dies kann hilfreich sein, wenn eine Prüfung für eine bestimmte Änderung nicht relevant ist oder wenn Prüfungen nicht automatisch angefordert werden.

Bei GitHub Actions Workflows können Sie workflowausführungen überspringen, die von den push Ereignissen pull_request ausgelöst werden, indem Sie eine Skip-Anweisung in Ihre Commit-Nachricht einschließen. Siehe Überspringen von Workflowausführungen.

Alternativ kannst du eine der folgenden Trailer-Zeilen am Ende deiner Commitnachricht hinzufügen, um alle Überprüfungen für deinen Commit zu überspringen oder anzufordern.

  • Um Überprüfungen für einen Commit zu überspringen, gib deine Commit-Nachricht und eine kurze, aussagekräftige Beschreibung deiner Änderungen ein. Füge zwei leere Zeilen nach der Commitbeschreibung und vor dem schließenden Anführungszeichen hinzu, gefolgt von skip-checks: true:

    $ git commit -m "Update README
    >
    >
    skip-checks: true"
    
  • Um Überprüfungen für einen Commit anzufordern, geben Sie Ihre Commit-Nachricht und eine kurze, aussagekräftige Beschreibung Ihrer Änderungen ein. Füge zwei leere Zeilen nach der Commitbeschreibung und vor dem schließenden Anführungszeichen hinzu, gefolgt von request-checks: true:

    $ git commit -m "Refactor usability tests
    >
    >
    request-checks: true"
    

Standardmäßig entfernt Git automatisch aufeinander folgende Zeilenumbrüche. Wenn Sie die Commit-Mitteilung genau so belassen möchten, wie Sie sie eingegeben haben, verwenden Sie die --cleanup=verbatim-Option für Ihren Commit. Weitere Informationen findest du in der Git-Dokumentation unter --cleanup=<mode>.

Prüfe Status und Schlussfolgerungen

Überprüft, wie sie ausgeführt werden, durch die Status, und erhält dann eine Schlussfolgerung, wenn sie fertig sind. Einige Status können nicht manuell festgelegt werden und sind reserviert für GitHub Actions.

| Status | Description | GitHub Actions nur? | | --- | --- | --- | | completed | Die Überprüfung ist abgeschlossen und hat eine Schlussfolgerung (siehe unten). | No | | expected | Die Überprüfungsausführung wartet darauf, dass ein Status gemeldet wird. | Ja | | failure | Der Prüflauf ist fehlgeschlagen. | No | | in_progress | Die Überprüfung wird ausgeführt. | No | | pending | Die Überprüfungsausführung befindet sich am Anfang der Warteschlange, aber das gruppenbasierte Parallelitätslimit wurde erreicht. | Ja | | queued | Der Kontrolllauf wurde in die Warteschlange gestellt. | No | | requested | Der Prüflauf wurde erstellt, aber nicht in die Warteschlange verschoben. | Ja | | startup_failure | Die Prüfsuite ist beim Start fehlgeschlagen. Dieser Status gilt nicht für Prüfungsdurchläufe. | Ja | | waiting | Die Überprüfungsausführung wartet darauf, dass eine Bereitstellungsschutzregel erfüllt ist. | Ja |

Wenn eine Überprüfung den Status completed aufweist, hat sie eine Schlussfolgerung. Ein erfolgreicher Abschluss bedeutet in der Regel, dass die Prüfung die Zusammenführung nicht blockiert. Ein Fehler, Timeout oder eine handlungsrelevante Schlussfolgerung bedeutet in der Regel, dass jemand die Details überprüfen muss, bevor die Pullanforderung zusammenführen kann.

FazitDescription
action_requiredDie Überprüfungsausführung hat nach ihrer Beendigung die erforderlichen Aktionen bereitgestellt. Weitere Informationen findest du unter Verwenden der REST-API zur Interaktion mit Überprüfungen.
cancelledDer Prüflauf wurde abgebrochen, bevor er abgeschlossen wurde.
failureDer Prüflauf ist fehlgeschlagen.
neutralDie Überprüfung wurde mit einem neutralen Ergebnis abgeschlossen. Dies wird als Erfolg für abhängige Prüfungen GitHub Actionsbehandelt.
skippedDie Überprüfungsausführung wurde übersprungen. Dies wird als Erfolg für abhängige Prüfungen GitHub Actionsbehandelt.
staleDer Prüflauf wurde veraltet markiert GitHub , da er zu lange dauerte.
successDie Überprüfung wurde erfolgreich ausgeführt.
timed_outDer Prüflauf hat ein Timeout erreicht.

Aufbewahrung von Schecks

Site-Administratoren können die Aufbewahrungsrichtlinie für Prüfdaten auf Ihre GitHub Enterprise Server-Instance steuern. Weitere Informationen finden Sie unter Konfigurieren von Anwendungen.

Um einen Pull Request mit Überprüfungen zusammenzuführen, die sowohl erforderlich als auch archiviert sind, musst du die Überprüfungen erneut ausführen.