Skip to content

feat(sdk): add content-cli sdk publish for fragment gateway uploads - #433

Closed
Andrei Sitsko (andrey-sitsko) wants to merge 4 commits into
mainfrom
feat/DISCO-78/sdk-fragment-upload
Closed

Andrei Sitsko (andrey-sitsko) wants to merge 4 commits into
mainfrom
feat/DISCO-78/sdk-fragment-upload

Conversation

@andrey-sitsko

@andrey-sitsko Andrei Sitsko (andrey-sitsko) commented Oct 16, 2026 •

Copy link
Copy Markdown
  • Build your app with index.html at the dist root, then run content-cli sdk publish --app-id <app-id> --dist <path-to-bundle> --profile <profile> using an authenticated Bearer profile.
  • Upload mode is automatic: up to 10 files use individual PUTs; more than 10 are compressed locally and uploaded as one ZIP. Version labels are generated automatically; publishing does not activate the release.
  • HTTP sequence under /fragments/apis/v1/apps/<app-id>: POST /uploads → PUT /uploads/<uploadId>/files/<fileId> for each file or PUT /uploads/<uploadId>/archive (application/zip) → POST /uploads/<uploadId>/finalize → GET /uploads/<uploadId> while validating.
  • List versions: GET /releases. Preview a ready version: POST /launch with {"releaseId":"<releaseId>"} and X-Fragment-Publication: 1. Active-version launch uses {} after a separate activation.
  • Requires the gateway ZIP/preview endpoints from celonis/ems-frontend#73204. API reference.
  • Validation: TypeScript build, CLI help and local ZIP format checked. Earlier individual-file patient-zero upload succeeded; ZIP upload has not been exercised against the tenant. Prototype: no automated test suite or lint run.

Introduce content-cli sdk publish --app-id <id> --dist <dir> that uploads
browser-ready builds through fragment gateway upload/finalize. Includes
binary raw transport support in HttpClient with full-profile auth reuse.

Upload-only: finalization does not activate or launch the app.
@andrey-sitsko
Andrei Sitsko (andrey-sitsko) marked this pull request as draft October 16, 2026 14:00
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
1.1% Coverage on New Code (required ≥ 85%)
17 New Minor Issues (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant