import { IVssRestClientOptions } from "../Common/Context"; import { RestClientBase } from "../Common/RestClientBase"; import * as Alert from "../Alert/Alert"; import * as WebApi from "../WebApi/WebApi"; export declare class AlertRestClient extends RestClientBase { constructor(options: IVssRestClientOptions); /** * Get an alert. * * @param project - Project ID or project name * @param alertId - ID of alert to retrieve * @param repository - Name or id of a repository that alert is part of * @param ref - * @param expand - Expand attributes of a secret alert. Possible values are \`None\` and \`ValidationFingerprint\`. Defaults to \`None\`. Be aware that if \`expand\` is set to \`ValidationFingerprint\`, the response may contain the secret in its unencrypted form. Please exercise caution when using this data. */ getAlert(project: string, alertId: number, repository: string, ref?: string, expand?: Alert.ExpandOption): Promise; /** * Get alerts for a repository * * @param project - Project ID or project name * @param repository - The name or ID of the repository * @param top - The maximum number of alerts to return * @param orderBy - Must be "id" "firstSeen" "lastSeen" "fixedOn" or "severity" Defaults to "id" * @param criteria - Options to limit the alerts returned * @param expand - * @param continuationToken - If there are more alerts than can be returned, a continuation token is placed in the "x-ms-continuationtoken" header. Use that token here to get the next page of alerts */ getAlerts(project: string, repository: string, top?: number, orderBy?: string, criteria?: Alert.SearchCriteria, expand?: Alert.AlertListExpandOption, continuationToken?: string): Promise>; /** * Get an alert. * * @param project - Project ID or project name * @param alertId - ID of alert to retrieve * @param repository - Name or id of a repository that alert is part of * @param ref - * @param expand - Expand attributes of a secret alert. Possible values are \`None\` and \`ValidationFingerprint\`. Defaults to \`None\`. Be aware that if \`expand\` is set to \`ValidationFingerprint\`, the response may contain the secret in its unencrypted form. Please exercise caution when using this data. */ getAlertSarif(project: string, alertId: number, repository: string, ref?: string, expand?: Alert.ExpandOption): Promise; /** * Update the status of an alert * * @param stateUpdate - The new status of the alert * @param project - Project ID or project name * @param alertId - The ID of the alert * @param repository - The name or ID of the repository */ updateAlert(stateUpdate: Alert.AlertStateUpdate, project: string, alertId: number, repository: string): Promise; /** * Get alerts by alert IDs Currently supports fetching secret alerts only. * * @param request - Request containing alert IDs and optional alert type filter * @param project - Project ID or project name * @param repository - The name or ID of the repository */ getAlertsByIds(request: Alert.AlertBatchRequest, project: string, repository: string): Promise; /** * Returns the branches for which analysis results were submitted. * * @param project - Project ID or project name * @param repository - * @param alertType - The type of alert: Dependency Scanning (1), Secret (2), Code QL (3), etc. * @param continuationToken - A string variable that represents the branch name and is used to fetch branches that follow it in alphabetical order. * @param branchNameContains - A string variable used to fetch branches that contain this string anywhere in the branch name, case insensitive. * @param top - An int variable used to return the top k branches that satisfy the search criteria. * @param includePullRequestBranches - A bool variable indicating whether or not to include pull request branches. */ getBranches(project: string, repository: string, alertType: Alert.AlertType, continuationToken?: string, branchNameContains?: string, top?: number, includePullRequestBranches?: boolean): Promise; /** * @param project - Project ID or project name * @param repository - * @param alertType - */ getUxFilters(project: string, repository: string, alertType: Alert.AlertType): Promise; /** * Get instances of an alert on a branch specified with \@ref. If \@ref is not provided, return instances of an alert on default branch(if the alert exist in default branch) or latest affected branch. * * @param project - Project ID or project name * @param alertId - ID of alert to retrieve * @param repository - Name or id of a repository that alert is part of * @param ref - */ getAlertInstances(project: string, alertId: number, repository: string, ref?: string): Promise; /** * Create legal review. This creates the legal review associated with the alert. It include the review work item url. * * @param project - Project ID or project name * @param repository - Name or id of a repository for the legal alert * @param alertId - Advance Security alert id of the legal alert to get the legal review * @param ref - */ createLegalReview(project: string, repository: string, alertId: number, ref?: string): Promise; /** * Update alert metadata associations. * * @param alertsMetadata - A list of metadata to associate with alerts. * @param project - Project ID or project name * @param repository - The name or ID of the repository. */ updateAlertsMetadata(alertsMetadata: Alert.AlertMetadata[], project: string, repository: string): Promise; /** * Get an alert metadata. * * @param project - Project ID or project name * @param alertId - ID of alert to retrieve * @param repository - Name or id of a repository that alert is part of */ getAlertMetadata(project: string, alertId: number, repository: string): Promise; /** * Get alerts metadata. * * @param alertMetadataBatchRequest - * @param project - Project ID or project name * @param repository - Name or id of a repository that alert is part of */ getAlertMetadataBatch(alertMetadataBatchRequest: Alert.AlertMetadataBatchRequest, project: string, repository: string): Promise; /** * Get alerts by their IDs at the organization level. Only retruns alerts that the user has permission to view. Only returns alerts of sku plans that are enabled. * * @param alertIds - List of alert IDs to retrieve */ getOrgLevelAlertsByIds(alertIds: number[]): Promise; /** * Upload a Sarif containing security alerts * * @param content - Content to upload * @param project - Project ID or project name * @param repository - The name or ID of a repository * @param notificationFlag - Header to signal that this is a progress notification */ uploadSarif(content: string, project: string, repository: string, notificationFlag?: String): Promise; /** * Get the status of the Sarif processing job * * @param sarifId - Sarif ID returned when the Sarif was uploaded */ getSarif(sarifId: number): Promise; /** * Upload a Sarif file at the organization level * * @param content - Content to upload */ uploadOrgSarif(content: string): Promise; /** * Get the validity details for an alert. * * @param project - Project ID or project name * @param repository - The name or ID of a repository * @param alertId - The ID of the alert */ getValidityData(project: string, repository: string, alertId: number): Promise; /** * Initiate the validation process for a given alert * * @param project - Project ID or project name * @param repository - The name or ID of a repository * @param alertId - The ID of the alert */ initiateValidation(project: string, repository: string, alertId: number): Promise; }