@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
40 lines • 1.52 kB
TypeScript
import { RepoFilter } from "@atomist/automation-client/lib/operations/common/repoFilter";
import { Maker } from "@atomist/automation-client/lib/util/constructionUtils";
import { RepoTargets } from "../machine/RepoTargets";
import { ProjectPredicate } from "../mapping/PushTest";
import { CommandRegistration } from "./CommandRegistration";
/**
* Superclass for all registrations that can apply to one or more projects.
*/
export interface ProjectsOperationRegistration<PARAMS> extends CommandRegistration<PARAMS> {
/**
* Allow customization of the repositories that an inspection targets.
*/
targets?: Maker<RepoTargets>;
/**
* Additionally, programmatically limit repositories to inspect, by id
*/
repoFilter?: RepoFilter;
/**
* Programmatically limit repositories to inspect, by a project predicate.
* This can look inside project.
*/
projectTest?: ProjectPredicate;
/**
* Configure the concurrency behavior of running project operations
* on many repos
*/
concurrency?: {
/** Maximum number of concurrent project operations would be executing */
maxConcurrent?: number;
/** Indicate if a Job scheduling is required; even for only one project operation */
requiresJob?: boolean;
};
/**
* Whether or not this project operation should send messages during processing.
*
* Defaults to true.
*/
chatty?: boolean;
}
//# sourceMappingURL=ProjectsOperationRegistration.d.ts.map