{"record":{"id":"82b8565f1754b258","repo":"windmill-labs/windmill","slug":"test-connection-not-supported-for-this-trigger-typ","errorCode":null,"errorMessage":"Test connection not supported for this trigger type","messagePattern":"Test connection not supported for this trigger type","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"backend/windmill-trigger/src/handler.rs","lineNumber":176,"sourceCode":"        &self,\n        db: &DB,\n        tx: &mut PgConnection,\n        authed: &ApiAuthed,\n        workspace_id: &str,\n        path: &str,\n        trigger: TriggerData<Self::TriggerConfigRequest>,\n    ) -> Result<()>;\n\n    async fn test_connection(\n        &self,\n        _db: &DB,\n        _authed: &ApiAuthed,\n        _user_db: &UserDB,\n        _workspace_id: &str,\n        _config: Self::TestConnectionConfig,\n    ) -> Result<()> {\n        Err(\n            anyhow::anyhow!(\"Test connection not supported for this trigger type\".to_string(),)\n                .into(),\n        )\n    }\n\n    fn additional_routes(&self) -> axum::Router {\n        axum::Router::new()\n    }\n\n    async fn get_trigger_by_path(\n        &self,\n        tx: &mut PgConnection,\n        workspace_id: &str,\n        path: &str,\n    ) -> Result<Self::Trigger> {\n        let mut fields = vec![\n            \"workspace_id\",\n            \"path\",\n            \"script_path\",","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/backend/windmill-trigger/src/handler.rs#L158-L194","documentation":"Trigger types in Windmill implement a TestConnection trait; types that have no meaningful connectivity probe (e.g. static or schedule-derived triggers) use this default implementation which always returns an error. Calling the test-connection endpoint on such a trigger type always fails with this message.","triggerScenarios":"POSTing to the trigger test-connection endpoint (POST /api/w/{workspace}/triggers/{kind}/.../test_connection) for a trigger kind whose trait impl delegates to this base handler, e.g. websocket or other kinds without an override.","commonSituations":"Users clicking a 'Test connection' button in the UI for trigger types that don't support it; API clients running health-check scripts that assume all trigger kinds support the probe.","solutions":["Don't call test_connection for this trigger kind; verify the trigger is activated and processing events instead","Check the specific trigger type's docs for the correct health-check mechanism","If testing is genuinely needed, implement the test_connection override for that trigger type in windmill-trigger/src/handler.rs"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// consult the trigger type's capabilities before calling:\nconst SUPPORTS_TEST_CONNECTION = new Set([\"http\", \"email\", \"s3\", \"kafka\", \"nats\"]);","typeGuard":null,"tryCatchPattern":"match client.test_connection(ws, trigger_path) {\n    Ok(res) => println!(\"connected: {:?}\", res),\n    Err(e) if e.to_string().contains(\"not supported\") => println!(\"skip: test_connection unsupported for this trigger kind\"),\n    Err(e) => return Err(e),\n}","preventionTips":["Check whether the trigger kind implements test_connection before calling the endpoint","Use trigger activation state/logs as the health signal for unsupported kinds","Treat this specific message as 'unsupported operation', not a real connectivity failure"],"tags":["triggers","api","unsupported-operation"],"backgroundTag":"operation-not-supported","analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}