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

Authorization

String

Authorization token

Bearer access_token

X-Oracle-UserId

String

Partner login email

partneruser.email@oracle.com

Content-Type

String

Content type allowed

application/json,application/xml

Cache-Control

String

no-cache

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: 201, 400, 401, 403, 404, 405, 500

Status Codes describes when each of these HTTP status codes is returned.

Payload

{"message":"Listing package saved with package version = 8.5.7-0 and packageVersionId = 3418518",
"entityId":"3418518"}

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

Authorization

String

Authorization token

Bearer access_token

X-Oracle-UserId

String

Partner login email

partneruser.email@oracle.com

Content-Type

String

Content type allowed

application/json,application/xml

Cache-Control

String

no-cache

Request Payload

{
  "action": "validate"
}

Response

Response Details

Headers

Content-Type, Content-Encoding, Location

Status: 201, 400, 401, 403, 404, 405, 500

Status Codes describes when each of these HTTP status codes is returned.

Payload

{"message":"ListingPackage validation was successful.",
"entityId ":"3423216"}

The value of entityId value is the packageId value that was returned in the response of the Create Application Package API.

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.