Skip to content
On this page

Contributing Items

The Marketplace Repository in GitHub lists all officially supported Marketplace items used by the Netzo Web Platform.

We review all Marketplace items before they are published. This means that it may take some time before we can review your item.

To submit a Marketplace item for review:

  1. Fork this repository
  2. Select and copy any other item as a starting template
  3. Develop the item by modifying the copied files accordingly
  4. Add the URL of the item.json file to items.json
  5. Create a pull request

Feel free to contribute Marketplace item requests. We continuously select popular item requests (based on upvotes and other factors) to implement them and make them available in the marketplace as core items. The source code for relevant items (those with a main field in its item.json file) can be stored directly at the item's directory, feel free to contribute the item implementation as well. After a quick review they would also appear in the marketplace as community items.

item.json

To be valid, a item.json file must validate against the item.schema.json JSON Schema. You can use a tool like JSON Schema Validator for quickly testing your item.json files. The following table summarizes the fields in a item.json file.

PropertyTypeRequiredDescription
uidStringtrueA unique ID (camel-case) prefixed by the initials of its the item type (dashboard-, request- or worker-)
typeStringtrueItem type, one of dashboard, request or worker
versionStringtrueItem version in semantic version format
statusStringtrueMarks the current development status of the item. One of alpha, beta, stable, requested, deprecated
categoryStringtrueMarks the category of the item. One of core, community, enterprise
nameStringtrueA human-friendly display name for the item
descriptionStringtrueA brief description of the item
labelsString[]falseAn array of relevant keywords (tags) (kebab-case)
authorsString[]falseAn array of emails of item authors or owners (e.g. [email protected])
licenseStringfalseA string indicating licensing information (e.g. MIT)
displayDisplaytrueA Display object specifying relevant details for rendering the item in the UI
linksLink[]falseAn array of link relations to related web resources
itemStringObjectA URL (string) pointing to a JSON document or an inlined object of the item (basically all required values)

Display

PropertyTypeRequiredDescription
imageUrlStringtrueURL to the item's display image (used as logo)
screenshotsImage[]falseArray of image resource objects specifying sample screenshots of the item in action

Image

PropertyTypeRequiredDescription
labelStringfalseThe accessible name for the associated image
sizesStringfalseSpecifies which image is most suitable for each display context
typeStringfalseThe image MIME type for the image resource (e.g. image/png, image/svg, image/jpg)
srcStringtrueURL from wich the image can be fetched from the internet
PropertyTypeRequiredDescription
relStringfalseThe link relation (see possible values here)
nameStringfalseThe human-friendly display name
hrefStringtrueURL to the link resource in the internet

Example item.json

Here's a reduced example of a item.json file. You can also always have a look at other items for further reference.

{
  "uid": "worker-hello-world",
  "type": "service",
  "version": "1.0.0",
  "status": "stable",
  "category": "core",
  "name": "Hello World",
  "description": "An HTTP server that responds with a static 'Hello World' string to all requests.",
  "labels": [],
  "authors": [
    "[email protected]"
  ],
  "license": "MIT",
  "display": {
    "imageUrl": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1pYyIgd2lkdGg9IjFlbSIgaGVpZ2h0PSIxZW0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iIzg4ODg4OCIgZD0iTTExIDIxaC0xbDEtN0g2Ljc0UzEwLjQyIDcuNTQgMTMgM2gxbC0xIDdoNC4yOEwxMSAyMXoiPjwvcGF0aD48L3N2Zz4=",
    "screenshots": []
  },
  "links": [
    {
      "rel": "author",
      "href": "https://netzo.io",
      "title": "Netzo"
    },
    {
      "rel": "repository",
      "href": "https://github.com/netzoio/netzo/tree/main/marketplace/workers/worker-hello-world"
    },
    {
      "rel": "readme",
      "href": "https://raw.githubusercontent.com/netzoio/netzo/main/marketplace/workers/worker-hello-world/README.md"
    },
    {
      "rel": "license",
      "href": "https://raw.githubusercontent.com/netzoio/netzo/main/LICENSE"
    }
  ],
  "item": {
    "_type": "service",
    "uid": "worker-hello-world",
    "name": "Countries",
    "description": "API for Countries",
    "content": "import { serve } from \"https:\/\/deno.land\/[email protected]\/http\/server.ts\"; function handler(_req: Request): Response { return new Response(\"Hello, World\"); } serve(handler);"
  }
}
Contributing Items has loaded