} />
+
+
+
+
>
);
};
@@ -76,6 +87,10 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType })
return false;
}
}, t("workflow_node.deploy.form.webhook_data.errmsg.json_invalid")),
+ timeout: z.preprocess(
+ (v) => (v == null || v === "" ? void 0 : Number(v)),
+ z.number().int(t("workflow_node.deploy.form.webhook_timeout.placeholder")).gte(1, t("workflow_node.deploy.form.webhook_timeout.placeholder")).nullish()
+ ),
});
};
diff --git a/ui/src/components/workflow/designer/forms/BizNotifyNodeConfigFieldsProviderWebhook.tsx b/ui/src/components/workflow/designer/forms/BizNotifyNodeConfigFieldsProviderWebhook.tsx
index 247f568f4..0f88205a1 100644
--- a/ui/src/components/workflow/designer/forms/BizNotifyNodeConfigFieldsProviderWebhook.tsx
+++ b/ui/src/components/workflow/designer/forms/BizNotifyNodeConfigFieldsProviderWebhook.tsx
@@ -1,5 +1,5 @@
import { getI18n, useTranslation } from "react-i18next";
-import { Form } from "antd";
+import { Form, Input } from "antd";
import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
@@ -51,6 +51,17 @@ const BizNotifyNodeConfigFieldsProviderWebhook = () => {
} />
+
+
+
+
>
);
};
@@ -76,6 +87,10 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType })
return false;
}
}, t("workflow_node.notify.form.webhook_data.errmsg.json_invalid")),
+ timeout: z.preprocess(
+ (v) => (v == null || v === "" ? void 0 : Number(v)),
+ z.number().int(t("workflow_node.notify.form.webhook_timeout.placeholder")).gte(1, t("workflow_node.notify.form.webhook_timeout.placeholder")).nullish()
+ ),
});
};
diff --git a/ui/src/i18n/locales/en/nls.access.json b/ui/src/i18n/locales/en/nls.access.json
index 2603421ff..bbf441815 100644
--- a/ui/src/i18n/locales/en/nls.access.json
+++ b/ui/src/i18n/locales/en/nls.access.json
@@ -65,7 +65,7 @@
"access.form.acmedns_credentials.label": "ACME-DNS credentials",
"access.form.acmedns_credentials.placeholder": "Please enter ACME-DNS credentials",
"access.form.acmedns_credentials.tooltip": "For more information, see https://github.com/joohoi/acme-dns",
- "access.form.acmedns_credentials.errmsg.json_invalid": "Please enter a valiod JSON string",
+ "access.form.acmedns_credentials.errmsg.json_invalid": "Please enter a valid JSON string",
"access.form.acmehttpreq_endpoint.label": "Endpoint",
"access.form.acmehttpreq_endpoint.placeholder": "Please enter endpoint",
"access.form.acmehttpreq_endpoint.tooltip": "For more information, see https://go-acme.github.io/lego/dns/httpreq/",
@@ -518,7 +518,7 @@
"access.form.webhook_headers.placeholder": "Please enter Webhook request headers",
"access.form.webhook_headers.errmsg.invalid": "Please enter a valid request headers",
"access.form.webhook_headers.tooltip": "Example: Content-Type: application/json User-Agent: certimate",
- "access.form.webhook_data.errmsg.json_invalid": "Please enter a valiod JSON string",
+ "access.form.webhook_data.errmsg.json_invalid": "Please enter a valid JSON string",
"access.form.webhook_data.label": "Webhook data (Optional)",
"access.form.webhook_data.placeholder": "Please enter the default Webhook data",
"access.form.webhook_data.help": "Notes: It can be overrided in the workflows.",
diff --git a/ui/src/i18n/locales/en/nls.workflow.nodes.json b/ui/src/i18n/locales/en/nls.workflow.nodes.json
index d62db857c..958569f65 100644
--- a/ui/src/i18n/locales/en/nls.workflow.nodes.json
+++ b/ui/src/i18n/locales/en/nls.workflow.nodes.json
@@ -92,8 +92,8 @@
"workflow_node.apply.form.validity_lifetime.placeholder": "Please enter certificate's validity lifetime",
"workflow_node.apply.form.validity_lifetime.help": "Notes: Not all CAs support this feature.",
"workflow_node.apply.form.validity_lifetime.tooltip": "It determines the NotAfter field of the certificate in the ACME protocol. If you don't understand this option, just keep it by default.",
- "workflow_node.apply.form.validity_lifetime.units.h": "Hour(s)",
- "workflow_node.apply.form.validity_lifetime.units.d": "Day(s)",
+ "workflow_node.apply.form.validity_lifetime.units.h": "hours",
+ "workflow_node.apply.form.validity_lifetime.units.d": "days",
"workflow_node.apply.form.acme_profile.label": "Certificate ACME profile (Optional)",
"workflow_node.apply.form.acme_profile.placeholder": "Please enter certificate's ACME profile",
"workflow_node.apply.form.acme_profile.help": "Notes: Not all CAs support this feature.",
@@ -1002,7 +1002,10 @@
"workflow_node.deploy.form.webhook_data.placeholder": "Please enter Webhook data",
"workflow_node.deploy.form.webhook_data.help": "Notes: Leave it blank to use the default Webhook data provided by the credential.",
"workflow_node.deploy.form.webhook_data.guide": "Supported variables:
${DOMAIN}: The primary domain of the certificate (CommonName).
${DOMAINS}: The domain list of the certificate (SubjectAltNames).
${CERTIFICATE}: The PEM format content of the certificate file.
${SERVER_CERTIFICATE}: The PEM format content of the server certificate file.
${INTERMEDIA_CERTIFICATE}: The PEM format content of the intermediate CA certificate file.
${PRIVATE_KEY}: The PEM format content of the private key file.
Please visit the credentials page for addtional notes.",
- "workflow_node.deploy.form.webhook_data.errmsg.json_invalid": "Please enter a valiod JSON string",
+ "workflow_node.deploy.form.webhook_data.errmsg.json_invalid": "Please enter a valid JSON string",
+ "workflow_node.deploy.form.webhook_timeout.label": "Webhook timeout (Optional)",
+ "workflow_node.deploy.form.webhook_timeout.placeholder": "Please enter Webhook timeout",
+ "workflow_node.deploy.form.webhook_timeout.unit": "seconds",
"workflow_node.deploy.form.skip_on_last_succeeded.label": "Repeated deployment",
"workflow_node.deploy.form.skip_on_last_succeeded.prefix": "If the last deployment was successful, ",
"workflow_node.deploy.form.skip_on_last_succeeded.suffix": " to re-deploy.",
@@ -1047,7 +1050,10 @@
"workflow_node.notify.form.webhook_data.placeholder": "Please enter Webhook data",
"workflow_node.notify.form.webhook_data.help": "Notes: Leave it blank to use the default Webhook data provided by the credential.",
"workflow_node.notify.form.webhook_data.guide": "Supported variables:
${SUBJECT}: The subject of notification.
${MESSAGE}: The message of notification.
Please visit the credentials page for addtional notes.",
- "workflow_node.notify.form.webhook_data.errmsg.json_invalid": "Please enter a valiod JSON string",
+ "workflow_node.notify.form.webhook_data.errmsg.json_invalid": "Please enter a valid JSON string",
+ "workflow_node.notify.form.webhook_timeout.label": "Webhook timeout (Optional)",
+ "workflow_node.notify.form.webhook_timeout.placeholder": "Please enter Webhook timeout",
+ "workflow_node.notify.form.webhook_timeout.unit": "seconds",
"workflow_node.notify.form.skip_on_all_prev_skipped.label": "Silent behavior",
"workflow_node.notify.form.skip_on_all_prev_skipped.prefix": "If all the previous nodes were skipped, ",
"workflow_node.notify.form.skip_on_all_prev_skipped.suffix": " to notify.",
diff --git a/ui/src/i18n/locales/zh/nls.workflow.nodes.json b/ui/src/i18n/locales/zh/nls.workflow.nodes.json
index c9a30717b..feb992b7f 100644
--- a/ui/src/i18n/locales/zh/nls.workflow.nodes.json
+++ b/ui/src/i18n/locales/zh/nls.workflow.nodes.json
@@ -1001,6 +1001,9 @@
"workflow_node.deploy.form.webhook_data.help": "提示:不填写时,将使用所选部署目标授权的默认 Webhook 回调数据。",
"workflow_node.deploy.form.webhook_data.guide": "支持的变量: