+ +
+

Justification

+

{{ approval()!.justification }}

+
+ + +
+

+ Gate Evaluation + + {{ approval()!.gatesPassed ? 'All Passed' : 'Some Failed' }} + +

+
+ @for (gate of approval()!.gateResults; track gate.gateId) { +
+
+
+ + {{ getGateIcon(gate.status) }} + +
+
+ + {{ getGateTypeIcon(gate.type) }} + {{ gate.gateName }} + + {{ gate.message }} +
+
+ {{ isGateExpanded(gate.gateId) ? '-' : '+' }} +
+
+ @if (isGateExpanded(gate.gateId)) { +
+ @for (item of getGateDetails(gate.details); track item.key) { +
+ {{ item.key }} + {{ item.value }} +
+ } +
+ Evaluated at {{ formatDate(gate.evaluatedAt) }} +
+
+ } +
+ } @empty { +
No gates configured for this promotion
+ } +
+
+ + +
+

Release Components

+
+ @for (comp of approval()!.releaseComponents; track comp.name) { +
+ {{ comp.name }} + {{ comp.version }} + {{ comp.digest.slice(0, 19) }}... +
+ } +
+
+