1 | import { RepoFilter } from "@atomist/automation-client/lib/operations/common/repoFilter";
|
2 | import { Maker } from "@atomist/automation-client/lib/util/constructionUtils";
|
3 | import { RepoTargets } from "../machine/RepoTargets";
|
4 | import { ProjectPredicate } from "../mapping/PushTest";
|
5 | import { CommandRegistration } from "./CommandRegistration";
|
6 | /**
|
7 | * Superclass for all registrations that can apply to one or more projects.
|
8 | */
|
9 | export interface ProjectsOperationRegistration<PARAMS> extends CommandRegistration<PARAMS> {
|
10 | /**
|
11 | * Allow customization of the repositories that an inspection targets.
|
12 | */
|
13 | targets?: Maker<RepoTargets>;
|
14 | /**
|
15 | * Additionally, programmatically limit repositories to inspect, by id
|
16 | */
|
17 | repoFilter?: RepoFilter;
|
18 | /**
|
19 | * Programmatically limit repositories to inspect, by a project predicate.
|
20 | * This can look inside project.
|
21 | */
|
22 | projectTest?: ProjectPredicate;
|
23 | /**
|
24 | * Configure the concurrency behavior of running project operations
|
25 | * on many repos
|
26 | */
|
27 | concurrency?: {
|
28 | /** Maximum number of concurrent project operations would be executing */
|
29 | maxConcurrent?: number;
|
30 | /** Indicate if a Job scheduling is required; even for only one project operation */
|
31 | requiresJob?: boolean;
|
32 | };
|
33 | /**
|
34 | * Whether or not this project operation should send messages during processing.
|
35 | *
|
36 | * Defaults to true.
|
37 | */
|
38 | chatty?: boolean;
|
39 | }
|
40 | //# sourceMappingURL=ProjectsOperationRegistration.d.ts.map |
\ | No newline at end of file |