Scripting Rest API¶
Like other modules in GeoServer, you can add, update, read, and delete scripts using a restful interface.
Warning
The scripting rest API will not work until you have changed the GeoServer default admin password.
WPS Scripts¶
/scripts/wps[.<format>]
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
List all scripts |
200 |
HTML, XML, JSON |
HTML |
List WPS Scripts¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/wps
/scripts/wps/<script.ext>
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
Get the contents of a script |
200 |
Text |
Text |
PUT |
Add a new script |
200 |
Text |
Text |
PUT |
Update an existing script |
200 |
Text |
Text |
DELETE |
Delete an existing script |
200 |
Get a WPS Script¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/wps/buffer.groovy
Add a WPS Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @buffer.groovy http://localhost:8080/geoserver/rest/scripts/wps/buffer.groovy
Update a WPS Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @buffer.groovy http://localhost:8080/geoserver/rest/scripts/wps/buffer.groovy
Delete a WPS Script¶
curl -u username:password -XDELETE http://localhost:8080/geoserver/rest/scripts/wps/buffer.groovy
Filter Function Scripts¶
/scripts/function[.<format>]
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
List all scripts |
200 |
HTML, XML, JSON |
HTML |
List Function Scripts¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/function
/scripts/function/<script.ext>
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
Get the contents of a script |
200 |
Text |
Text |
PUT |
Add a new script |
200 |
Text |
Text |
PUT |
Update an existing script |
200 |
Text |
Text |
DELETE |
Delete an existing script |
200 |
Get a Function Script¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/function/bufferedCentroid.groovy
Add a Function Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @bufferedCentroid.groovy http://localhost:8080/geoserver/rest/scripts/function/bufferedCentroid.groovy
Update a Function Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @bufferedCentroid.groovy http://localhost:8080/geoserver/rest/scripts/function/bufferedCentroid.groovy
Delete a Function Script¶
curl -u username:password -XDELETE http://localhost:8080/geoserver/rest/scripts/function/bufferedCentroid.groovy
WFS Transaction Scripts¶
/scripts/wfs/tx[.<format>]
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
List all scripts |
200 |
HTML, XML, JSON |
HTML |
List WFSTX Scripts¶
curl -u username:password -XGET -H “Accept: text/json” http://localhost:8080/geoserver/rest/scripts/wfs/tx
/scripts/wfs/tx/<script.ext>
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
Get the contents of a script |
200 |
Text |
Text |
PUT |
Add a new script |
200 |
Text |
Text |
PUT |
Update an existing script |
200 |
Text |
Text |
DELETE |
Delete an existing script |
200 |
Get a WFSTX Script¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/wfs/tx/check.groovy
Add a WFSTX Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @check.groovy http://localhost:8080/geoserver/rest/scripts/wfs/tx/check.groovy
Update a WFSTX Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @check.groovy http://localhost:8080/geoserver/rest/scripts/wfs/tx/check.groovy
Delete a WFSTX Script¶
curl -u username:password -XDELETE http://localhost:8080/geoserver/rest/scripts/wfs/tx/check.groovy
Application Scripts¶
/scripts/apps/[.<format>]
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
List all scripts |
200 |
HTML, XML, JSON |
HTML |
List App¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/apps
/scripts/apps/<name>/main.<ext>
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
Get the contents of a script |
200 |
Text |
Text |
PUT |
Add a new script |
200 |
Text |
Text |
PUT |
Update an existing script |
200 |
Text |
Text |
DELETE |
Delete an existing script |
200 |
Get an App¶
curl -u username:password -XGET -H “Accept: text/xml” http://localhost:8080/geoserver/rest/scripts/apps/buffer/main.groovy
Add a App Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @app_buffer.groovy http://localhost:8080/geoserver/rest/scripts/apps/buffer/main.groovy
Update a App Script¶
curl -u username:password -XPUT -H “Content-type: text/plain” –data-binary @app_buffer.groovy http://localhost:8080/geoserver/rest/scripts/apps/buffer/main.groovy
Delete a Add Script¶
curl -u username:password -XDELETE http://localhost:8080/geoserver/rest/scripts/apps/buffer/main.groovy
Scripting Sessions¶
/scripts/sessions[.<format>]
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
List all scripts |
200 |
JSON |
JSON |
List Scripting Sessions¶
curl -u username:password -XGET -H “Accept: text/json” http://localhost:8080/geoserver/rest/sessions
/scripts/sessions/<language>/<id>
¶
Method |
Action |
Status code |
Formats |
Default Format |
---|---|---|---|---|
GET |
Get the scripting session |
200 |
JSON |
JSON |
POST |
Create a scripting session |
200 |
TEXT |
TExT |
PUT |
Run a script |
200 |
Text |
Text |
Get a Scripting Session¶
curl -u username:password -XGET -H “Accept: text/json” http://localhost:8080/geoserver/rest/sessions/groovy/0
Create a Scripting Session¶
curl -u username:password -XPOST http://localhost:8080/geoserver/rest/sessions/groovy
Run a Script in a Session¶
curl -u username:password -XPUT –data-binary @script.groovy http://localhost:8080/geoserver/rest/sessions/groovy/0