From bc1c72f992a47a9c263aec175ca820088cf340ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Thu, 7 Dec 2023 09:19:32 +0100 Subject: [PATCH] fix(editor): Allow SSH protocol in git repository URL for environments (#7944) ## Summary Allow SSH protocol in git repository URL for environments ... #### How to test the change: 1. ... ## Issues fixed Include links to Github issue or Community forum post or **Linear ticket**: > Important in order to close automatically and provide context to reviewers https://linear.app/n8n/issue/PAY-1097 ## Review / Merge checklist - [x] PR title and summary are descriptive. **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** ([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md)) - [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up ticket created. - [x] Tests included. > A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. > > *(internal)* You can use Slack commands to trigger [e2e tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227) or [deploy test instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce) or [deploy early access version on Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e). --- packages/editor-ui/src/views/SettingsSourceControl.vue | 2 +- .../editor-ui/src/views/__tests__/SettingsSourceControl.test.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/editor-ui/src/views/SettingsSourceControl.vue b/packages/editor-ui/src/views/SettingsSourceControl.vue index 1307da7952..5e310142bd 100644 --- a/packages/editor-ui/src/views/SettingsSourceControl.vue +++ b/packages/editor-ui/src/views/SettingsSourceControl.vue @@ -130,7 +130,7 @@ const repoUrlValidationRules: Array = [ name: 'MATCH_REGEX', config: { regex: - /^git@(?:\[[0-9a-fA-F:]+\]|(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+)(?::[0-9]+)*:(?:v[0-9]+\/)?[a-zA-Z0-9_.\-\/]+(\.git)?(?:\/[a-zA-Z0-9_.\-\/]+)*$/, + /^(ssh:\/\/)?git@(?:\[[0-9a-fA-F:]+\]|(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+)(?::[0-9]+)*:(?:v[0-9]+\/)?[a-zA-Z0-9_.\-\/]+(\.git)?(?:\/[a-zA-Z0-9_.\-\/]+)*$/, message: locale.baseText('settings.sourceControl.repoUrlInvalid'), }, }, diff --git a/packages/editor-ui/src/views/__tests__/SettingsSourceControl.test.ts b/packages/editor-ui/src/views/__tests__/SettingsSourceControl.test.ts index 9f3d0007c3..163e81c284 100644 --- a/packages/editor-ui/src/views/__tests__/SettingsSourceControl.test.ts +++ b/packages/editor-ui/src/views/__tests__/SettingsSourceControl.test.ts @@ -169,6 +169,7 @@ describe('SettingsSourceControl', () => { ['git@github.enterprise.com:org-name/repo-name', true], ['git@192.168.1.101:2222:user/repo', true], ['git@ssh.dev.azure.com:v3/User/repo/directory', true], + ['ssh://git@mydomain.example:2224/gitolite-admin', true], ['http://github.com/user/repository', false], ['https://github.com/user/repository', false], ])('%s', async (url: string, isValid: boolean) => {