Search guides...
Ctrl K
Jaws Deploy ships with a built-in package store. It's a feed that lives inside the workspace - no separate server to operate, no separate credentials, no extra cost. Push packages to it directly from CI.
Pushing packages
Upload packages with the REST API: POST /api/packagestore/package with the workspace ID and the package file. The package ID and version are read from the file name, for example Checkout.Web.2026.5.17.zip. Any CI tool that can make an HTTP request can push. The PowerShell SDK does not wrap this call, so use Invoke-RestMethod or curl.
From a CI build step after producing the package
The service account needs the push packages role on the workspace.
# JAWS_API_LOGIN = service account ID, JAWS_API_PASSWORD = API key
$credential = [pscredential]::new($env:JAWS_API_LOGIN,
(ConvertTo-SecureString $env:JAWS_API_PASSWORD -AsPlainText -Force))
Invoke-RestMethod `
-Method Post `
-Uri "https://app.jawsdeploy.net/api/packagestore/package" `
-Authentication Basic `
-Credential $credential `
-Form @{
WorkspaceId = "<workspace id>"
PackageFile = Get-Item ./out/Checkout.Web.2026.5.17.zip
}