-
Notifications
You must be signed in to change notification settings - Fork 3
ISS-120468: Update documentation for the marketplace related commands #95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
f6b0f3f
ISS-120468: Update documentation for the marketplace related commands
MhcVintar 48960fc
forgot to update the public.yml file
MhcVintar 32efb15
resolved comments
MhcVintar e0a14ad
nit
MhcVintar dbba795
Merge branch 'main' into ISS-120468-marketplace-listings
MhcVintar 7053d58
nit
MhcVintar 409972b
Merge remote-tracking branch 'origin/ISS-120468-marketplace-listings'…
MhcVintar 186ed18
resolved comments
MhcVintar 7754362
forgot to add pictures
MhcVintar 69b841c
resolved comments
MhcVintar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,239 @@ | ||
# Publish an item to Marketplace | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Welcome to the documentation page for publishing marketplace listings to the DevRev marketplace using the DevRev CLI. | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
This guide will walk you through the process of submitting your listing, reviewing it, and publishing it for users to | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
access and engage with. You will learn about creating and updating marketplace submissions, the roles of the marketplace | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
publisher and admin, and the steps involved in getting your submission approved. Whether you're new to the DevRev CLI or | ||
looking for a refresher, this documentation will provide you with the necessary information to navigate the publishing | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
process seamlessly. Let's dive in and get started! | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Table of Contents | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- [Publish an item to Marketplace](#publish-an-item-to-marketplace) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Table of Contents](#table-of-contents) | ||
- [Glossary](#glossary) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Marketplace](#marketplace) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Marketplace Submission](#marketplace-submission) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Marketplace Item](#marketplace-item) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Marketplace listing](#marketplace-listing) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Publishing process](#publishing-process) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Get Started](#get-started) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Create a Snap-In](#create-a-snap-in) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Create marketplace listing](#create-marketplace-listing) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Initial submission](#initial-submission) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [New submission for an existing marketplace item](#new-submission-for-an-existing-marketplace-item) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Update marketplace submission](#update-marketplace-submission) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Publish marketplace submission](#publish-marketplace-submission) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Delete marketplace submission](#delete-marketplace-submission) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Auto-upgradation of marketplace-items](#auto-upgradation-of-marketplace-items) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Sharing marketplace listings](#sharing-marketplace-listings) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Ranking marketplace listings](#ranking-marketplace-listings) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Some helpful commands](#some-helpful-commands) | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Glossary | ||
|
||
### Marketplace | ||
|
||
A marketplace serves as a platform for creators and consumers to collaborate, engage, and conduct transactions. It | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
provides an avenue for distributing your products and services, thereby enabling you to generate revenue from them. | ||
|
||
### Marketplace Submission | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
This object is utilized for submission purposes when the marketplace publisher is either creating a new listing for the | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
marketplace or updating an existing one. | ||
|
||
### Marketplace Item | ||
|
||
Any item in marketplace listings that is available for installation. | ||
|
||
#### Marketplace listing | ||
|
||
Marketplace listing refers to all the marketplace items that belong to the same marketplace and have the same slug. It | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
is also important to note that at most one marketplace item, belonging to a specific marketplace listing, can be in the | ||
`Published` state. | ||
|
||
 | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Publishing process | ||
|
||
The publishing process begins by initiating a marketplace submission, which entails requesting the creation of a new | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
marketplace listing or updating an existing one. The submission is created by the marketplace publisher and subsequently | ||
reviewed by the marketplace admin. Once the submission is ready for review, the publisher must transition it to the ' | ||
waiting for review' state. During this phase, the marketplace admin conducts a review and decides whether to approve or | ||
reject the submission. If the submission is approved, the marketplace publisher can proceed to publish it. However, if | ||
the submission is rejected, the publisher has the option to make updates and resubmit it for another round of review. | ||
|
||
 | ||
|
||
## Get Started | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
To get started with publishing a marketplace item, you will need the DevRev CLI. For CLI related | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
guide [visit here](https://github.com/devrev/snap-in-docs/blob/main/references/cli.md). | ||
|
||
### Create a Snap-In | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
To proceed with making a submission in the marketplace, you will need a Snap-In for which we will create this | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
submission. If you are new to | ||
Snap-Ins, [follow this guide here](https://github.com/devrev/snap-in-docs/blob/main/start.md), to create your first | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Snap-In. | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Create marketplace listing | ||
|
||
When creating a new marketplace listing, we have to create an initial submission where we provide all the mandatory | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
properties (e.g. name, description, icon, etc.). | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
### Initial submission | ||
|
||
To create a new marketplace listing, run the following command, which will start a __wizard__ to guide you through the | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
process: | ||
|
||
```bash | ||
devrev marketplace_submissions create | ||
``` | ||
|
||
### New submission for an existing marketplace item | ||
|
||
When a marketplace listing already exists (there is at least one marketplace item in the `published` or `end_of_sale` | ||
state), we can modify the listing by creating a new submission. First we have to create a submission which we can later | ||
update | ||
as desired. | ||
|
||
To create a new submission for an existing marketplace listing, run the following command, which will start a __wizard__ | ||
to | ||
guide you through the process: | ||
|
||
```bash | ||
devrev marketplace_submissions create | ||
``` | ||
|
||
## Update marketplace submission | ||
|
||
Once a submission has been created, it can be updated by running the following command, which will start a __wizard__ to | ||
guide you through the process: | ||
|
||
```bash | ||
devrev marketplace_submissions update | ||
``` | ||
|
||
## Publish marketplace submission | ||
|
||
The newly created marketplace submission is in the `draft` state. In order to publish it, we first have to transition it | ||
to`waiting_for_review` state. This can be done by running the following command, which will start a __wizard__ to guide | ||
you through the process: | ||
|
||
```bash | ||
devrev marketplace_submissions transition | ||
``` | ||
|
||
Once the submission is transitioned to the `waiting_for_review` state, it needs to be approved by a marketplace admin. | ||
While in review, the state of the submission is `in_review`. Once it is reviewed, the state will be changed to either | ||
`approved` or `rejected`. | ||
|
||
<Callout intent="note"> | ||
Submissions whose state is `in_review` cannot be modified. | ||
</Callout> | ||
|
||
|
||
If the submission was rejected, we can transition it back to `draft` state and modify it to satisfy the requirements. | ||
Once the submission is updated, we can transition it back to `waiting_for_review` state to be reviewed again. | ||
|
||
If the submission was approved, we can publish it using the following command, which will start a __wizard__ to guide | ||
you through the process: | ||
|
||
```bash | ||
devrev marketplace_items publish | ||
``` | ||
|
||
To make sure that marketplace item was published we can retrieve it using its ID: | ||
|
||
```bash | ||
devrev marketplace_items show "<id>" | jq "{name: .name, id: .id}" | ||
``` | ||
|
||
## Delete marketplace submission | ||
|
||
If a marketplace submission was created by mistake or is no longer relevant, it can be deleted. However, deletion of a | ||
marketplace submission is only permitted for the owners of the submission and is restricted to submissions that are in | ||
the `draft` or `rejected` state. You can delete a submission using the following command, which will start a __wizard__ | ||
to guide you through the process: | ||
|
||
```bash | ||
devrev marketplace_submissions delete | ||
``` | ||
|
||
## Auto-upgradation of marketplace-items | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
For marketplace-items that are Snap-Ins, auto-upgradation is also supported. | ||
Once a new version for a marketplace-item is published, the respective Snap-Ins will be auto-upgraded to the latest | ||
version. | ||
|
||
However, there are some criteria that need to be met for auto-upgrade to work: | ||
|
||
- The upgrade should not require any user input/action. | ||
- There should not be any new global variables added. | ||
- There should not be any new connections that needs to be configured. | ||
|
||
## Sharing marketplace listings | ||
|
||
By default, all marketplace listings are accessible to all users. However, if someone wants to share a specific | ||
marketplace listing with certain organizations only, they should follow the steps below: | ||
|
||
- When creating an initial submission, property __access level__ should be set to `restricted`. | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Proceed through the review process to obtain approval for the submission. | ||
- Once the submission is approved, publish it to create the marketplace item. | ||
- To invite a specific DEV organization to the newly created marketplace item, execute the following command: | ||
|
||
```bash | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
devrev marketplace_items invite [marketplace_item_id] [dev_org_id] | ||
``` | ||
|
||
Example: | ||
|
||
```bash | ||
devrev marketplace_items invite "don:integration:dvrv-us-1:devo/123:marketplace/456:marketplace_item/789" "don:identity:dvrv-us-1:devo/456" | ||
``` | ||
|
||
Once an organization is invited to a marketplace listing, their members can *view* and *install* it within their own | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
organization. | ||
|
||
When a marketplace listing is marked as restricted, it is possible to change the access level to `public`. However, | ||
the reverse process, changing the access level from `public` to `restricted`, is not permitted. | ||
|
||
When a marketplace listing is shared with an organization, this information is **retained when creating new submissions | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
for the same listing**. Additionally, automatic upgrades function seamlessly, just like in the case of public | ||
marketplace listings. | ||
|
||
## Ranking marketplace listings | ||
|
||
The items listed on the marketplace are arranged based on the `meta_score` property, with those having higher scores | ||
appearing at the top of the list. To manage the `meta_score` property, a dedicated API called `marketplace-items.rank` | ||
is utilized. To update the `meta_score`, one needs to provide the `marketplace item ID` along with the desired score ( | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
within the allowed range of values: [1, 100000]): | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
```bash | ||
devrev marketplace_items rank "<marketplace_item_id>" "<meta_score>" | jq | ||
``` | ||
|
||
<Callout intent="note"> | ||
Please note that API usage is restricted exclusively to `DEV-0` users. | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
</Callout> | ||
|
||
## Some helpful commands | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
List marketplaces: | ||
MhcVintar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
```bash | ||
devrev marketplace list | jq "{name: .name, type: .marketplace_type, id: .id}" | ||
``` | ||
|
||
List marketplace items (by default, listings are from universal marketplace): | ||
|
||
```bash | ||
devrev marketplace_items list | jq "{name: .name, id: .id, type: .type}" | ||
``` | ||
|
||
List marketplace items in **organizational** marketplace: | ||
|
||
```bash | ||
devrev marketplace_items list --marketplace "<id>" | jq "{name: .name, id: .id, type: .type}" | ||
``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.