@backstage/integration
Version:
Helpers for managing integrations towards external systems
49 lines (45 loc) • 1.24 kB
JavaScript
;
var helpers = require('../helpers.cjs.js');
var config = require('./config.cjs.js');
class BitbucketServerIntegration {
constructor(integrationConfig) {
this.integrationConfig = integrationConfig;
}
static factory = ({
config: config$1
}) => {
const configs = config.readBitbucketServerIntegrationConfigs(
config$1.getOptionalConfigArray("integrations.bitbucketServer") ?? []
);
return helpers.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 = helpers.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;
}
}
exports.BitbucketServerIntegration = BitbucketServerIntegration;
//# sourceMappingURL=BitbucketServerIntegration.cjs.js.map