Project API GET by Parameters

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}
  • isActive={isActive}

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:

The query parameters are not case sensitive. Searching by projectName=NAME is the same as searching by projectName=name.

Request

Parameter
Required
Type
Description
projectNameNoQuery - String

This is a URL query parameter for the name which is used to query the projects with.

Contains ignore case search

applicationIdNoQuery - LongThis is a URL query parameter for application id which is used to query the projects within an application.
folderPathNoQuery - String

This is a URL query parameter which specified the path of the desired folders (and optionally the application, but not the project name)

All projects in provided path will be considered, i.e. including any sub folders of provided path as well.

isActiveNoQuery - Boolean

This is a URL query parameter which specifies whether returned projects should only include active or inactive projects.

If this parameter is not provided, both active and inactive projects may be returned.

Response

AttributeTypeDescription

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.

description

String

Description of the project.

partialDeployment

Boolean

Whether the project allows partial deployments. Null input defaults to false.

priority

Integer

Deploy priority of the project.

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, CCUCM, 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.

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.

ProjectBuildInfo

AttributeTypeDescription
buildWorkflowIdLongId of the build workflow used by this project.
buildInstanceIdLongId of the instance where this project is built.

ProjectDeployInfo

AttributeTypeDescription
deployWorkflowIdLongId of the deployment workflow used by this project.
deployInstanceIdsList<Long>Id of each of the instances where the project can be deployed.

UtilityProjectExecutionInfo

AttributeTypeDescription
utilityWorkflowIdLongId of the utility workflow used by this project.
utilityInstanceIdsList<Long>Id of each of the utility instance where this project can be run.

ProjectSCMPojo

AttributeTypeDescription
sourcesList<ProjectSCMConfig>List of SCM configuration sources. See more info about the ProjectSCMConfig object below.

ProjectSCMConfig

AttributeTypeDescription
instanceIdLongSCM instance id for this source.
configValuesList<ProjectSCMConfigValue>Configuration values for each SCM source. See more info about the ProjectSCMConfigValue object below.
sourceNumberIntegerNumber for the source. Source numbers start at 1 and increment for each source after that.

ProjectSCMConfigValue

AttributeTypeDescription
configNameStringName of the configuration attribute.
configValueStringValue of the configuration attribute.

Response Codes

HTTP Code
Description
200Search successful and results returned
400Bad request
401Authentication failure
403Authorization failure (no access to resource)
500Unexpected internal server error

Example

If we had Projects in our database with the names 'Project1' and 'Project2' and the following attributes:

Project - "Project1"
{
   "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
}
Project - "Project2"
{
   "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
}
The following macros are not currently supported in the footer:
  • style