Release your app
Validate, publish, and submit your OCP app for review to release it publicly in the OCP App Directory.
When your app is ready, validate and publish it to the OCP App Directory. To release it publicly, submit it for review by Optimizely.
For details on preparing, publishing, and installing, see Prepare, publish, and install.
Release options
When you release your app, choose one of the following options:
- Normal version – Remove the pre-release tag, such as
1.0.0. The app is publicly available to all Optimizely customers in the App Directory after review approval. - Private version – Use the
-privatetag, such as1.0.0-private. The app is released to production, but availability is limited to selected OCP accounts. Use this when you want to release production-ready functionality but control who can install the app. Private versions also require review approval. To install a private version to selected accounts, use theocp directory installcommand:ocp directory install [email protected] TRACKER_ID
Validate, prepare, publish, and install
- Validate your app configuration by running
ocp app validatein the CLI. - Run
ocp app prepareto prepare your app for publishing. This initiates the code review process. When you run this command with a release version, the CLI prompts you to confirm:Enter yes to proceed. When your app is approved (review takes one to two business days), proceed to step 3.You are uploading a release version of the app. This will start a review process and the app can't be published until it is approved. Are you sure? - Publish the app to the OCP App Directory by running
ocp directory publish [email protected]. See App versioning for details on versioning your app. - Run
ocp directory install [email protected] TRACKER_IDto install the app into your OCP account. ReplaceTRACKER_IDwith your OCP account tracker ID. For example,ocp directory install [email protected] Z6jCndly_E2WzpvDkcKBKA.
View your app listing in the OCP App Directory.
App review process
NoteThe app review process typically takes one to two business days to complete.
Running the ocp app prepare command with normal, beta, or private versions initiates the app review process.
The Optimizely App Review team invites you to a GitHub repository containing your app code. When you accept the invitation, you can see the pull request and feedback from Optimizely engineers as they review your code.
NoteGitHub notifies you by email about any activity in your app review repository.
If Optimizely determines that changes are required, Optimizely submits a GitHub pull request. After you make the requested changes, run ocp app prepare in the OCP CLI again with the same version. This updates the pull request with the latest code from your app.
This review ensures your app meets design guidelines, content guidelines, and security requirements so customers can safely use your app.
Best practices
Your app should meet the following guidelines before you submit it for review:
Security
- Your app cannot contain any secrets or credentials. Store secrets in environment variables, in a
.envfile outside of GitHub. - Your app cannot log secrets or credentials.
- The
.envfile cannot be part of the repository. - Your app cannot import PII data.
- Your app cannot scan the engine code or invoke internal engine code other than through the API defined in the App SDK.
- Your app cannot execute any OS commands directly.
- Your app cannot gather, log, or send any information about how the runtime is built (OS version, folder structure, networking, ports, and so on).
app.yml
- Your app must accurately identify itself in the metadata section. The
app_id,display_name, andsummaryshould clearly identify the app and its purpose. - All URLs you define in the metadata must be valid, functioning URLs.
- Define the partner developing the app in the
vendorfield.
Jobs
- The
performmethod should complete in under 60 seconds. - The
preparemethod should handle initializing and resuming the job.
Logging
- Use
loggerfor logging, notconsole.
src/schema
- Prefix all objects and fields unique to your app with your app ID.
Storage
- Your app cannot store data outside of OCP. Use available storage instead.
- Only store secrets in the secrets store.
Track your app review in GitHub
When you submit your app for review, GitHub sends you an email inviting you to your app's repository in Optimizely-Connector-Platform-AppReview. Accept the invitation to participate in the review. GitHub notifies you each time Optimizely comments on your review or requests changes.
Communicate directly with the reviewers in GitHub throughout the review process.
Check review status in the OCP CLI
Run the following command in the OCP CLI to view your app's review status:
ocp directory status APP_REVIEW_ID@APP_VERSIONOpen GitHub review from the OCP CLI
Run the following command in the OCP CLI to open the GitHub review in your browser:
ocp review open APP_REVIEW_ID@APP_VERSIONChange requests during app review
During the review, Optimizely may submit change requests through GitHub. To make the requested changes:
- Change the version of your app in app.yml back to a dev version by adding the
-devtag. For example, if the app version you submitted for review was0.0.1, change it to0.0.1-dev.1.NoteMaintain the same version number (for example,
0.0.1) throughout the review. Changing the version number creates a new review repository. - Make the requested changes, then test your app internally with the
-devtag. - Remove the
-devtag from the version in app.yml. - Run the following command in the OCP CLI to resubmit your app to the existing review:
ocp app prepare
Continue monitoring the review in GitHub and making the requested changes until your app is approved.
Release publicly
When Optimizely approves your app, run the following command in the OCP CLI to release your app publicly:
ocp directory publish [email protected]Your app is then available in the OCP App Directory for all Optimizely customers.
Versioning after release
After your initial release, publish updates using the same versioning scheme:
PATCHversions like1.0.1– Bug fixes that require a review.MINORversions like1.1.0– Feature additions that auto-upgrade existing installations after review approval.MAJORversions like2.0.0– Breaking changes that require a review.
See App versioning for details on how OCP handles version upgrades and the -dev workflow.
Updated about 23 hours ago
