UNPKG

@backstage/integration

Version:

Helpers for managing integrations towards external systems

47 lines (44 loc) 1.23 kB
import { basicIntegrations, defaultScmResolveUrl } from '../helpers.esm.js'; import { readBitbucketServerIntegrationConfigs } from './config.esm.js'; class BitbucketServerIntegration { constructor(integrationConfig) { this.integrationConfig = integrationConfig; } static factory = ({ config }) => { const configs = readBitbucketServerIntegrationConfigs( config.getOptionalConfigArray("integrations.bitbucketServer") ?? [] ); return basicIntegrations( configs.map((c) => new BitbucketServerIntegration(c)), (i) => i.config.host ); }; get type() { return "bitbucketServer"; } get title() { return this.integrationConfig.host; } get config() { return this.integrationConfig; } resolveUrl(options) { const resolved = defaultScmResolveUrl(options); if (options.lineNumber) { const url = new URL(resolved); url.hash = options.lineNumber.toString(); return url.toString(); } return resolved; } resolveEditUrl(url) { if (url.includes("?")) { return url.substring(0, url.indexOf("?")); } return url; } } export { BitbucketServerIntegration }; //# sourceMappingURL=BitbucketServerIntegration.esm.js.map