Quantcast
Channel: Active questions tagged atlassian-plugin-sdk - Stack Overflow
Viewing all articles
Browse latest Browse all 279

Make sure that logged in user making use of REST endpoint is part of jira-users

$
0
0

I am using some code for a REST endpoint and I want to make sure that the only users who are allowed to execute this REST endpoint are logged in and are also part of the jira-users group. I am using the following code below and more specifically the line httpMethod: "GET", groups: ["jira-users"]) to ensure that the logged in user is part of the group jira-users, is this correct or should I do it another way?

import groovy.json.JsonBuilderimport groovy.transform.BaseScriptimport com.atlassian.jira.issue.Issue;import javax.ws.rs.core.Responseimport org.apache.log4j.Loggerimport groovy.transform.BaseScriptimport com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegateimport javax.ws.rs.core.MultivaluedMapimport com.atlassian.jira.component.ComponentAccessorimport com.onresolve.scriptrunner.runner.ScriptRunnerImplimport com.atlassian.sal.api.ApplicationPropertiesimport com.atlassian.sal.api.UrlModeimport javax.ws.rs.core.Responseimport Helper@BaseScript CustomEndpointDelegate delegatedef log = Logger.getLogger("atlassian-jira.log")def bulkSplitterHashMap= Helper.getBulkSplitterHashMap()int iTracSuperFeatureSplitterIssueTypeID = bulkSplitterHashMap["iTracSuperFeatureSplitterIssueTypeID"] ;int iTracSuperFeatureSplitterProjectID =  bulkSplitterHashMap["iTracSuperFeatureSplitterProjectID"] ;String iTracSuperFeatureSplitterURL =bulkSplitterHashMap["iTracSuperFeatureSplitterURL"];callMounaBulkSplitter(httpMethod: "GET", groups: ["jira-users"]) {  MultivaluedMap queryParams, String body ->  def user = ComponentAccessor.jiraAuthenticationContext?.loggedInUser  def issueId = queryParams.getFirst("issueId") as Long  Issue myissue = ComponentAccessor.getIssueManager().getIssueObject(issueId)  def issueKey = myissue.getKey()  def project = myissue.getProject()  def baseUrl = ScriptRunnerImpl.getOsgiService(ApplicationProperties).getBaseUrl(UrlMode.ABSOLUTE)  def iTracSuperFeatureSplitterURL2 = iTracSuperFeatureSplitterURL.replaceAll(":1:", issueKey)  def iTracSuperFeatureSplitterURL3 = iTracSuperFeatureSplitterURL2.replaceAll(":2:", user.getUsername())  def projectID = project.get("id")  int projectIDInt = projectID as int  if (iTracSuperFeatureSplitterProjectID == projectIDInt && iTracSuperFeatureSplitterIssueTypeID == Long.valueOf(myissue.getIssueTypeId())) {    Response.temporaryRedirect(URI.create(iTracSuperFeatureSplitterURL3)).build()  }}

Viewing all articles
Browse latest Browse all 279

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>