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.
...
If we had a Project in our database with an Id of 11101 and 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": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "sql", "credentialId": null }, { "propertyName": "FDJDBC_IGNORE_COM_ERR_EXT_DEF", "propertyValue, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "credentialId "instanceId": null5678 } }, { "propertyName": "FDJDBC_IGNOREPROPERTY_FAILUREREPLACEMENT_EXT_DEFDEFAULT", "propertyValue": null"true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_OTHERRETRY_ROOTCOUNT_TARGET_FOLDERDEFAULT", "propertyValue": "/other_root_target_folder"5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_PROPERTYSQL_REPLACEMENT_DEFAULTEXTENSIONS", "propertyValue": "true", 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_RETRYROOT_COUNTTARGET_DEFAULTFOLDER", "propertyValue": 5"/sql", "credentialId": null }, "isExpression": false, "overrideDetailsPojo": null { }, { "propertyName": "FDJDBCJDBC_ALTERNATE_SQLSCHEMA_EXTENSIONSPASS", "propertyValue": "*****", "credentialId": 49384, "isExpression": false, "propertyValueoverrideDetailsPojo": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "/sql", "credentialId": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 49384 } ] |
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}/property |
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}/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 |
Tip |
---|
All unlisted properties for the project will default to null for PUT requests. |
Response Codes
Example
If we had an Project in our database with a Project Id of 25262 and the following Properties
...
theme | Eclipse |
---|---|
title | Sample PUT JSON Request |
...
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": "FDJDBCFD_PROPERTYPARTIAL_REPLACEMENTFILE_DEFAULTEXCLUDES", "propertyValue": "truejava", "credentialId": null }, { "propertyName, "isExpression": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": nullfalse, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prcFD_PARTIAL_FILE_INCLUDES", "propertyValue": "", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_SQL_ROOTPROPERTY_TARGETREPLACEMENT_FOLDERDEFAULT", "propertyValue": "/sqltrue", "credentialId": null }, { "propertyNameisExpression": "JDBC_ALTERNATE_SCHEMA_PASS"false, "propertyValue": "*****", "credentialId": 49384 } ] |
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 | ||||
---|---|---|---|---|
| ||||
[overrideDetailsPojo": null }, { "propertyName": "FDFDJDBC_PARTIALRETRY_FILECOUNT_EXCLUDESDEFAULT", "propertyValue": "java"5, "credentialId": null, "isExpression": false, "credentialIdoverrideDetailsPojo": null }, { "propertyName": "FDFDJDBC_PARTIALSQL_FILE_INCLUDESEXTENSIONS", "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_IGNORESQL_COM_ERRROOT_EXTTARGET_DEFFOLDER", "propertyValue": null"/sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, }, { "propertyName": "FDJDBCJDBC_IGNOREALTERNATE_FAILURESCHEMA_EXT_DEFPASS", "propertyValue": "*****", "propertyValue": null, "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 | ||||
---|---|---|---|---|
| ||||
[ { "credentialId": null }, {"propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyNamepropertyValue": "FDJDBC_OTHER_ROOT_TARGET_FOLDERjava", "propertyValuecredentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": "credentialId1234, "instanceId": null5678 } }, { "propertyName": "FDJDBCFD_PROPERTYPARTIAL_REPLACEMENTFILE_DEFAULTINCLUDES", "propertyValue": "truesql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_RETRYPROPERTY_COUNTREPLACEMENT_DEFAULT", "propertyValue": 5,"true", "credentialId": null, "isExpression": false, "credentialIdoverrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_SQLCOUNT_EXTENSIONSDEFAULT", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null5, }, { "propertyNamecredentialId": "JDBC_ALTERNATE_SCHEMA_PASS"null, "propertyValueisExpression": ""false, "credentialIdoverrideDetailsPojo": 71422null } ] |
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": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "propertyNamecredentialId": "FD_PARTIAL_FILE_EXCLUDES", "propertyValuenull, "isExpression": "java"false, "credentialId "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_PARTIALALTERNATE_FILE_INCLUDES", SCHEMA_PASS", "propertyValue": "sql", "credentialId": 71422, "isExpression": "credentialIdfalse, "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": "FDJDBCFD_IGNOREPARTIAL_COM_ERR_EXT_DEFFILE_EXCLUDES", "propertyValue": null"java", "credentialId": null }, { "propertyName, "isExpression": "FDJDBC_IGNORE_FAILURE_EXT_DEF", "propertyValue": null, "credentialId": nullfalse, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FDJDBCFD_OTHERPARTIAL_ROOTFILE_TARGET_FOLDERINCLUDES", "propertyValue": "sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": "credentialId": null{ "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"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": null }71422, "isExpression": false, { "propertyNameoverrideDetailsPojo": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 71422 } ] |
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
...
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
},
| ||||||||
[ { "propertyName": "FD_PARTIAL_FILE_INCLUDESEXCLUDES", "propertyValue": "sqljava", "credentialId": null }, { "propertyName, "isExpression": "FDJDBC_IGNORE_COM_ERR_EXT_DEF", "propertyValue": null, "credentialId": nullfalse, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FDJDBCFD_IGNOREPARTIAL_FAILUREFILE_EXT_DEF", "propertyValue": null, "credentialId": null }, {INCLUDES", "propertyNamepropertyValue": "FDJDBC_OTHER_ROOT_TARGET_FOLDERsql", "propertyValuecredentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": "credentialIdnull, "instanceId": null5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "credentialIdoverrideDetailsPojo": 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"propertyValue": null, "credentialId": null, "isExpression": nullfalse, "credentialId "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 "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"credentialId": 80855, "isExpression": false, "overrideDetailsPojo": 80855null } ] |
The PATCH request would then update the specified Project's Properties and return the the following JSON object
Code Block | ||||||
---|---|---|---|---|---|---|
| [
{
"propertyName": "FD_PARTIAL_FILE_EXCLUDES",
"propertyValue": "java",
"credentialId": null
},
| |||||
[ { "propertyName": "FD_PARTIAL_FILE_INCLUDESEXCLUDES", "propertyValue": "sqljava", "credentialId": null }, { "propertyName": "FDJDBC_IGNORE_COM_ERR_EXT_DEF", "propertyValue": null, "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FDJDBCFD_IGNOREPARTIAL_FAILUREFILE_EXT_DEFINCLUDES", "propertyValue": null"sql", "credentialId": null }, { "propertyName": "FDJDBC_OTHER_ROOT_TARGET_FOLDER", "propertyValue, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "credentialId": null "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValuepropertyValue": 5, "credentialId": null, "isExpression": 5false, "credentialId "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": "/targetfolder", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 80855, "isExpression": false, "overrideDetailsPojo": null } ] |