Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to obtain {ItemId} in api/2/dashboard/{dashboardId}/items/{itemId}/properties

We are getting the dashbords list in json with "api/2/dashboard/{dashboardId}".

In one of the dash board it has lot of graphs there. Now, is there any way we can try to pull the values of each graph ? 

 

Next, what is  'items' and itemid in the dashboard URL . How can we identify values ? How to  obtain {ItemId} in api/2/dashboard/{dashboardId}/items/{itemId}/properties.

3 answers

There is no possibility to find out the itemid from API. Only way I find the itemid is from source code of page. 

<div class="dashboard-item-frame gadget-container" id="gadget-17972-chrome">

 "17972" is the itemid.

 

I'm not sure when this ID is changed and if it'll stay the same all the time... but at least there is some way how to find it out.

0 votes
Tarun Sapra Community Leader Feb 21, 2017

From the docs-

A dashboard item is similar to a gadget, in that it provides discrete dynamic content that a user can use to customize their dashboard. However, dashboard items use modern rendering technologies like AMD, Soy, LESS, etc. Dashboard items are also able to share web-resources, which greatly improves page load performance by reducing the number of requests and the overall size of data to be transferred on a dashboard load.

Currently, it doesn't seem possible to fetch list of items of dashboard using REST API, similar question here -

https://answers.atlassian.com/questions/39553910

 

In the latest API documentation - https://docs.atlassian.com/jira/REST/server/#api/2/dashboard-list 

There is no method getting dashboard item list, something like - GET /rest/api/2/dashboard/{dashboardId}/items/ 

Hi Tarun,

what data we need to pass in 'itemid' in URL which is under 'dashboard/items'.

Say for example : one of the  dash board has a single Pie Gadget.

Now, what I need to pass a value for an itemid in 'api/2/dashboard/{dashboardId}/items/{itemId}/properties' URL ?

Please provide an answer.

 
Tarun Sapra Community Leader Feb 21, 2017

I will suggest you to create your own REST end point using the script runner plugin or the REST plugin module and use the Java API of the script runner to fetch the details of the dashboard gadgets.

Like babytree likes this

I know this post is super old, but....I believe I found a way to get the dashboard/gadget id's using ScriptRunner.

This script comes from their how to automatically create a Dashboard...

Go to your SR console and add the following script...only thing you'll need to update is the Dashboard ID you want to get the info from

import com.atlassian.jira.bc.JiraServiceContext
import com.atlassian.jira.bc.JiraServiceContextImpl
import com.atlassian.jira.bc.portal.PortalPageService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.portal.PortletConfiguration
import groovy.json.JsonOutput
import groovy.xml.MarkupBuilder

def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
JiraServiceContext sourceUserServiceCtx = new JiraServiceContextImpl(user)
def portalPageService = ComponentAccessor.getComponent(PortalPageService)

//your dashID is equal to your PageID url - the number it provides
def dashId = 19300

def output = portalPageService.getPortletConfigurations(sourceUserServiceCtx, dashId).collect { col ->
col.collect { PortletConfiguration gadget ->
[

//by chance...added this...and it works!
id : gadget.id,
//the script below is directly from SR how to's
row : gadget.row,
column : gadget.row,
color : gadget.color,
openSocialSpecUri: gadget.openSocialSpecUri.getOrNull().toString(),
completeModuleKey: gadget.completeModuleKey.getOrNull().toString(),
userPrefs : gadget.userPrefs,
]
}
}

def prettyOutput = JsonOutput.prettyPrint(JsonOutput.toJson(output))
log.debug(prettyOutput)

def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
builder.pre(prettyOutput)
writer

 When you run the code above, you get:

[
[
{
"id": 24200,
"row": 0,
"column": 0,
"color": "color1",
"openSocialSpecUri": "rest/gadgets/1.0/g/com.atlassian.jira.gadgets:text-gadget/gadgets/text-gadget.xml",
"completeModuleKey": "null",
"userPrefs": {
"isConfigured": "true",
"refresh": "false",
"html": "var gadget = AJS.Gadget({\r\n...\r\n\tview: {\r\n\t\t...\r\n \ttemplate: function (args) {\r\n\t\t\t...\r\n\t\t\tvar gadgetId = this.getPrefs().getModuleId();\r\n\t\t\t...\r\n\t\t}\r\n\t}\r\n...\r\n});",
"title": ""
}
},

Hi Lara, thanks for your answer! Do you know if this would be possible to do without the use of script runner? 

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira Service Management

JSM June Challenge #2: Share how your business teams became ITSM rockstars

For JSM June Challenge #2, share how your non-technical teams like HR, legal, marketing, finance, and beyond started using Jira Service Management! Tell us: Did they ask to start using it or...

318 views 9 7
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you