API Reference@grafana/runtime › BackendSrv

BackendSrv interface

Used to communicate via http(s) to a remote backend such as the Grafana backend, a datasource etc. The BackendSrv is using the Fetch API under the hood to handle all the communication.

The request function can be used to perform a remote call by specifying a BackendSrvRequest. To make the BackendSrv a bit easier to use we have added a couple of shorthand functions that will use default values executing the request.

Signature

export interface BackendSrv

Import

import { BackendSrv } from '@grafana/runtime';

Remarks

By default Grafana will display an error message alert if the remote call fails. If you want to prevent this from happending you need to catch the error thrown by the BackendSrv and set the showErrorAlert = true on the request options object.

In versions prior to v7.2 you disable the notification alert by setting isHandled on the caught error

Methods

Method Description
datasourceRequest(options) Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request.
delete(url)
get(url, params, requestId)
patch(url, data)
post(url, data)
put(url, data)
request(options)

datasourceRequest method

Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request.

Signature

datasourceRequest(options: BackendSrvRequest): Promise<any>;

Parameters

Parameter Type Description
options BackendSrvRequest

Returns:

Promise<any>

delete method

Signature

delete(url: string): Promise<any>;

Parameters

Parameter Type Description
url string

Returns:

Promise<any>

get method

Signature

get(url: string, params?: any, requestId?: string): Promise<any>;

Parameters

Parameter Type Description
url string
params any
requestId string

Returns:

Promise<any>

patch method

Signature

patch(url: string, data?: any): Promise<any>;

Parameters

Parameter Type Description
url string
data any

Returns:

Promise<any>

post method

Signature

post(url: string, data?: any): Promise<any>;

Parameters

Parameter Type Description
url string
data any

Returns:

Promise<any>

put method

Signature

put(url: string, data?: any): Promise<any>;

Parameters

Parameter Type Description
url string
data any

Returns:

Promise<any>

request method

Signature

request(options: BackendSrvRequest): Promise<any>;

Parameters

Parameter Type Description
options BackendSrvRequest

Returns:

Promise<any>