Merge pull request #25132 from benjidotsh/feat/scaffolder-bitbucket-autocomplete

feat(scaffolder): add autocompletion for Bitbucket
This commit is contained in:
Ben Lambert
2024-06-25 11:00:28 +02:00
committed by GitHub
36 changed files with 969 additions and 73 deletions
@@ -9,6 +9,21 @@ import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { TemplateFilter } from '@backstage/plugin-scaffolder-node';
import { TemplateGlobal } from '@backstage/plugin-scaffolder-node';
// @alpha
export type AutocompleteHandler = ({
resource,
token,
context,
}: {
resource: string;
token: string;
context: Record<string, string>;
}) => Promise<{
results: {
title: string;
}[];
}>;
// @alpha
export interface ScaffolderActionsExtensionPoint {
// (undocumented)
@@ -18,6 +33,21 @@ export interface ScaffolderActionsExtensionPoint {
// @alpha
export const scaffolderActionsExtensionPoint: ExtensionPoint<ScaffolderActionsExtensionPoint>;
// @alpha
export interface ScaffolderAutocompleteExtensionPoint {
// (undocumented)
addAutocompleteProvider({
id,
handler,
}: {
id: string;
handler: AutocompleteHandler;
}): void;
}
// @alpha
export const scaffolderAutocompleteExtensionPoint: ExtensionPoint<ScaffolderAutocompleteExtensionPoint>;
// @alpha
export interface ScaffolderTaskBrokerExtensionPoint {
// (undocumented)
+38
View File
@@ -79,3 +79,41 @@ export const scaffolderTemplatingExtensionPoint =
createExtensionPoint<ScaffolderTemplatingExtensionPoint>({
id: 'scaffolder.templating',
});
/**
* Autocomplete handler for the scaffolder.
* @alpha
*/
export type AutocompleteHandler = ({
resource,
token,
context,
}: {
resource: string;
token: string;
context: Record<string, string>;
}) => Promise<{ results: { title: string }[] }>;
/**
* Extension point for adding autocomplete handler providers
* @alpha
*/
export interface ScaffolderAutocompleteExtensionPoint {
addAutocompleteProvider({
id,
handler,
}: {
id: string;
handler: AutocompleteHandler;
}): void;
}
/**
* Extension point for adding template filters and globals.
*
* @alpha
*/
export const scaffolderAutocompleteExtensionPoint =
createExtensionPoint<ScaffolderAutocompleteExtensionPoint>({
id: 'scaffolder.autocomplete',
});