How to retrieve issue id

Kahanek Ales November 19, 2019

Hi,

I have created a small test app. It contains only one web_panel with a button. I would like to retrieve id of the current issue the panel is displayed within.

Here is my panel source:

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://unpkg.com/@atlaskit/css-reset@2.0.0/dist/bundle.css" media="all">

<script src="https://connect-cdn.atl-paas.net/all.js" async></script>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<!-- Atlassian User Interface (AUI) -->
<link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/5.7.0/css/aui.css" media="all">
<script src="//aui-cdn.atlassian.com/aui-adg/5.7.0/js/aui.js"></script>

<script>
function someTest () {
console.log('Some test')
AP.request({
url: '/rest/api/latest/expression/eval',
type: 'POST',
headers: { 'Accept': 'application/json' },
contentType: 'application/json',
data: {
expression: 'issue.key'
},
success: function (responseText) {
console.log('Eval:', responseText)
},
error: function (responseText) {
console.log('Eval error:', responseText)
}
})
}
</script>

</head>
<body>
<section id="content" class="ac-content">
<div>
<button onclick="someTest()" target="_blank">Test</button>
</div>
</section>
</body>
</html>

But this does not work, the request returns this error:

Object { status: 400, statusText: "Bad Request", responseText: "{\"errorMessages\":[\"Can not deserialize instance of com.atlassian.jira.rest.v2.expression.bean.JiraExpressionEvalRequestBean out of START_ARRAY token\\n at [Source: com.atlassian.plugin.connect.plugin.auth.scope.InputConsumingHttpServletRequest$1@15fc521a; line: 1, column: 1]\"]}", getResponseHeader: getResponseHeader(), getAllResponseHeaders: getAllResponseHeaders() }

The only required body parameter is "expression" according to api-rest-api-2-expression-eval-post, so why it is complaining about the missing context, which BTW I am not able to provide from my panel.

Other requests works fine such as getting current user info:

AP.request({ url: '/rest/api/latest/myself', ... }) // works fine

Am I doing something wrong or is there any better approach to retrieve the current issue id?

Thank you

1 answer

1 accepted

0 votes
Answer accepted
Kahanek Ales November 20, 2019

It seems, that better place to ask this question is the developer forum, so I have created a new post here:

https://community.developer.atlassian.com/t/how-to-retrieve-current-issue-id/33623

Suggest an answer

Log in or Sign up to answer