Einstieg
Znuny Python SDK installieren und das erste Ticket über die GenericInterface REST API erstellen.
Einstieg — Znuny Python SDK
Webservice erforderlich.
pip install znunyallein reicht nicht. Zuerst GenericInterface REST auf dem Znuny-Server einrichten — siehe Webservice einrichten.
pip install znuny
from znuny import ZnunyClient, BasicAuth, ClientConfig, TicketCreate, TicketOperation
Voraussetzungen
- Znuny mit aktivem GenericInterface und REST-Webservice
- Agent-Login mit Webservice-Berechtigung
- Python 3.11+
Ohne Webservice: Webservice einrichten — znuny-cli setup-system auf dem Znuny-Server.
Znuny-Begriffe
| Znuny-Begriff | Bedeutung für dieses SDK |
|---|---|
| Webservice | Benannte REST-Schnittstelle; ClientConfig.webservice_name muss übereinstimmen |
| Operation | Eine Ticket-Aktion (Create, Get, Search, Update); Eintrag in operation_url_map |
| Agent-Login | Benutzer für BasicAuth — benötigt Webservice-Berechtigung |
| Queue | Ticket-Eingang; z. B. IdName(name="Raw") in Modellen |
| Dynamic Field | Benutzerdefiniertes Ticketfeld; als dict[str, str] übergeben |
Webservices konfigurieren Sie unter Admin → Web Services in Znuny, oder znuny-cli setup-system legt einen an.
Konfiguration
config = ClientConfig(
base_url="https://your-znuny-server",
webservice_name="PythonClientWebService",
operation_url_map={
TicketOperation.CREATE: "ticket-create",
TicketOperation.GET: "ticket-get",
TicketOperation.SEARCH: "ticket-search",
TicketOperation.UPDATE: "ticket-update",
},
)
client = ZnunyClient(config)
client.login(BasicAuth(user_login="agent1", password="secret"))
URLs folgen dem Znuny/OTRS-Muster: {base_url}/Webservice/{name}/{operation}
Ticket anlegen
import asyncio
from znuny import Article, IdName, TicketCreate
async def main() -> None:
ticket = TicketCreate(
title="Neue Anfrage",
queue=IdName(name="Raw"),
article=Article(subject="Hallo", body="Tickettext"),
)
async with client:
created = await client.create_ticket(ticket)
print(created.id)
asyncio.run(main())
CLI-Setup
znuny-cli setup-system
Verwendet standardmäßig otrs.Console.pl.
