diff --git a/app/scripts/modules/core/src/pipeline/config/triggers/artifacts/bitbucket/BitbucketArtifactEditor.tsx b/app/scripts/modules/core/src/pipeline/config/triggers/artifacts/bitbucket/BitbucketArtifactEditor.tsx index 6e69c48ab36..15e0508c1f1 100644 --- a/app/scripts/modules/core/src/pipeline/config/triggers/artifacts/bitbucket/BitbucketArtifactEditor.tsx +++ b/app/scripts/modules/core/src/pipeline/config/triggers/artifacts/bitbucket/BitbucketArtifactEditor.tsx @@ -42,14 +42,22 @@ export const BitbucketDefault: IArtifactKindConfig = { } private onReferenceChanged = (reference: string) => { - const pathRegex = new RegExp('/1.0/repositories/[^/]*/[^/]*/raw/[^/]*/(.*)$'); - const results = pathRegex.exec(reference); + const bitbucketCloudRegex = new RegExp('/1.0/repositories/[^/]*/[^/]*/raw/[^/]*/(.*)$'); + const bitbucketServerRegex = new RegExp('/projects/[^/]*/repos/[^/]*/raw/([^?]*)'); + + const clonedArtifact = cloneDeep(this.props.artifact); + clonedArtifact.reference = reference; + + let results; + results = bitbucketCloudRegex.exec(reference); + if (results === null) { + results = bitbucketServerRegex.exec(reference); + } + if (results !== null) { - const clonedArtifact = cloneDeep(this.props.artifact); clonedArtifact.name = decodeURIComponent(results[1]); - clonedArtifact.reference = reference; - this.props.onChange(clonedArtifact); } + this.props.onChange(clonedArtifact); }; public render() {