@roadiehq/backstage-plugin-jira
Version:
68 lines (65 loc) • 1.98 kB
JavaScript
import { createPlugin, createApiFactory, discoveryApiRef, configApiRef, fetchApiRef, createComponentExtension } from '@backstage/core-plugin-api';
import { createCardExtension } from '@backstage/plugin-home-react';
import { jiraApiRef, JiraAPI } from './api/index.esm.js';
const jiraPlugin = createPlugin({
id: "jira",
apis: [
createApiFactory({
api: jiraApiRef,
deps: {
discoveryApi: discoveryApiRef,
configApi: configApiRef,
fetchApi: fetchApiRef
},
factory: ({ discoveryApi, configApi, fetchApi }) => {
return new JiraAPI({
discoveryApi,
configApi,
fetchApi
});
}
})
],
featureFlags: [
{
name: "jira-show-linked-prs"
}
]
});
const EntityJiraOverviewCard = jiraPlugin.provide(
createComponentExtension({
name: "EntityJiraOverviewCard",
component: {
lazy: () => import('./components/JiraOverviewCard/index.esm.js').then((m) => m.JiraOverviewCard)
}
})
);
const EntityJiraActivityStreamCard = jiraPlugin.provide(
createComponentExtension({
name: "EntityJiraActivityStreamCard",
component: {
lazy: () => import('./components/EntityJiraActivityStreamCard/index.esm.js').then(
(m) => m.EntityJiraActivityStreamCard
)
}
})
);
const EntityJiraQueryCard = jiraPlugin.provide(
createComponentExtension({
name: "EntityJiraQueryCard",
component: {
lazy: () => import('./components/EntityJiraQueryCard/index.esm.js').then(
(m) => m.EntityJiraQueryCard
)
}
})
);
const HomePageMyJiraTicketsCard = jiraPlugin.provide(
createCardExtension({
name: "My Jira Tickets",
components: () => import('./components/Home/MyJiraTicketsCard/index.esm.js'),
description: "My Jira tickets Card"
})
);
export { EntityJiraActivityStreamCard, EntityJiraOverviewCard, EntityJiraQueryCard, HomePageMyJiraTicketsCard, jiraPlugin };
//# sourceMappingURL=plugin.esm.js.map