Ich führe einen Test mit einem GitHub Actions-Workflow aus und möchte den Test nicht bestehen lassen, wenn das vom Test erzeugte Ergebnisobjekt leer ist. Wie überprüfe ich, ob ein JSON-Objekt leer ist?
Mein aktueller Workflow-Job enthält den Schritt:
- name: Fail if security tests found any issues
if: ${{ steps.securityTestsResults!= {} }}
uses: actions/github-script@v3
with:
script: |
core.setFailed('security tests failed: non-empty results')
Aber der obige Code führt derzeit zu dem Fehler:
Invalid workflow file:.github/workflows/securityTests.yml#L34
The workflow is not valid..github/workflows/securityTests.yml (Line: 34, Col: 11): Unexpected symbol: '{}'. Located at position 31 within expression: steps.securityTestsResults!= {}
Es ist verwirrend, da ich glaube, dass mein Code in normalem Javascript funktionieren würde, aber es scheint hier nicht zu funktionieren. Ich habe es auch versucht Object.keys(obj).length === 0
und JSON.stringify(obj) == '{}'
aber diese funktionieren auch nicht (es erkennt die Klassen Object
oder nicht).JSON
Lösung des Problems
- name: Check HOST ENV
uses: actions/github-script@v4
with:
script: |
if( "${{env.HOST}}" == "ERR" ){
core.setFailed('Error mnj')
}
Keine Kommentare:
Kommentar veröffentlichen