Publish a Package on Open ITSM Hub
Open ITSM Hub is an open, versioned directory where every package lives as a JSON file under content/packages/ in the GitHub repository. "Publishing" simply means adding a JSON file via a pull request. There is no registration and no separate backend.
Method 1: Directly from the .sopm Generator (Recommended)
- Open the .sopm Generator and fill out the form.
- In the "Publish on Open ITSM Hub" section, click Prepare Pull Request.
- GitHub opens the "new file" view with the catalog JSON already pre-filled.
- Commit to a branch and open the pull request — you're done.
The generator automatically takes care of the name, version, vendor, license, and — thanks to compatibility analysis — all matching compatibility.systems entries.
Method 2: From an Existing .sopm (CLI)
If you already have a .sopm, convert it using the provided script:
python data-scrape/sopm_to_catalogue.py path/to/MyPackage.sopm --write
This writes content/packages/<slug>.json. Afterward, commit the file and open a pull request.
The Catalog Entry
The generated JSON follows the packages schema (see content.config.ts) and includes, among other things:
{
"basic_info": { "title": "MyPackage", "slug": "my-package", "summary": "..." },
"provider": { "vendor_name": "Example GmbH", "vendor_type": "community" },
"compatibility": {
"systems": [
{ "system_id": "otobo", "system_name": "OTOBO", "supported_versions": ["11.0.x"] },
{ "system_id": "znuny", "system_name": "Znuny", "supported_versions": ["7.0.x"] }
]
},
"technical_details": { "latest_version": "1.0.0", "package_type": ".opm" }
}
Why This Works Well
- Discoverability — Your package appears in fork-specific directories (
/otobo-plugins,/znuny-plugins, etc.) and in search results. - Greater Reach — Cross-compatible packages are displayed to all matching communities.
- Transparency — Data origins are versioned and fully traceable.
Tip: Use the Compatibility Checker beforehand to see which forks you should declare.
