@backstage/integration
Version:
Helpers for managing integrations towards external systems
33 lines (30 loc) • 928 B
JavaScript
import { basicIntegrations, defaultScmResolveUrl } from '../helpers.esm.js';
import { readHarnessConfig } from './config.esm.js';
import { getHarnessEditContentsUrl } from './core.esm.js';
class HarnessIntegration {
constructor(config) {
this.config = config;
}
static factory = ({ config }) => {
const configs = config.getOptionalConfigArray("integrations.harness") ?? [];
const harnessConfigs = configs.map((c) => readHarnessConfig(c));
return basicIntegrations(
harnessConfigs.map((c) => new HarnessIntegration(c)),
(harness) => harness.config.host
);
};
get type() {
return "harness";
}
get title() {
return this.config.host;
}
resolveUrl(options) {
return defaultScmResolveUrl(options);
}
resolveEditUrl(url) {
return getHarnessEditContentsUrl(this.config, url);
}
}
export { HarnessIntegration };
//# sourceMappingURL=HarnessIntegration.esm.js.map