CLI client for SBM 12.0 JSON API
Project description
sbm-cli
A generic command-line client for the SBM (Serena Business Manager) 12.0 JSON API.
Designed for day-to-day L3 support work and for use as a tool by AI assistants (Claude Code).
Install
# Recommended — isolated environment
uv tool install sbm-cli
# Also works
pip install sbm-cli
Quick start
sbm configure setup # interactive setup wizard
sbm schema # verify config and see available transitions
sbm list # list open tickets
sbm get 02440942 # get ticket details
Configuration
Config is stored at ~/.sbm-cli/config.toml. Run sbm configure setup to create it interactively.
The password is stored in Windows Credential Manager (never in the config file). If you have an
existing config with a plaintext password field, it is migrated automatically on the next run.
Use sbm configure transition <name> to add or update a named transition interactively.
Manual editing is still needed for teams (transition IDs are instance-specific):
[connection]
host = "https://sbm.example.com"
username = "myuser"
verify_ssl = false # set true for trusted certs
[defaults]
table_id = 1000
report_id = 2208
list_fields = ["TITLE","STATE","FUNCTIONALITY","URGENCY"] # optional; blank uses built-in default
[transitions]
assign = { id = 155, fields = ["OWNER", "3RD_LEVEL_SPECIALIST"] }
close = { id = 19, fields = ["RESOLUTION", "ROOT_CAUSE"], pre_transition_id = 148, pre_transition_optional = true }
return-l2 = { id = 88, fields = ["RETURN_REASON", "RETURN_NOTE"] }
transfer = { id = 140, fields = ["L3_SPECIALIST_GROUP"] }
[transitions.transfer.field_types]
L3_SPECIALIST_GROUP = "list"
[teams]
my-team = { id = 155, name = "L3 My Team" }
Transition IDs are instance-specific. Find them by inspecting browser developer tools while performing actions in the SBM web UI, or ask your SBM admin.
Commands
| Command | Description |
|---|---|
sbm configure setup |
Interactive setup wizard |
sbm configure transition <name> |
Add/update a named transition interactively |
sbm schema |
Machine-readable capabilities JSON |
sbm list [--report N] [--filter N] |
List tickets |
sbm get <ticket-id> |
Get ticket by display ID |
sbm fields <ticket-id> [--fields F1,F2] |
List field definitions (dbnames, types, labels) |
sbm transition <name> <ticket-id> --field K=V |
Run named transition |
sbm transition run <ticket-id> --id N --field K=V |
Run raw transition by ID |
sbm field-values <field> --table <table-id> |
Discover valid relational field values |
sbm teams |
List configured teams |
Global flags
Global flags must appear before the subcommand: sbm --pretty list, not sbm list --pretty.
--pretty / -H Human-readable output (rich tables)
--config PATH Override config file location
--quiet Suppress stderr status messages
--indent Output formatted JSON with indentation
Output format
All commands output a JSON envelope:
{"ok": true, "command": "get", "data": {...}}
{"ok": false, "command": "transition", "error": {"type": "api_error", "message": "..."}}
Exit codes: 0 success · 1 API error · 2 config/auth error · 3 validation error
Development
git clone https://github.com/xdoko01/sbm-cli
cd sbm-cli
uv sync
uv run sbm configure
uv run pytest
uv run pytest -m integration # requires live SBM connection
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sbm_cli-0.3.0.tar.gz.
File metadata
- Download URL: sbm_cli-0.3.0.tar.gz
- Upload date:
- Size: 456.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd90aa5f785bf33bda3452657591d36e10c595767c168b984e1112ba1603dfac
|
|
| MD5 |
36879307eeda8356ad45e8fdd73d8109
|
|
| BLAKE2b-256 |
0bca9ae8c675703a784b96cc485d544c7b5582bfa32f176c86b2fdb25de21e2a
|
File details
Details for the file sbm_cli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: sbm_cli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2bb712c6c468407118821ad8d8a38b77caefe007b961a89fd1fabe559fd80ff
|
|
| MD5 |
c4365d34c9a3ce6f1c45374c62cf35bc
|
|
| BLAKE2b-256 |
39a43c4f65660ca5c1a006faf9a4f48ccec461526da990d5ec3d5e310928e33f
|