Page tree
Skip to end of metadata
Go to start of metadata

REST Endpoints的功能,主要是额外增加JIRA的REST接口,提供额外的服务向其它程序提供业务数据,或者接收相关请求进行业务处理,比如

  • 用于仪表板小工具。
  • 从外部系统接收通知。
  • 填补官方REST API的空白。
  • 允许所有xhr代理到其他系统。


可以进入到菜单,点击:“Create Rest Endpoint”来创建一个新的

进入后,可以直接进行脚本编写,如下

Note主要用于识别Endpoints,f起一个名称。

Inline scrption需要填写相关脚本,以便提供服务,在这里脚本的编写是需要有一定的脚本格式的

import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.json.JsonBuilder
import groovy.transform.BaseScript
import javax.ws.rs.core.Response

//用于标识当前是一个REST接口,可将脚本加入到JIRA 的REST体系中
@BaseScript CustomEndpointDelegate delegate
//projectList是访问的接口名称,具体访问的路径会是以下格式
//{baseURL}/rest/scriptrunner/latest/custom/projectList
//并且请求是通过GET方法来进行获得,可以有:GET, POST, PUT, DELETE
//jira-administrators,只有在指定组的中用户才能够调用
projectList(httpMethod: "GET",groups: ["jira-administrators"] ) { 
    def map1=['value':'hktx','label':'label','html':'html1']
    def map2=['value':'hktx1','label':'label2','html':'html2']
    def rt = [map1,map2]
    def item =[]
    item = [items :rt]
    //返回一根据内容组织的JSON数据串
    return Response.ok(new JsonBuilder(item).toString()).build()
}

我们保存之后,可以通过路径来访问我们的REST服务提供的数据信息

访问:{baseURL}/rest/scriptrunner/latest/custom/projectList,将获得以下数据

我们每调用一次,系统会进行一次记录,以便了解调用的次数和频一度,


  • No labels