Create and Publish an Application Listing with an Installer Package
After you create an application listing with basic, required information and add optional content, you can run the APIs related to the package before submitting the application listing for approval and publishing it.
Follow the steps for creating an application listing, described in Create and Publish an Application Listing. Then you can create and validate an installer package for the application listing.
Create Package
The Create Application Package API creates an application package for a particular service.
POST /appstore/publisher/v1/applications/appversionid/packages
The content of the API depends upon different actions provided by the service: JCS, Compute, or ICS. Sample payloads from these three services follow.
Request Headers
Header Name | Data Type | Remarks | Sample Data |
---|---|---|---|
|
String |
Authorization token |
|
|
String |
Partner login email |
|
|
String |
Content type allowed |
|
|
String |
|
Request Payload for Compute Service
{
"version":"16.2",
"description":"Document Manager Image",
"type":"UNMANAGED",
"status":"NEW",
"dependentServices":[
{
"tag":"Compute",
"serviceName":"Compute"
}
],
"resources":[
{
"tag":"documentmanager.image.tar.gz",
"location":"partnercontainer/mi / documentmanager.image.tar.gz ",
"version":"16.2",
"standardProperties":[
{
"name":"imageName",
"source":"BLUEPRINT_STATIC",
"value":"documentmanager_16.2"
},
{
"name":"defaultShape",
"source":"BLUEPRINT_STATIC",
"value":"oc3"
},
{
"name":"unsupportedShapes",
"source":"BLUEPRINT_STATIC",
"value":"oc10,ocio1m"
},
{
"name":"size",
"source":"BLUEPRINT_STATIC",
"value":"1974218034 "
},
{
"name":"minimumDiskSize",
"source":"BLUEPRINT_STATIC",
"value":"10"
}
],
"customProperties":[
]
}
],
"actions":[
{
"tag":"Create Machine Image",
"dependentServiceTag":"Compute",
"actionName":"createMachineImage",
"type":"OUT_OF_THE_BOX_ACTION",
"resourceMap":{
"resourceTag":"IMAGE",
"name":" documentmanager_16.2"
}
},
{
"tag":"Delete Machine Image",
"dependentServiceTag":"Compute",
"actionName":"deleteMachineImage",
"type":"OUT_OF_THE_BOX_ACTION",
"requestProperties":[
{
"name":"imageName",
"source":"BLUEPRINT_STATIC",
"value":" documentmanager_16.2"
}
]
}
],
"operations":[
{
"type":"INSTALL",
"actionExecutionSequence":[
{
"sequenceNumber":1,
"actionTag":"Create Machine Image"
}
]
},
{
"type":"UNINSTALL",
"actionExecutionSequence":[
{
"sequenceNumber":1,
"actionTag":"Delete Machine Image"
}
]
}
]
}
Request Payload for JCS Service
{
"name":"Document Manager App",
"description":"DocumentManager is simple solution for keeping all your photos organized.???, "longDescription":"You can use DocumentManager to keep all files, including media files, organized. It can search, organize, share, and synch files across devices too.",
"version":"16.2",
"namespacePrefix":"Rest Package Snippet",
"deploymentMode":"ASYNC",
"type":"UNMANAGED",
"status":"new",
"dependentServices":[
{
"tag":"Java Service",
"serviceName":"JAVA",
"isDedicatedToAppFlag":true,
}
],
"resources":[
{
"tag":"documentmanager.war",
"version":"1.0",
"standardProperties":[
{
"name":"APPLICATION_NAME",
"source":"BLUEPRINT_STATIC",
"value":"Document Manager App"
},
{
"name":"platform",
"source":"BLUEPRINT_STATIC",
"value":"Linux"
},
{
"name":"windows_kms",
"source":"BLUEPRINT_STATIC",
"value":"10"
}
]
}
],
"actions":[
{
"tag":"Deploy War",
"dependentServiceTag":"Java Service",
"actionName":"deploy",
"type":"OUT_OF_THE_BOX_ACTION",
"resourceMap":{
"resourceTag":"APPLICATION_DEPLOYABLE_FILE",
"name":"documentmanager.war"
},
"requestProperties":[
{
"name":"FORCE",
"source":"BLUEPRINT_STATIC",
"value":"true"
}
]
},
{
"tag":"Restart Test",
"dependentServiceTag":"Java Service",
"actionName":"restartservice",
"type":"OUT_OF_THE_BOX_ACTION",
"requestProperties":[
{
"name":"FORCE",
"source":"BLUEPRINT_STATIC",
"value":"true"
},
{
"name":"RESTART_TIMEOUT_SECS",
"source":"BLUEPRINT_STATIC",
"value":"200"
}
]
},
{
"tag":"Un Deploy War",
"dependentServiceTag":"Java Service",
"actionName":"undeploy",
"type":"OUT_OF_THE_BOX_ACTION",
"requestProperties":[
{
"name":"APPLICATION_NAME",
"source":"BLUEPRINT_STATIC",
"value":"Document Manager App"
}
]
}
],
"operations":[
{
"type":"INSTALL",
"actionExecutionSequence":[
{
"sequenceNumber":1,
"actionTag":"Deploy War"
},
{
"sequenceNumber":2,
"actionTag":"Restart Test"
}
]
},
{
"type":"UNINSTALL",
"actionExecutionSequence":[
{
"sequenceNumber":1,
"actionTag":"Un Deploy War"
}
]
}
],
"accessURLs":[
{
"name":"static",
"type":"STATIC",
"description":"Test URL",
"staticURL":"https://www.oracle.com/"
}
]
}
Request Payload for ICS Service
Response
Response | Details |
---|---|
Headers |
Content-Type, Content-Encoding, Location Status: Status Codes describes when each of these HTTP status codes is returned. |
Payload |
|
Validate Package
After a package is created, it needs to be validated before it can be submitted for a trial install or real install. Validation runs some verification on the package.
PATCH /appstore/publisher/v1/applications/appversionid/packages/packageId
The packageId value was returned in the response of the Create Package API.
Request Headers
Header Name | Data Type | Remarks | Sample Data |
---|---|---|---|
|
String |
Authorization token |
|
|
String |
Partner login email |
|
|
String |
Content type allowed |
|
|
String |
|
Request Payload
{
"action": "validate"
}
Response
Response | Details |
---|---|
Headers |
Content-Type, Content-Encoding, Location Status: Status Codes describes when each of these HTTP status codes is returned. |
Payload |
The value of entityId value is the |
Note:
After you validate a package, you can submit it for approval and publish it. Create and Publish an Application Listing describes APIs to submit and publish a package.