Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
#########################################
##
## HTTP request sample (could be formatted for view by
## indenting or changing dates or other data)
##
#########################################


POST /grouper-ws/servicesRest/v2_5_000/gshTemplateExec HTTP/1.1
Connection: close
Authorization: Basic xxxxxxxxxxxxxxxxx==
User-Agent: Jakarta Commons-HttpClient/3.1
Host: localhost:8092
Content-Length: 181
Content-Type: application/json; charset=UTF-8

{
  "WsRestGshTemplateExecRequest":{
    "gshTemplateActAsSubjectLookup": {
      "subjectSourceId":"ldap",
      "subjectId":"eisbruch@at.internet2.edu"
    },
    "ownerStemLookup":{
      "stemName":"test2"
    },
    "ownerType":"stem",
    "configId":"testGshTemplateConfig",
    "inputs":[
    // new in v4.9.4+  {
        "name":"gsh_input_prefix",and v5.6.1+. arbitrary input based on the template and its needs
    // this is  "value":"TEST"
      }marshaled into a Map which can be converted into a Javabean
    ]
  }
}

"wsInput": {},  
    
    "inputs":[
      {
        "name":"gsh_input_prefix",
        "value":"TEST"
      }
    ]
  }
}


#########################################
##
## HTTP response sample (could be formatted for view by
## indenting or changing dates or other data)
##
#########################################


HTTP/1.1 200
Set-Cookie: JSESSIONID=1197432C8BE84B39F70438D3EB93E014;path=/grouper-ws/;HttpOnly
X-Grouper-resultCode: SUCCESS
X-Grouper-success: T
X-Grouper-resultCode2: NONE
Content-Type: application/json;charset=UTF-8
Content-Length: 4699
Date: Sun, 28 Feb 2021 02:30:15 GMT
Connection: close
Server: Apache TomEE

{
  "WsGshTemplateExecResult":{
    "gshOutputLines":[
    ]
    ,
    
    // wsOutput is new in v4.9.4+ and v5.6.1+. arbitrary output based 
    // on the template and its needs (assign a Map or Javabean)
    "wsOutput": {}, 
    
    "gshScriptOutput":"groovy:001> import edu.internet2.middleware.grouper.app.gsh.template.*;\ngroovy:002> import edu.internet2.middleware.grouper.util.*;\ngroovy:003> GshTemplateOutput gsh_builtin_gshTemplateOutput = GshTemplateOutput.retrieveGshTemplateOutput(); \n===> edu.internet2.middleware.grouper.app.gsh.template.GshTemplateOutput@4c1144a4\ngroovy:004> GshTemplateRuntime gsh_builtin_gshTemplateRuntime = GshTemplateRuntime.retrieveGshTemplateRuntime(); \n===> edu.internet2.middleware.grouper.app.gsh.template.GshTemplateRuntime@3a77335d\ngroovy:005> GrouperSession gsh_builtin_grouperSession = gsh_builtin_gshTemplateRuntime.getGrouperSession();\n===> 51b76ee1b7164d6ebdf57322c9ffca62,'GrouperSystem','application'\ngroovy:006> Subject gsh_builtin_subject = gsh_builtin_gshTemplateRuntime.getCurrentSubject();\n===> Subject id: GrouperSystem, sourceId: g:isa, name: GrouperSysAdmin\ngroovy:007> String gsh_builtin_subjectId = \"GrouperSystem\";\n===> GrouperSystem\ngroovy:008> String gsh_builtin_ownerStemName = \"test2\";\n===> test2\ngroovy:009> String gsh_input_prefix = \"TEST\";\n===> TEST\ngroovy:010> String prefixLower = gsh_input_prefix.toLowerCase();\n===> test\ngroovy:011> Group excludeAdHocGroup = new GroupSave(gsh_builtin_grouperSession).assignName(\"penn:isc:ait:apps:zoom:service:ref:excludeAdHoc:\" + prefixLower + \"AdhocExcludeFromZoom\").assignCreateParentStemsIfNotExist(true).save();\n===> Group[name=penn:isc:ait:apps:zoom:service:ref:excludeAdHoc:testAdhocExcludeFromZoom,uuid=7dd3350c12f04a3bb8243cf2952f5826]\ngroovy:012> Group excludeLoadedGroup = new GroupSave(gsh_builtin_grouperSession).assignName(\"penn:isc:ait:apps:zoom:service:ref:loadedGroupsForExclude:\" + prefixLower + \"ExcludeLoaded\").assignCreateParentStemsIfNotExist(true).save();\n===> Group[name=penn:isc:ait:apps:zoom:service:ref:loadedGroupsForExclude:testExcludeLoaded,uuid=0dbc3b5d53504e988a5dbc1f47863cad]\ngroovy:013> Group excludeGroup = new GroupSave(gsh_builtin_grouperSession).assignName(\"penn:isc:ait:apps:zoom:service:ref:excludeFromZoom:\" + prefixLower + \"ExcludeFromZoom\").assignCreateParentStemsIfNotExist(true).save();\n===> Group[name=penn:isc:ait:apps:zoom:service:ref:excludeFromZoom:testExcludeFromZoom,uuid=f8c1eb689c444d989b42d5536ef6bf6c]\ngroovy:014> excludeGroup.addMember(excludeAdHocGroup.toSubject(), false);\n===> false\ngroovy:015> excludeGroup.addMember(excludeLoadedGroup.toSubject(), false);\n===> false\ngroovy:016> Group excludedFromZoom = GroupFinder.findByName(gsh_builtin_grouperSession, \"penn:isc:ait:apps:zoom:service:ref:usersExcludedFromZoom\", true);\n===> Group[name=penn:isc:ait:apps:zoom:service:ref:usersExcludedFromZoom,uuid=b9f14f123ad04eb184219ed20445ff75]\ngroovy:017> excludedFromZoom.addMember(excludeGroup.toSubject(), false);\n===> false\ngroovy:018> Group schoolLspGroup = new GroupSave(gsh_builtin_grouperSession).assignName(\"penn:isc:ait:apps:zoom:security:schoolCenterAdminsAndLsps:zoom\" + gsh_input_prefix + \"Lsps\").assignCreateParentStemsIfNotExist(true).save();\n===> Group[name=penn:isc:ait:apps:zoom:security:schoolCenterAdminsAndLsps:zoomTESTLsps,uuid=cc1ddb8a9c4d44c3b87df054143b3423]\ngroovy:019> Group lsps = GroupFinder.findByName(gsh_builtin_grouperSession, \"penn:isc:ait:apps:zoom:security:zoomSchoolCenterLspsPreCheck\", true);\n===> Group[name=penn:isc:ait:apps:zoom:security:zoomSchoolCenterLspsPreCheck,uuid=5ec969764bbc40e182eb3a0704910815]\ngroovy:020> lsps.addMember(schoolLspGroup.toSubject(), false);\n===> false\ngroovy:021> Group schoolAdminGroup = new GroupSave(gsh_builtin_grouperSession).assignName(\"penn:isc:ait:apps:zoom:security:schoolCenterAdminsAndLsps:zoom\" + gsh_input_prefix + \"Admins\").assignCreateParentStemsIfNotExist(true).save();\n===> Group[name=penn:isc:ait:apps:zoom:security:schoolCenterAdminsAndLsps:zoomTESTAdmins,uuid=eac0f436ce71489b9dac15928d104302]\ngroovy:022> Group admins = GroupFinder.findByName(gsh_builtin_grouperSession, \"penn:isc:ait:apps:zoom:security:zoomSchoolCenterAdminsPreCheck\", true);\n===> Group[name=penn:isc:ait:apps:zoom:security:zoomSchoolCenterAdminsPreCheck,uuid=d1144fce2d824db3b3f090c65d7aca80]\ngroovy:023> admins.addMember(schoolAdminGroup.toSubject(), false);\n===> false",
    "gshValidationLines":[
    ]
    ,
    "responseMetadata":{
      "millis":"20197",
      "serverVersion":"2.5.0"
    },
    "resultMetadata":{
      "resultCode":"SUCCESS",
      "resultMessage":"Success for: clientVersion: 2.5.0, configId: testGshTemplateConfig, ownerType: stem , inputs: Array size: 1: [0]: edu.internet2.middleware.grouper.ws.coresoap.WsGshTemplateInput@52f79ba1\n\n, actAsSubject: null, paramNames: \n, params: null",
      "success":"T"
    },
    "transaction":true
  }
}

...