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