Agent Notebooks Scheduler (#6786)

* added agent notebooks, notebook history view and view materialized notebook button

* Got a basic UI running for viewing notebook history

* made some changes to make UI look good

* Added new notebook dialog

* Added new notebook Dialog

* Added create notebook dialog

* Added edit and delete notebook job

* Added some notebook history features

* Added new notebook job icons, fixed a minor bug
in openmaterializednotebookAPI and added fixed the
schedule Picker API.

* Fixed Bugs in Notebook Grid expansion

* Fixed Notebook table highlighting and
grid generation is done using code.

* fixed some UI bugs

* Added changes to reflect sqltoolservice api

* Fixed some localize keys

* Made changes in the PR and added
ability to open Template Notebooks from
notebook history view.

* Added pin and renaming to notebook history

* made some library calls async

* fixed an import bug caused by merging from master

* Validation in NotebookJobDialog

* Added entry points for scheduling notebooks
on file explorer and notebook editor

* Handled no active connections and
a small bug in collapsing grid

* fix a bug in scheduling notebook from explorer
and toolbar

* setting up agent providers from connection now

* changed modals

* Reupload edited template

* Add dialog info, solved an edit bug and localized
UI strings.

* Bug fixes in UI, notebook renaming and
editing template on fly.

* fixed a bug that failed editing notebook jobs from notebook jobs table

* Fixed a cyclic dependency, made strings const and
some other changes in the PR

* Made some cyclic dependency and some fixes from PR

* made some changes mentioned in the PR

* Changed storage database health text

* Changed the sqltoolservice version to the point to the latest build.
This commit is contained in:
Aasim Khan
2019-09-04 15:12:35 -07:00
committed by GitHub
parent 0a393400b2
commit fbb2accacb
48 changed files with 3948 additions and 149 deletions

68
src/sql/azdata.d.ts vendored
View File

@@ -1387,6 +1387,20 @@ declare module 'azdata' {
alerts: AgentAlertInfo[];
}
export interface AgentNotebookInfo extends AgentJobInfo {
templateId: number;
targetDatabase: string;
lastRunNotebookError: string;
executeDatabase: string;
}
export interface AgentNotebookMaterializedInfo {
materializedId: number;
targetDatabase: string;
materializedName: string;
favorite: boolean;
}
export interface AgentJobScheduleInfo {
id: number;
name: string;
@@ -1487,6 +1501,14 @@ declare module 'azdata' {
steps: AgentJobStep[];
}
export interface AgentNotebookHistoryInfo extends AgentJobHistoryInfo {
materializedNotebookId: number;
materializedNotebookName: string;
materializedNotebookPin: boolean;
materializedNotebookErrorInfo: string;
materializedNotebookDeleted: boolean;
}
export interface AgentProxyInfo {
id: number;
accountName: string;
@@ -1577,6 +1599,39 @@ declare module 'azdata' {
categories: AgentJobCategory[];
}
export interface AgentNotebooksResult extends ResultStatus {
notebooks: AgentNotebookInfo[];
}
export interface AgentJobHistoryResult extends ResultStatus {
histories: AgentJobHistoryInfo[];
schedules: AgentJobScheduleInfo[];
alerts: AgentAlertInfo[];
steps: AgentJobStepInfo[];
}
export interface AgentNotebookHistoryResult extends ResultStatus {
histories: AgentNotebookHistoryInfo[];
schedules: AgentJobScheduleInfo[];
steps: AgentJobStepInfo[];
}
export interface AgentNotebookMaterializedResult extends ResultStatus {
notebookMaterialized: string;
}
export interface AgentNotebookTemplateResult extends ResultStatus {
notebookTemplate: string;
}
export interface CreateAgentNotebookResult extends ResultStatus {
notebook: AgentNotebookInfo;
}
export interface UpdateAgentNotebookResult extends ResultStatus {
notebook: AgentNotebookInfo;
}
export interface CreateAgentJobStepResult extends ResultStatus {
step: AgentJobStepInfo;
}
@@ -1651,6 +1706,18 @@ declare module 'azdata' {
deleteJob(ownerUri: string, jobInfo: AgentJobInfo): Thenable<ResultStatus>;
getJobDefaults(ownerUri: string): Thenable<AgentJobDefaultsResult>;
// Notebook management methods
getNotebooks(ownerUri: string): Thenable<AgentNotebooksResult>;
getNotebookHistory(ownerUri: string, jobId: string, jobName: string, targetDatabase: string): Thenable<AgentNotebookHistoryResult>;
getMaterializedNotebook(ownerUri: string, targetDatabase: string, notebookMaterializedId: number): Thenable<AgentNotebookMaterializedResult>;
getTemplateNotebook(ownerUri: string, targetDatabase: string, jobId: string): Thenable<AgentNotebookTemplateResult>;
createNotebook(ownerUri: string, notebook: AgentNotebookInfo, templateFilePath: string): Thenable<CreateAgentNotebookResult>;
deleteNotebook(ownerUri: string, notebook: AgentNotebookInfo): Thenable<ResultStatus>;
updateNotebook(ownerUri: string, originialNotebookName: string, notebook: AgentNotebookInfo, templateFilePath: string): Thenable<UpdateAgentNotebookResult>;
updateNotebookMaterializedName(ownerUri: string, agentNotebookHistory: AgentNotebookHistoryInfo, targetDatabase: string, name: string): Thenable<ResultStatus>;
updateNotebookMaterializedPin(ownerUri: string, agentNotebookHistory: AgentNotebookHistoryInfo, targetDatabase: string, pin: boolean): Thenable<ResultStatus>;
deleteMaterializedNotebook(ownerUri: string, agentNotebookHistory: AgentNotebookHistoryInfo, targetDatabase: string): Thenable<ResultStatus>;
// Job Step management methods
createJobStep(ownerUri: string, stepInfo: AgentJobStepInfo): Thenable<CreateAgentJobStepResult>;
updateJobStep(ownerUri: string, originalJobStepName: string, stepInfo: AgentJobStepInfo): Thenable<UpdateAgentJobStepResult>;
@@ -3006,6 +3073,7 @@ declare module 'azdata' {
editable?: boolean;
fireOnTextChange?: boolean;
ariaLabel?: string;
required?: boolean;
}
export interface DeclarativeTableColumn {