This GET service will find a project by querying based on a name and application id and return the JSON representations of the objects. If no query parameters are given this request will return the entire list of projects.
API URLs
http://host:port/flexdeploy/rest/v1/project?
Append the following character sequences to the above URL to specify Query parameters. Use '&' between successive query parameters:
- projectName={name}
- applicationId={applicationid}
- folderPath={folderPath}
folderPath Format
- Path parameters are separated by slashes(forward or backward).
- Trailing slashes will be ignored.
- Single leading slashes are ignored.
- To access a folder or application, it's full path from the project archive root folder must be used.
- A shorted path is valid, but will return more results.
- The project archive root folder is an optional path parameter.
- Folders and applications are considered path parameters.
- Forward and backward slashes are accepted
- Project names are not considered path parameters. For example,
- The folderPath used to access the 'AccountingApps' application :
- /Flexdeploy/CommerceProjects/AccountingApps/
- or
- CommerceProjects\AccountingApps
- i.e. you can omit FlexDeploy at start of folderPath
Examples:
- To search by name only: http://host:port/flexdeploy/rest/v1/project?projectName={name}
- To search by group only: http://host:port/flexdeploy/rest/v1/project?applicationId={applicationid}
- To search by folderPathonly: http://host:port/flexdeploy/rest/v1/project?folderPath={folderPath}
- To search by name and applicationId: http://host:port/flexdeploy/rest/v1/project?projectName={name}&applicationId={applicationid}
The query parameters are not case sensitive. Searching by projectName=NAME is the same as searching by projectName=name.
Request
Parameter | Required | Type | Description |
---|---|---|---|
projectName | No | URL(query) | This is a URL query parameter for the name which is used to query the projects with. |
applicationId | No | URL(query) | This is a URL query parameter for application id which is used to query the projects within an application. |
folderPath | No | URL(query) | This is a URL query parameter which specified the path of the desired folders (and optionally the application, but not the project name) |
Response
Attribute | Type | Description |
---|---|---|
projectId | Long | Id of the project. |
projectName | String | Unique name of the project. |
applicationId | String | Id of the application the project is in. |
projectPath | String | Fully qualified project path. |
isActive | Boolean | Boolean that tracks whether or not the project is active. Null input defaults to true. |
packageBuildType | String | String that defines usage of packages and build or deployments of packages. Possible values are ALL, PACKAGE, or BOTH. Defaults to Project Default or BOTH if Project Default is empty. |
description | String | Description of the project. |
projectClassification | String | The classification of the project, such as "Standard" or "PartialDeployments" |
priority | Integer | Deploy priority of the project. |
webhooksEnabled | Boolean | Whether or not webhooks are enabled. |
projectBuildSequence | Integer | The current value for the next ProjectBuildSequence number. |
projectType | ProjectTypeEnum | Type of project. Possible values are GENERAL, EBS, PARTIAL_FILE, PARTIAL_JDBC, OracleForms, ORACLE_DB, ORACLE_BI, ORACLE_APEX, MFT, SALESFORCE, UTILITY, MDS, or GENERIC. |
scmType | SCMTypeEnum | This specifies the source control management system used by this project. Must be a valid source control management system. Possible values are SVN, GIT, CVS, TFVC, PERF, PVCS, FILE, or NONE. |
priorityScope | String | This specifies the priority scope of the current project. Either Global, Folder, or Application. |
buildInfo | ProjectBuildInfo | Build info for the project. See more info about the ProjectBuildInfo object below. |
preDeployInfo | ProjectPreDeployInfo | PreDeploy info for the project. See more info about the ProjectPreDeployInfo object below. |
deployInfo | ProjectDeployInfo | Deploy info for the project. See more info about the ProjectDeployInfo object below. |
utilityExecutionInfo | UtilityProjectExecutionInfo | Execution info for a utility project. See more info about the UtilityProjectExecutionInfo object below. |
streams | List<Long> | List of ids which identify the project streams associated with this project. |
mainStreamName | String | Name of the main stream for the project. |
scmConfiguration | ProjectSCMPojo | SCM configuration for the project. See more info about the ProjectSCMPojo object below. |
containerConfiguration | ContainerConfiguration | Container configuration for the project. See more info about the ContainerConfiguration type below. |
links | List<Link> | List of any relevant links for the object. |
ProjectBuildInfo
Attribute | Type | Description |
---|---|---|
workflowId | Long | Id of the build workflow used by this project. |
instanceId | Long | Id of the instance where this project is built. |
ProjectPreDeployInfo
Attribute | Type | Description |
---|---|---|
workflowId | Long | Id of the predeployment workflow used by this project. Note - If predeploy workflow is used, then ProjectDeployInfo.instanceIds is needed |
ProjectDeployInfo
Attribute | Type | Description |
---|---|---|
workflowId | Long | Id of the deployment workflow used by this project. |
instanceIds | List<Long> | Id of each of the instances where the project can be deployed. |
UtilityProjectExecutionInfo
Attribute | Type | Description |
---|---|---|
workflowId | Long | Id of the utility workflow used by this project. |
instanceIds | List<Long> | Id of each of the utility instance where this project can be run. |
ProjectSCMPojo
Attribute | Type | Description |
---|---|---|
sources | List<ProjectSCMConfig> | List of SCM configuration sources. See more info about the ProjectSCMConfig object below. |
ProjectSCMConfig
Attribute | Type | Description |
---|---|---|
instanceId | Long | SCM instance id for this source. |
configValues | List<ProjectSCMConfigValue> | Configuration values for each SCM source. See more info about the ProjectSCMConfigValue object below. |
sourceNumber | Integer | Number for the source. Source numbers start at 1 and increment for each source after that. |
ProjectSCMConfigValue
Attribute | Type | Description |
---|---|---|
configName | String | Name of the configuration attribute. |
configValue | String | Value of the configuration attribute. |
ContainerConfiguration
Attribute | Type | Description |
---|---|---|
dockerFile | String | Name of the dockerfile |
dockerStreams | List<DockerStream> | Information about the docker streams. See more info about the DockerStream type below. |
kubernetesConfiguration | KubernetesConfiguration | Configuration for Kubernetes. See more info about the KubernetesConfiguration type below. |
DockerStream
Attribute | Type | Description |
---|---|---|
streamId | Long | Id of the stream. |
streamName | String | Name of the stream. |
imageName | String | Name of the image. |
isImageBuild | Boolean | If the image will build. |
isImagePush | Boolean | If the image will push. Null if isImageBuild is false. |
isTagLatest | Boolean | If the image will be tagged as latest |
registryAccount | String | The Docker Registry Account Code to push to. |
imageScan | Boolean | If the image will be scanned with Anchore. |
container | DockerStreamContainer | Container configuration during deployment |
DockerStreamContainer
Attribute | Type | Description |
---|---|---|
runContainer | Boolean | Run a container with this image during deployment |
containerName | String | Groovy Script of the container name to run |
volumes | String | Groovy Script of the volumes to bind to the container |
ports | Boolean | Groovy Script of the ports to bind to the container |
additionalParams | Boolean | Groovy Script for any additional arguments to pass the run container command |
KubernetesConfiguration
Attribute | Type | Description |
---|---|---|
deploymentName | String | Name of the deployment. |
manifestsToDeploy | List<String> | Manifests to deploy. |
blueGreenManifests | List<String> | Blue green manifests. |
canaryManifests | List<String> | Canary manifests. |
abmanifests | List<String> | AB manifests. |
helmConfiguration | HelmConfiguration | The helm configuration. See more info about the HelmConfiguration type below. |
HelmConfiguration
Attribute | Type | Description |
---|---|---|
chart | String | Name of the chart. |
releaseName | String | Name of the release. |
parametersMap | List<ParameterMap> | All of the parameter mappings. See more info about the ParmaterMap type below. |
ParameterMap
Attribute | Type | Description |
---|---|---|
key | String | Key for the parameter map. |
value | String | Value for the parameter map. |
Link
Attribute | Type | Description |
---|---|---|
type | String | Type of the link "REST", "UI" |
link | String | Physical link of the object. |
Response Codes
HTTP Code | Description |
---|---|
200 | Projects were found and returned |
400 | Bad request |
401 | Unauthorized |
500 | Unexpected internal server error |
Example
If we had Projects in our database with the names 'Project1' and 'Project2' and the following attributes:
{ "priority": 1, "projectName": "Project1", "description": "Our thoughts become our words. Our words become our actions.", "applicationId": 10001, "priorityScope": "Application", "partialDeployment": false, "isActive": true, "scmType": "NONE", "streams": [ 10802, 10803, 10804, 10805 ], "utilityWorkflowId": 11434, "utilityInstanceIds": [11275], "deployWorkflowId": 10873, "deployInstanceIds": [ 11153, 11168, 11183, 11198, 11213, 11228, 11243 ], "buildWorkflowId": 10869, "buildInstanceId": 11153, "projectType": null }
{ "priority": 1, "description": "No Permissions", "applicationId": 10001, "isActive": true, "scmType": "SVN", "projectType": null, "projectName": "Project2", "streams": [], "priorityScope": "Application", "partialDeployment": false, "utilityWorkflowId": null, "utilityInstanceIds": null, "deployWorkflowId": null, "buildWorkflowId": null, "deployInstanceIds": null, "buildInstanceId": null }
When we run a GET request at the following URL
http://host:port/flexdeploy/rest/v1/project?applicationId=10001
The GET request would return the following JSON workflow object
{ "priority": 1, "description": "No Permissions", "applicationId": 10001, "isActive": true, "scmType": "SVN", "projectType": null, "projectName": "Project2", "streams": [], "priorityScope": "Application", "partialDeployment": false, "utilityWorkflowId": null, "utilityInstanceIds": null, "deployWorkflowId": null, "buildWorkflowId": null, "deployInstanceIds": null, "buildInstanceId": null }