Hey,
I'm trying to submit an HTML form in JIRA dialog.
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.transform.BaseScript
import javax.ws.rs.core.MediaType
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
@BaseScript CustomEndpointDelegate delegate
showDialog(){ MultivaluedMap queryParams ->
// get a reference to the current page... def issuekey = queryParams.getFirst("issuekey")
def dialog =
"""<section role="dialog" id="sr-dialog" class="aui-layer aui-dialog2 aui-dialog2-medium" aria-hidden="true" data-aui-remove-on-hide="true">
<header class="aui-dialog2-header">
<h2 class="aui-dialog2-header-main">Send comment</h2>
<a class="aui-dialog2-header-close">
<span class="aui-icon aui-icon-small aui-iconfont-close-dialog">Close</span>
</a>
</header>
<div class="aui-dialog2-content">
<p>
<form action="http://localhost:8080/rest/scriptrunner/latest/custom/sendcomment" method="post" id="usrform" class="aui" enctype='application/json'> <fieldset>
<textarea class="textarea" name="comment" id="textarea-id" placeholder="Your comment here..."></textarea>
</fieldset>
<input id='issuekey' type="hidden" name="issuekey" value='"""+issuekey+"""'>
<div class="buttons">
<input class="button submit" type="submit" value="Submit" id="comment-save-button">
</div>
</form>
</p>
</div>
<footer class="aui-dialog2-footer">
<div class="aui-dialog2-footer-actions">
<button id="dialog-close-button" class="aui-button aui-button-link">Close</button>
</div>
<div class="aui-dialog2-footer-hint"></div>
</footer>
</section>
"""
Response.ok().type(MediaType.TEXT_HTML).entity(dialog.toString()).build()
}
The problem is that I get "XSRF check failed" error.
I even tried to just print a log from the custom rest but I it does not print to the logs.
I get this is the log error:
2018-04-04 11:58:54,477 http-nio-8080-exec-4 WARN admin 718x3452x1 jr3nl4 0:0:0:0:0:0:0:1 /rest/scriptrunner/latest/custom/sendcomment [c.a.p.r.c.security.jersey.XsrfResourceFilter] XSRF checks failed for request: http://localhost:8080/rest/scriptrunner/latest/custom/sendcomment , origin: http://localhost:8080 , referrer: http://localhost:8080/projects/STAR/issues/STAR-1
I saw that the solution it submit the form with JQuery but It's not recommended to add <script> tag to inline groovy code
add this to the post header- "X-Atlassian-Token", "nocheck"
Is anybody know a way to add it to the HTML code?
Thanks