Skip to content

v0.81.3

Compare
Choose a tag to compare
@yhakbar yhakbar released this 10 Jun 14:59
· 11 commits to main since this release
fe11a2e

🧪 Experiments Updated

The reports experiment now supports generating reports in JSON format

As part of delivering #3628 , the reports experiment has been updated to support JSON report generation in addition to the default of CSV report generation.

To generate a report using JSON formatting, either use the --report-format flag to explicitly set the format to one of csv or json or provide a --report-file with a .csv or .json file extension to implicitly select the report format.

The JSON version of report summaries look like this:

[
  {
    "name": "second-exclude",
    "started": "2025-06-09T12:50:02.59688-04:00",
    "ended": "2025-06-09T12:50:02.596881-04:00",
    "result": "excluded",
    "reason": "exclude block"
  },
  {
    "name": "first-exclude",
    "started": "2025-06-09T12:50:02.596882-04:00",
    "ended": "2025-06-09T12:50:02.596882-04:00",
    "result": "excluded",
    "reason": "exclude block"
  },
  {
    "name": "error-ignore",
    "started": "2025-06-09T12:50:02.597139-04:00",
    "ended": "2025-06-09T12:50:02.742775-04:00",
    "result": "succeeded"
  }
]

For more information, read the documentation on the Run Report.

The reports experiment now supports generating a JSON schema for reports

As part of delivering #3628 , the reports experiment has been updated to support generating a JSON schema following the JSON Schema specification in addition to generating reports.

To generate a schema, use the --report-schema-file flag.

The schema looks like this:

{
  "items": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://terragrunt.gruntwork.io/schemas/run/report/v1/schema.json",
    "properties": {
      "Started": {
        "type": "string",
        "format": "date-time"
      },
      "Ended": {
        "type": "string",
        "format": "date-time"
      },
      "Reason": {
        "type": "string",
        "enum": [
          "retry succeeded",
          "error ignored",
          "run error",
          "--queue-exclude-dir",
          "exclude block",
          "ancestor error"
        ]
      },
      "Cause": {
        "type": "string"
      },
      "Name": {
        "type": "string"
      },
      "Result": {
        "type": "string",
        "enum": [
          "succeeded",
          "failed",
          "early exit",
          "excluded"
        ]
      }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
      "Started",
      "Ended",
      "Name",
      "Result"
    ],
    "title": "Terragrunt Run Report Schema",
    "description": "Schema for Terragrunt run report"
  },
  "type": "array",
  "title": "Terragrunt Run Report Schema",
  "description": "Array of Terragrunt runs"
}

For more information, read the documentation on the Run Report.

What's Changed

Full Changelog: v0.81.2...v0.81.3