Source Connection Testing & Project Discovery
Version: 3.0.0 Date: 2026-05-07
Goal: Allow users to validate credentials and select projects without manual ID entry.
Solution: "Test Connection" workflow backed by a unified POST /discover-projects endpoint that proxies to GitLab, GitHub, Bitbucket, and FTP.
Features:
- "Test connection" button in Source creation step
- Auto-discovery of projects/repositories for Git providers
- Autocomplete dropdown for selecting projects
- Write permission check for FTP (create + delete temp file)
- Error display shows the exact failing URL (401/403/404 debugging)
- "Cancel" button on all workflow steps (source and storage forms)
Implementation Details:
DiscoverSourceParamsprovides a uniform interface across all providers- FTP test uses absolute paths to prevent CWD issues
- Custom error handling in
SourceServiceinjectsconfig.urlfrom Axios interceptor ConfiguratorService/StateInterceptorfixed: "Ready" state only when full config is valid
Files Modified:
src/app.controller.ts- New discovery endpoint logicsrc/protocol/source/source.service.ts- Unified dispatch + error URL enrichmentsrc/protocol/capacities/ftp-capacity/ftp-capacity.service.ts- FTP write permission testui/src/pages/workflows/stepForms/StepInitForm.tsx- Test Connection UIui/src/pages/workflows/stepForms/StepGitForm.tsx- Cancel buttonui/src/pages/workflows/stepForms/StepStorageForm.tsx- Cancel buttonui/src/pages/storages/StorageEditor.tsx- Cancel buttonsrc/core/configuration/configurator/configurator.service.ts- State transition fixsrc/core/configuration/status.interceptor.ts- Guard against premature Ready state