Merge pull request #29202 from 04kash/scaffolder-task-granular-permissions

Scaffolder task granular permissions
This commit is contained in:
Ben Lambert
2025-07-08 12:54:43 +02:00
committed by GitHub
28 changed files with 875 additions and 101 deletions
@@ -18,6 +18,8 @@ export type {
TaskSecrets,
SerializedTask,
SerializedTaskEvent,
TaskFilter,
TaskFilters,
TaskBroker,
TaskBrokerDispatchOptions,
TaskBrokerDispatchResult,
@@ -15,6 +15,7 @@
*/
import { BackstageCredentials } from '@backstage/backend-plugin-api';
import { PermissionCriteria } from '@backstage/plugin-permission-common';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import { JsonObject, Observable } from '@backstage/types';
import { UpdateTaskCheckpointOptions } from '@backstage/plugin-scaffolder-node/alpha';
@@ -105,6 +106,25 @@ export type TaskBrokerDispatchOptions = {
createdBy?: string;
};
/**
* TaskFilter
* @public
*/
export type TaskFilter = {
key: string;
values?: string[];
};
/**
* TaskFilters
* @public
*/
export type TaskFilters =
| { anyOf: TaskFilter[] }
| { allOf: TaskFilter[] }
| { not: TaskFilter }
| TaskFilter;
/**
* Task
*
@@ -183,6 +203,7 @@ export interface TaskBroker {
offset?: number;
};
order?: { order: 'asc' | 'desc'; field: string }[];
permissionFilters?: PermissionCriteria<TaskFilters>;
}): Promise<{ tasks: SerializedTask[]; totalTasks?: number }>;
/**