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 |
---|
theme | Eclipse |
---|
title | Project 11101 Properties GET Return JSON |
---|
|
[
{
"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": "/sql",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "JDBC_ALTERNATE_SCHEMA_PASS",
"propertyValue": "*****",
"credentialId": 49384,
"isExpression": false,
"overrideDetailsPojo": 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
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
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
...
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
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 |
---|
theme | Eclipse |
---|
title | Sample PUT JSON Request |
---|
|
[
{
"propertyName": "FD_PARTIAL_FILE_EXCLUDES",
"propertyValue": "java",
"credentialId": null,
"isExpression": false,
"overrideDetailsPojo": {
"environmentId": 1234,
"instanceId": 5678
}
},
{
"propertyName": "FD_PARTIAL_FILE_INCLUDES",
"propertyValue": "",
"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": "/sql",
"credentialId": null
,
"isExpression": false,
"overrideDetailsPojo": null
},
{
"propertyName": "JDBC_ALTERNATE_SCHEMA_PASS",
"propertyValue": "*****",
"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 |
---|
theme | Eclipse |
---|
title | Project 25262 Property PUT Receive JSON |
---|
|
[
{
"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": "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 |
---|
theme | Eclipse |
---|
title | Project Properties PUT Return JSON |
---|
|
[
{
"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
PropertyValuePojo
If we had a Project in our database with an Id of 12723 and had the following attributes
Code Block |
---|
theme | Eclipse |
---|
title | Project Properties PATCH JSON |
---|
|
[
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 |
Include Page |
---|
REST V1 Project Properties Response | REST V1 Project Properties Response | Response Codes
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
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 |
---|
| REST V1 Project Properties Response |
---|
| REST V1 Project Properties Response |
---|
|
Response Codes
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 |
---|
theme | Eclipse |
---|
title | Project Properties PATCH JSON |
---|
|
[
{
"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 |
---|
theme | Eclipse |
---|
title | Project PATCH Receive JSON |
---|
| [ | title | Project PATCH Receive JSON |
---|
|
[
{
"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": "FDJDBC_PARTIALALTERNATE_FILESCHEMA_EXCLUDESPASS",
"propertyValue": "propertyValue": "java",
"credentialId"",
"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 |
---|
theme | Eclipse |
---|
title | Project Properties PATCH Return JSON |
---|
|
[
}, {
"propertyName": "FDJDBCFD_SQL_ROOTPARTIAL_TARGETFILE_FOLDEREXCLUDES",
"propertyValue": "/targetfolderjava",
"credentialId": null
},
{
"propertyNameisExpression": "JDBC_ALTERNATE_SCHEMA_PASS"false,
"propertyValueoverrideDetailsPojo": {
"environmentId": 1234,
"credentialId": 80855
}
] |
The PATCH request would then update the specified Project's Properties and return the following JSON object
Code Block |
---|
theme | Eclipse |
---|
title | Project Properties PATCH Return JSON |
---|
|
[instanceId": 5678
}
},
{
"propertyName": "FD_PARTIAL_FILE_EXCLUDESINCLUDES",
"propertyValue": "javasql",
"credentialId": null
},
{
"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": "credentialIdfalse,
"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
}
] |