View Source

h1. Get all dashboards in the system

h2. Syntax
Dashboards in the system can be accessed using http GET method through below url:
{code}http://localhost:8810/rest/dashboards{code}
The response is of mime type _application/xml_ and the content is XML representation of all dashboards in the system.

h2. Security
You will need to use http BASIC authentication to login as administrator.

h2. Demo
Below [curl|http://curl.haxx.se/] command demonstrates how to get all dashboards:
{code}curl -u admin:admin http://localhost:8810/rest/dashboards{code}

h1. Access dashboard by id

h2. Syntax
Dashboard can be accessed by id using http GET method through below url:
{code}http://localhost:8810/rest/dashboards/<dashboard id>{code}
The response is of mime type _application/xml_ and the content is XML representation of the dashboard.

h2. Security
You will need to use http BASIC authentication to login as user able to access the dashboard.

h2. Demo
Below [curl|http://curl.haxx.se/] command demonstrates how to get dashboard of id _1_:
{code}curl -u admin:admin http://localhost:8810/rest/dashboards/1{code}

h1. Update dashboard

h2. Syntax
Dashboard can be updated by posting xml representation of the dashboard to below url:
{code}http://localhost:8810/rest/dashboards{code}
Normally you do not need to create the XML from scratch: you may retrieve XML representation of the dashboard using http GET method, modify certain parts of the XML and post back to above url.
The response is of mime type _text/plain_ and the content is string representation of the dashboard id being updated.

h2. Security
You will need to use http BASIC authentication to login as user able to access the dashboard.

h2. Demo
We will use [curl|http://curl.haxx.se/] to demonstrate how to modify description of dashboard _project1_ for user with id _5_:
# Get id of dashboard _project1_ with [id service|retrieve object identifier]
{code}curl http://localhost/rest/ids?dashboard_fqn=5.project1{code}
Here you need to query with dashboard fqn (fully qualified name) which is of form <user id>.<dashboard name>. Assume returned id is _1_.
# Retrieve xml representation of group _project1_ into a temp file using below command:
{code}curl -u admin:admin http://localhost:8810/rest/dashboards/1 > tempfile.xml{code}
# Edit _tempfile.xml_ and change _description_ element to desired value (or add the _description_ element if it does not already exist).
# Post back modified content using below command:
{code}curl -X POST -u admin:admin -d@tempfile.xml http://localhost:8810/rest/dashboards{code}

h1. Create dashboard

h2. Syntax
Dashboard can be created by posting XML representation of the dashboard to below url:
{code}http://localhost:8810/rest/dashboards{code}
Please note that the posted XML should NOT contain the _id_ element; otherwise, QuickBuild will treat the post as an updating to the dashboard with that id.
Normally you do not need to create the XML from scratch: you may retrieve XML representation of a templating dashboard using http GET method, remove the _id_ element, modify certain parts and post back to above url.
The response is of mime type _text/plain_ and the content is string representation of the newly created dashboard id.

h2. Security
You will need to use http BASIC authentication to login as administrator or the user owning the dashboard.

h2. Demo
We will use [curl|http://curl.haxx.se/] to demonstrate how to create a new dashboard _project1_ by copying the existing dashboard _project2_ under user with id _5_.
# Get id of dashboard _project1_ with [id service|retrieve object identifier]
{code}curl http://localhost/rest/ids?dashboard_fqn=5.project1{code}
Assume returned id is _1_.
# Retrieve xml representation of dashboard _project1_ into a temp file using below command:
{code}curl -u admin:admin http://localhost:8810/rest/dashboards/1 > tempfile.xml{code}
# Edit _tempfile.xml_, remove the _id_ element, and change the _name_ element to be _project2_
# Post back modified content using below command:
{code}curl -X POST -u admin:admin -d@tempfile.xml http://localhost:8810/rest/dashboards{code}

h1. Delete dashboard

h2. Syntax
Dashboard can be deleted using http DELETE method through below url:
{code}http://localhost:8810/rest/dashboards/<dashboard id>{code}
Here _<dashboard id>_ stands for id of the dashboard to be deleted.

h2. Security
You will need to use http BASIC authentication to login as administrator or the user owning the dashboard.

h2. Demo
Below [curl|http://curl.haxx.se/] command demonstrates how to delete the dashboard with id _2_:
{code}curl -X DELETE -u admin:admin http://localhost:8810/rest/dashboards/2{code}