Project Packages API

Project Packages API

This API is available starting with version @5.2.0.1

Project packages can be accessed and modified through this API using four services: GET, POST, PUT, and PATCH. These four services allow for the retrieval, creation, complete update, and partial update of packages.

Base URL for Environment REST API

http://host:port/flexdeploy/rest/v1/project/{projectId}/package

GET

This method will find a package with the given name in the given project and return the JSON representation of the package.

API URL

http://host:port/flexdeploy/rest/v1/project/{projectId}/package/{packageName}

Request

Parameter

Type

Required

Description

Parameter

Type

Required

Description

projectId

URL

Yes

This is a URL parameter for the Id of the project which the package is in

packageName

URL

Yes

Name of the package to retrieve. This is case sensitive

Response

Attribute

Type

Description

Attribute

Type

Description

name

String

Name of the package

description

String

Description of the package

files

List<PackageFile>

All files in the package. More info on the PackageFile object is included below.

packageType

String

Type of the package (USER_MANAGED or DYNAMIC).

packageStatus

String

Package Status. Possible values (ACTIVE, COMPLETED, INACTIVE). Completed packages can not be modified and only active packages can be added to a release.

includePath

String

Comma separated list of regular expressions that define which project files will be included.  Applicable for DYNAMIC packages only.

excludePath

String

Comma separated list of regular expressions that define which project files will be excluded.  Applicable for DYNAMIC packages only.

tests

String

Salesforce Tests. Only applies to Salesforce type partial deployment projects.

testLevel

String

Salesforce Test Level. Only applies to Salesforce type partial deployment projects.

versionSyntax

String

Version syntax of the package. Only applies to Salesforce type partial deployment projects.

PackageFile

Attribute

Type

Description

Attribute

Type

Description

filePath

String

Fully qualified path of the file

objectType

String

Type of the object

sequenceNumber

Integer

Order placement of this file in the package

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Project Package was found and returned

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Project or Package not found

500

Unexpected internal server error

Example

If we had a package with the name ALM-150 in a project with id 14935, when we run a GET request at the URL

http://host:port/flexdeploy/rest/v1/project/14935/package/ALM-150,

the GET request would return the following JSON package object:

Package GET Return JSON
{    "name": "ALM-150", "description": null, "files": [ { "filePath": "/sql/XXHR_BIPUB_REP_PKG.pls", "objectType": "DB Objects (SQLs)", "sequenceNumber": 1 }, { "filePath": "/sql/XXHR_BIPUB_REP_PKG.pkb", "objectType": "DB Objects (SQLs)", "sequenceNumber": 2 } ], "packageType": "USER_MANAGED", "packageStatus": "ACTIVE", "includePath" : null, "excludePath" : null, "tests": null, "testLevel": "NoTestRun", "versionSyntax": null }

Back to Top


POST

This POST service will create a new package with the same attributes as the given JSON object.

API URL

http://host:port/flexdeploy/rest/v1/project/{projectId}/package

Request

Attribute

Type

Required

Description

Attribute

Type

Required

Description

name

String

Yes

Name of the package

description

String

No

Description of the package

sortAll

Boolean

No

Whether or not the files in the package should be sorted by type. If this is true, sequence numbers for files will be ignored. This will default to false

addFileFilter

String

No

A filter to add all files containing this string

files

List<PackageFile>

No

All files in the package. More info on the PackageFile object is included below.

packageStatus

String 

No

Package Status. Possible values (ACTIVE, COMPLETED, INACTIVE). Completed packages can not be modified and only active packages can be added to a release. Defaults to Active.

packageType

String

No

Type of the package to create (DYNAMIC or USER_MANAGED).  Default is USER_MANAGED if not specified.

includePath

String

No

Comma separated list of regular expressions that define which project files will be included.  Applicable for DYNAMIC packages only.

excludePath

String

No

Comma separated list of regular expressions that define which project files will be excluded.  Applicable for DYNAMIC packages only.

tests

String

No

Salesforce Tests. Only applies to Salesforce type partial deployment projects.

testLevel

String

No

Salesforce Test Level. Only applies to Salesforce type partial deployment projects.

versionSyntax

String

No

Version syntax of the package. Only applies to Salesforce type partial deployment projects.

PackageFile

Attribute

Type

Required

Description

Attribute

Type

Required

Description

filePath

String

Yes

Fully qualified path of the file as it appears on the Project Files and Packages screens

sequenceNumber

Integer

No

Order placement of this file in the package. Sequence numbers must be provided for all or none of the files in the package JSON. If sequence numbers aren't provided, the order of the files will be based on either object type, if the sortAll flag is true, or based on the order of the files in the request.

Response

Attribute

Type

Description

Attribute

Type

Description

name

String

Name of the package

description

String

Description of the package

files

List<PackageFile>

All files in the package. More info on the PackageFile object is included below.

packageStatus

String

Package Status. Possible values (ACTIVE, COMPLETED, INACTIVE). Completed packages can not be modified and only active packages can be added to a release. Defaults to ACTIVE.

packageType

String

Type of the package (DYNAMIC or USER_MANAGED).

includePath

String

Comma separated list of regular expressions that define which project files will be included.  Applicable for DYNAMIC packages only.

excludePath

String

Comma separated list of regular expressions that define which project files will be excluded.  Applicable for DYNAMIC packages only.

tests

String

Salesforce Tests. Only applies to Salesforce type partial deployment projects.

testLevel

String

Salesforce Test Level. Only applies to Salesforce type partial deployment projects.

versionSyntax

String

Version syntax of the package. Only applies to Salesforce type partial deployment projects.

PackageFile

Attribute

Type

Description

Attribute

Type

Description

filePath

String

Fully qualified path of the file

objectType

String

Type of the object

sequenceNumber

Integer

Order placement of this file in the package

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Project Package was created successfully

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Project or Package not found

500

Unexpected internal server error

Example

If the POST request receives the following JSON package object,

POST JSON
{    "description": "Creating a package using the Package REST API",    "name": "REST_Package", "sortAll": true, "addFileFilter": "XXHR_BIPUB_REP_PKG", "files": [ { "filePath": "/java/xxt/oracle/apps/ak/xxperson/webui/managePersonCO.java" }, { "filePath": "/java/xxt/oracle/apps/ak/xxperson/server/xxPersonAM.xml" } ] }

The following package object will then be created:

POST JSON
{    "description": "Creating a package using the Package REST API",    "name": "REST_Package", "files": [ { "filePath": "/java/xxt/oracle/apps/ak/xxperson/webui/managePersonCO.java", "objectType": "Oracle Application Framework (OAF) JAVA", "sequenceNumber": 1 }, { "filePath": "/java/xxt/oracle/apps/ak/xxperson/server/xxPersonAM.xml", "objectType": "Oracle Application Framework (OAF) JAVA", "sequenceNumber": 2 } ], "packageStatus": "ACTIVE", "pacageType": "USER_MANAGED", "includePath": null, "excludePath": null, "tests": null, "testLevel": "NoTestsRun", "versionSyntax": null }

Back to Top


PUT

This PUT service will replace all attributes of a given package with the attributes of the provided JSON request.

API URL

http://host:port/flexdeploy/rest/v1/project/{projectId}/package/{packageName}

Request

Attribute

Type

Required

Description

Attribute

Type

Required

Description

packageName

String (URL)

Yes

Name of the package, used to identify the package being updated. The name cannot be modified after the package is created

packageStatus

String 

Yes

Package Status. Possible values (ACTIVE, COMPLETED, INACTIVE). Completed packages can not be modified and only active packages can be added to a release.

description

String

No

Description of the package

sortAll

Boolean

No

Whether or not the files in the package should be sorted by type. If this is true, sequence numbers for files will be ignored. This will default to false

addFileFilter

String

No

A filter to add all files containing this string

files

List<PackageFile>

No

All files in the package. Any files in the package before this request will be deleted and replaced by the files in the request. More info on the PackageFile object is included below.

packageType

String

No

Type of the package (DYNAMIC or USER_MANAGED).  The default is USER_MANAGED if not specified.

includePath

String

No

Comma separated list of regular expressions that define which project files will be included.  Applicable for DYNAMIC packages only.

excludePath

String

No

Comma separated list of regular expressions that define which project files will be excluded.  Applicable for DYNAMIC packages only.

tests

String

No

Salesforce Tests. Only applies to Salesforce type partial deployment projects.

testLevel

String

No

Salesforce Test Level. Only applies to Salesforce type partial deployment projects.

versionSyntax

String

No

Version syntax of the package. Only applies to Salesforce type partial deployment projects.

PackageFile

Attribute

Type

Required

Description

Attribute

Type

Required

Description

filePath

String

Yes

Fully qualified path of the file as it appears on the Project Files and Packages screens

sequenceNumber

Integer

No

Order placement of this file in the package. Sequence numbers must be provided for all or none of the files in the package JSON. If sequence numbers aren't provided, the order of the files will be based on either object type, if the sortAll flag is true, or based on the order of the files in the request.

Response

Attribute

Type

Description

Attribute

Type

Description

name

String

Name of the package

description

String

Description of the package

files

List<PackageFile>

The following macros are not currently supported in the footer:
  • style