refactor(triggers): rename triggerWorkflow to onFailureWorkflow for clarity

- Updated all instances of `triggerWorkflow` to `onFailureWorkflow` across the codebase to improve clarity and consistency in naming.
- Adjusted related logic in workflow configurations and UI components to reflect the new naming convention.
- Enhanced error messages and documentation to align with the updated terminology.

This change aims to provide a clearer understanding of the workflow's failure handling mechanism.
This commit is contained in:
2026-08-18 11:05:39 +07:00
parent 0c416506d6
commit c668947c90
9 changed files with 112 additions and 29 deletions
@@ -117,15 +117,15 @@ export function TriggerCard({
function triggerSummary(trigger, owner) {
const type = trigger?.type;
const failure =
trigger.onConsecutiveFailures && trigger.onFailureWorkflow
? ` · onFailure@${trigger.onFailureWorkflow}`
: "";
if (type === "HTTP") {
return `${trigger.method || "POST"} ${namespacedPath(owner || "owner", trigger.path || "/")}`;
return `${trigger.method || "POST"} ${namespacedPath(owner || "owner", trigger.path || "/")}${failure}`;
}
if (type === "cron") {
const extra =
trigger.onConsecutiveFailures && trigger.triggerWorkflow
? ` · alert@${trigger.triggerWorkflow}`
: "";
return `${trigger.schedule || ""}${extra}`;
return `${trigger.schedule || ""}${failure}`;
}
if (type === "workflow") return "callable";
return "";
@@ -320,12 +320,12 @@ function FailureAlertFields({ trigger, disabled, onChange, alertDestinations })
/>
</label>
<label className="form-control">
<span className="label py-0 text-sm">Trigger workflow</span>
<span className="label py-0 text-sm">On failure, start</span>
<select
className="select select-sm"
value={trigger.triggerWorkflow ?? ""}
value={trigger.onFailureWorkflow ?? ""}
disabled={disabled}
onChange={(e) => onChange({ ...trigger, triggerWorkflow: e.target.value })}
onChange={(e) => onChange({ ...trigger, onFailureWorkflow: e.target.value })}
>
<option value="">None</option>
{alertDestinations.map((w) => (
@@ -333,11 +333,11 @@ function FailureAlertFields({ trigger, disabled, onChange, alertDestinations })
{w.name ?? w.file}
</option>
))}
{trigger.triggerWorkflow &&
{trigger.onFailureWorkflow &&
!alertDestinations.some(
(w) => (w.name ?? w.file) === trigger.triggerWorkflow,
(w) => (w.name ?? w.file) === trigger.onFailureWorkflow,
) ? (
<option value={trigger.triggerWorkflow}>{trigger.triggerWorkflow}</option>
<option value={trigger.onFailureWorkflow}>{trigger.onFailureWorkflow}</option>
) : null}
</select>
</label>
+12 -9
View File
@@ -143,7 +143,7 @@ export function newHttpTrigger() {
response: "",
unauthorized: null,
onConsecutiveFailures: "",
triggerWorkflow: "",
onFailureWorkflow: "",
};
}
@@ -158,7 +158,7 @@ export function newCronTrigger() {
response: "",
unauthorized: null,
onConsecutiveFailures: "",
triggerWorkflow: "",
onFailureWorkflow: "",
};
}
@@ -173,7 +173,7 @@ export function newWorkflowTrigger() {
response: "",
unauthorized: null,
onConsecutiveFailures: "",
triggerWorkflow: "",
onFailureWorkflow: "",
};
}
@@ -191,6 +191,10 @@ export function triggerDestinations(workflows, { owner, excludeFile } = {}) {
export { HTTP_METHODS };
function readOnFailureWorkflow(raw) {
return typeof raw?.onFailureWorkflow === "string" ? raw.onFailureWorkflow : "";
}
function normalizeStep(step) {
const uiId = nextUiId("step");
if (typeof step === "string") {
@@ -266,10 +270,10 @@ function normalizeTrigger(raw) {
"response",
"unauthorized",
"onConsecutiveFailures",
"triggerWorkflow",
"onFailureWorkflow",
])
: type === "cron"
? new Set(["type", "schedule", "onConsecutiveFailures", "triggerWorkflow"])
? new Set(["type", "schedule", "onConsecutiveFailures", "onFailureWorkflow"])
: new Set(["type"]);
/** @type {Record<string, unknown>} */
const extra = {};
@@ -286,8 +290,7 @@ function normalizeTrigger(raw) {
raw.onConsecutiveFailures == null || raw.onConsecutiveFailures === ""
? ""
: String(raw.onConsecutiveFailures),
triggerWorkflow:
typeof raw.triggerWorkflow === "string" ? raw.triggerWorkflow : "",
onFailureWorkflow: readOnFailureWorkflow(raw),
auth: raw.auth ?? null,
response: typeof raw.response === "string" ? raw.response : "",
unauthorized: raw.unauthorized ?? null,
@@ -328,8 +331,8 @@ function dumpFailureTriggerFields(t, out) {
out.onConsecutiveFailures = Math.floor(threshold);
}
}
if (typeof t.triggerWorkflow === "string" && t.triggerWorkflow.trim()) {
out.triggerWorkflow = t.triggerWorkflow.trim();
if (typeof t.onFailureWorkflow === "string" && t.onFailureWorkflow.trim()) {
out.onFailureWorkflow = t.onFailureWorkflow.trim();
}
}