azure-pipelines-logging
Version:
Typed API for logging in Azure Pipelines
80 lines (79 loc) • 2.57 kB
TypeScript
declare type GUID = string;
declare type Datetime = string;
export declare type NoProperties = never;
export declare type Area = keyof COMMANDS & string;
export declare type Action<Ar extends Area> = keyof COMMANDS[Ar] & string;
export declare type Properties<Ar extends Area, Ac extends Action<Ar>> = (COMMANDS[Ar][Ac]);
export declare type PropertyKey<Ar extends Area, Ac extends Action<Ar>> = (keyof Properties<Ar, Ac> & string);
export declare type PropertyValue<Ar extends Area, Ac extends Action<Ar>, Key extends PropertyKey<Ar, Ac>> = (COMMANDS[Ar][Ac][Key]);
export declare type COMMANDS = {
artifact: {
associate: {
artifactname: string;
type: "container" | "filepath" | "versioncontrol" | "gitref" | "tfvclabel";
};
upload: {
artifactname?: string;
containerfolder: string;
};
};
build: {
uploadlog: NoProperties;
updatebuildnumber: NoProperties;
addbuildtag: NoProperties;
};
release: {
updatereleasename: NoProperties;
};
task: {
addattachment: {
type: string;
name: string;
};
complete: {
result: "Succeeded" | "SucceededWithIssues" | "Failed";
};
logdetail: {
id: GUID;
parentid?: GUID;
type?: string;
name?: string;
order?: number;
starttime?: Datetime;
finishtime?: Datetime;
progress?: number;
state?: "Unknown" | "Initialized" | "InProgress" | "Completed";
result?: "Succeeded" | "SucceededWithIssues" | "Failed";
};
logissue: {
type: "error" | "warning";
sourcepath?: string;
linenumber?: number;
columnnumber?: number;
code?: number;
};
prependpath: NoProperties;
setendpoint: {
id: string;
} & ({
field: "authParameter" | "dataParameter";
key: string;
} | {
field: "url";
key?: string;
});
setprogress: {
value: number;
};
setvariable: {
variable: string;
issecret?: boolean;
isoutput?: boolean;
isreadonly?: boolean;
};
uploadfile: NoProperties;
uploadsummary: NoProperties;
};
};
export declare function serializeProperties<Ar extends Area, Ac extends Action<Ar>>(properties: Properties<Ar, Ac>): string;
export {};