...
...
...
Project Properties can be accessed and modified through this API using three services: GET,PUT, and PATCH. These three services allow for the retrieval, complete update, and partial update of Project Properties.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/project/{projectid} |
Table of Contents | ||
---|---|---|
|
Each function returns a JSON of Project Property objects. The Project Property object has these attributes:
...
Project Properties can be accessed and modified through this API using three services: GET,PUT, and PATCH. These three services allow for the retrieval, complete update, and partial update of Project Properties.
Include Page | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
GET
There is one implementation which will find a list of Project Properties associated with the URL specified Project and return the JSON representation of the list of Project Properties.
...
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid}/property |
...
Request
Parameter | Type | Required | Description |
---|---|---|---|
projectid | URL | Yes | This is a URL parameter for the Project Id which is searched to find and return the Properties associated with it. |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description |
---|---|
200 | Project was found and it's its properties returned |
400 | Bad request |
401Unauthorized | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project was not found with the specified project id |
500 | Unexpected internal server error |
Example
If we had a Project in our database with an Id of 11101 and
the following properties.we run a GET request at the following URL: http://host:port/flexdeploy/rest/v1/project/11101
The GET request would return the following JSON Project Property list
Code Block | ||||||
---|---|---|---|---|---|---|
| {
| |||||
[ { "propertyName": "Approved Check Script",FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "MyCheckScriptjava", }, "credentialId": { "propertyName": "ServiceNow Password", null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } "propertyValue": "Password" }, { { "propertyName": "ServiceNow PortFD_PARTIAL_FILE_INCLUDES", "propertyValue": "MyPortsql" }, { "propertyNamecredentialId": "ServiceNow URL"null, "propertyValue "isExpression": false, "MyURLoverrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { { "propertyName": "ServiceNow User Name","FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "MyUserNametrue", } |
When we run a GET request at the following URL
http://host:port/flexdeploy/rest/project/11101
The GET request would return the following JSON Project Property list
Code Block | ||||
---|---|---|---|---|
| ||||
[ "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { { "propertyName": "Approved Check Script",FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "propertyValueisExpression": false, "MyCheckScriptoverrideDetailsPojo": null }, { { "propertyName": "ServiceNow PasswordFDJDBC_SQL_EXTENSIONS", "propertyValue": "*****" }seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", { "credentialId": null, "isExpression": false, "propertyNameoverrideDetailsPojo": "ServiceNow Port", null "propertyValue": "MyPort" }, { { "propertyName": "ServiceNow URLFDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "MyURL/sql", }, "credentialId": { null, "isExpression": false, "overrideDetailsPojo": null " }, { "propertyName": "ServiceNow User NameJDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": "propertyValue49384, "isExpression": false, "MyUserNameoverrideDetailsPojo": null } ] |
...
PUT
This PUT service will update the propertyValue of each property in the project associated with the Project id specified in the URL.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid} |
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"propertyName": "Approved Check Script",
"propertyValue": "Put1"
},
{
"propertyName": "ServiceNow Password",
"propertyValue": "Put2"
},
{
"propertyName": "ServiceNow Port",
"propertyValue": "Put3"
},
{
"propertyName": "ServiceNow URL",
"propertyValue": "Put4"
},
{
"propertyName": "ServiceNow User Name",
"propertyValue": "Put5"
}
] |
Parameters
This is the name of the type of the single property associated with it. (Can be many)
Note: unlisted properties will default to null.
Response Codes
Example
If we had an Project in our database with a Project Id of 25262 and the following Properties
...
/property |
Request
Attributes | Type | Required | Description |
---|---|---|---|
projectid | URL | Yes | This is the Id of the Project which will have it's Properties updated. |
properties | List<PropertyValuePojo> | Yes | This is the list of properties being set for the project. Attributes for a property object are described below |
PropertyValuePojo
Attributes | Type | Required | Description |
---|---|---|---|
propertyName | String | Yes | This is the key name of the property |
propertyValue | String | No | This is the value that the property with the associated propertyName will be updated to |
credentialId | Long | No | The id of the credential associated to this property. Applicable only for encrypted properties |
isExpression | Boolean | No | Is the propertyValue a groovy expression? @Since 5.3.0.1 |
overrideDetails | OverrideDetailsPojo | No* | If you want to update an overridden property, you need to set this. If not it's null.*only required if updating overridden properties. |
OverrideDetailsPojo
Attributes | Type | Required | Description |
---|---|---|---|
environmentId | Long | No* | Id of the environment being overridden. *null if overriding all. |
instanceId | Long | No* | Id of the instance being overridden. *null if overriding all. |
Tip |
---|
All unlisted properties for the project will default to null for PUT requests. |
Response Codes
HTTP Code | Description |
---|---|
200 | Project was found and its Properties were updated |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project not found |
500 | Unexpected internal server error |
Example
If we had an Project in our database with a Project Id of 25262 and the following Properties
Code Block | ||||
---|---|---|---|---|
| ||||
[ { { "propertyName": "Approved Check Script",FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "MyCheckScriptjava" }, { "credentialId": null, "isExpression": false, "propertyNameoverrideDetailsPojo": { "environmentId"ServiceNow: Password"1234, "propertyValue "instanceId": "MyPassword"5678 } }, { { "propertyName": "ServiceNow PortFD_PARTIAL_FILE_INCLUDES", "propertyValue": "MyPort" }, { "credentialId": null, "isExpression": false, "propertyNameoverrideDetailsPojo": { "environmentId"ServiceNow: URL"null, "propertyValue "instanceId": "MyURL" 5678 } }, { { "propertyName": "ServiceNow User NameFDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "MyUserName"true", } ] |
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/project/25262
And the PUT request receives the following JSON Project Properties list
Code Block | ||||
---|---|---|---|---|
| ||||
[ "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "Approved Check Script",FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": "Put1" }, 5, { "propertyNamecredentialId": "ServiceNow Password", "propertyValue": "Put2"null, "isExpression": false, "overrideDetailsPojo": null }, { { "propertyName": "ServiceNow PortFDJDBC_SQL_EXTENSIONS", "propertyValue": "Put3" }, { seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "propertyNamecredentialId": null, "ServiceNow URL", "propertyValue": "Put4"isExpression": false, "overrideDetailsPojo": null }, { { "propertyName": "ServiceNow User NameFDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "Put5/sql" , } ] |
The PUT request would then update the Project Properties of the Project with Id 25262 and return the following JSON Project Properties list.
Code Block | ||||
---|---|---|---|---|
| ||||
[ "credentialId": { "propertyNamenull, "isExpression": "Approved Check Script", "propertyValue": "Put1"false, "overrideDetailsPojo": null }, { "propertyName": "ServiceNow PasswordJDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": " "propertyValue": "*****" }, { "propertyName": "ServiceNow Port", "propertyValue": "Put3" }, , "credentialId": 49384, "isExpression": false, "overrideDetailsPojo": null } ] |
When we run a PUT request at the following URL: http://host:port/flexdeploy/rest/v1/project/25262
And the PUT request receives the following JSON Project Properties list
Code Block | ||||
---|---|---|---|---|
| ||||
[ { "propertyName": "ServiceNow URLFD_PARTIAL_FILE_EXCLUDES", "propertyValue": "Put4java" }, { "credentialId": null, "isExpression": false, "propertyNameoverrideDetailsPojo": { "ServiceNow User Name", "environmentId": 1234, "instanceId": 5678 } "propertyValue": "Put5"}, } ] |
PATCH
This PATCH service will update an existing Project's Properties with the information passed through a JSON object. If a property is not listed it will not be updated in the Project.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/project/{projectId} |
Parameters
...
This is the name of the type of the single property associated with it. (Can be many)
...
Response Codes
...
...
...
Example
If we had a Project in our database with an Id of 12723 and had the following attributes
...
theme | Eclipse |
---|---|
title | Project Properties PATCH JSON |
...
{
"propertyName": "FD_PARTIAL_FILE_INCLUDES",
"propertyValue": "sql",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": null,
"instanceId": 5678
}
},
{
"propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT",
"propertyValue": "true",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_RETRY_COUNT_DEFAULT",
"propertyValue": 5,
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_SQL_EXTENSIONS",
"propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "JDBC_ALTERNATE_SCHEMA_PASS",
"propertyValue": "",
"credentialId": 71422,
"isExpression": false,
"overrideDetailsPojo": null
}
] |
The PUT request would then update the Project Properties of the Project with Id 25262 and return the following JSON Project Properties list.
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"propertyName": "FD_PARTIAL_FILE_EXCLUDES",
"propertyValue": "java",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": 1234,
"instanceId": 5678
}
},
{
"propertyName": "FD_PARTIAL_FILE_INCLUDES",
"propertyValue": "sql",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": null,
"instanceId": 5678
}
},
{
"propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT",
"propertyValue": "true",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_RETRY_COUNT_DEFAULT",
"propertyValue": 5,
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_SQL_EXTENSIONS",
"propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER",
"propertyValue": null,
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "JDBC_ALTERNATE_SCHEMA_PASS",
"propertyValue": "*****",
"credentialId": 71422,
"isExpression": false,
"overrideDetailsPojo": null
}
] |
PATCH
This PATCH service will update an existing Project's Properties with the information passed through a JSON object. If a property is not listed it will not be updated in the Project.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid}/property |
Request
Attributes | Type | Required | Description |
---|---|---|---|
projectId | URL | Yes | This is the Id of the Project which will have it's Properties updated. |
properties | List<PropertyValuePojo> | Yes | This is the list of properties being set for the project. Attributes for a property object are described below |
PropertyValuePojo
Attributes | Type | Required | Description |
---|---|---|---|
propertyName | String | Yes | This is the key name of the property |
propertyValue | String | No | This is the value that the property with the associated propertyName will be updated to |
credentialId | Long | No | The id of the credential associated to this property. Applicable only for encrypted properties |
isExpression | Boolean | No | Is the propertyValue a groovy expression? @Since 5.3.0.1 |
overrideDetails | OverrideDetailsPojo | No* | If you want to update an overridden property, you need to set this. If not it's null.*only required if updating overridden properties. |
OverrideDetailsPojo
Attributes | Type | Required | Description |
---|---|---|---|
environmentId | Long | No* | Id of the environment being overridden. *null if overriding all. |
instanceId | Long | No* | Id of the instance being overridden. *null if overriding all. |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description |
---|---|
200 | Project was found and its Properties were updated |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project not found |
500 | Unexpected internal server error |
Example
If we had a Project in our database with an Id of 12723 and had the following attributes
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"propertyName": "FD_PARTIAL_FILE_EXCLUDES",
"propertyValue": "java",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": 1234,
"instanceId": 5678
}
},
{
"propertyName": "FD_PARTIAL_FILE_INCLUDES",
"propertyValue": "sql",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": null,
"instanceId": 5678
}
},
{
"propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT",
"propertyValue": "true",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_RETRY_COUNT_DEFAULT",
"propertyValue": 5,
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_SQL_EXTENSIONS",
"propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER",
"propertyValue": null,
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "JDBC_ALTERNATE_SCHEMA_PASS",
"propertyValue": "*****",
"credentialId": 71422,
"isExpression": false,
"overrideDetailsPojo": null
}
] |
When we run a PATCH request at the following URL: http://host:port/flexdeploy/rest/v1/project/12723
And the PATCH request receives the following JSON Project Properties object,
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"propertyName": "FD_PARTIAL_FILE_EXCLUDES",
"propertyValue": "java",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": 1234,
"instanceId": 5678
}
},
{
"propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER",
"propertyValue": "/targetfolder",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "JDBC_ALTERNATE_SCHEMA_PASS",
"propertyValue": "",
"credentialId": 80855,
"isExpression": false,
"overrideDetailsPojo": null
}
] |
The PATCH request would then update the specified Project's Properties and return the following JSON object
Code Block | ||||
---|---|---|---|---|
| ||||
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "MyPasswordjava", }, "credentialId": { "propertyName": "ServiceNow Port", "propertyValue": "MyPort"null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { { "propertyName": "ServiceNow URLFD_PARTIAL_FILE_INCLUDES", "propertyValue": "MyURLsql" }, { "propertyNamecredentialId": null, "ServiceNow User Name", "propertyValue": "MyUserName" } ] |
When we run a PATCH request at the following URL
http://host:port/flexdeploy/rest/project/12723
And the PATCH request receives the following JSON Project Properties object,
Code Block | ||||
---|---|---|---|---|
| ||||
[ "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "ServiceNow URLFDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "PatchedURLtrue", }, "credentialId": null, "isExpression": false, { "overrideDetailsPojo": null }, "propertyName": "ServiceNow User{ Name", "propertyValuepropertyName": "PatchedUserName" } ] |
The PATCH request would then update the specified Project's Properties and return the following JSON object
Code Block | ||||
---|---|---|---|---|
| ||||
[FDJDBC_RETRY_COUNT_DEFAULT", {"propertyValue": 5, "propertyNamecredentialId": null, "isExpression"Approved: Check Script",false, "overrideDetailsPojo": null }, "propertyValue": "MyCheckScript" { }, "propertyName": "FDJDBC_SQL_EXTENSIONS", { "propertyNamepropertyValue": "ServiceNow Passwordseq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "propertyValue": "MyPassword" "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { { "propertyName": "ServiceNow PortFDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "MyPort" }, /targetfolder", { "propertyNamecredentialId": "ServiceNow URL"null, "propertyValue "isExpression": false, "PatchedURL" }, {overrideDetailsPojo": null }, { "propertyName": "ServiceNow User NameJDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": "propertyValue80855, "isExpression": false, "PatchedUserNameoverrideDetailsPojo": null } ] |