Seite 1 von 1

Ein installiertes Produkt einer Gruppe hinzufügen

Verfasst: 21 Jun 2024, 12:53
von andreashafner-isg
Hallo zusammen,
ich habe nun auf verschiedenen Wegen versucht, ein Produkt einer Gruppe hinzuzufügen. Das ganze möchte ich mit Kommandozeilentools über ssh machen. Produktdaten hochladen, opsi-makepackage und opsi-package-manager -i klappen inzwischen. Nun fehlt mir nur noch das hinzufügen in eine Gruppe. Das ganze mache ich aus einem Pythonscript heraus am Ende.
Zuletzt habe ich versucht in der Terminal Konsole des Servers selbst erstmal ans Ziel zu kommen.

Folgende Dinge habe ich versucht:

Code: Alles auswählen

opsi-admin -d method objectToGroup_insertObject '[{"type": "Product", "id": "meineprodukt-id"}]' "testsoftware"
opsi-admin -d method objectToGroup_insertObject "[{{\\"type\\": \\"Product\\", \\"id\\": \\"{context["meineprodukt-id"]}\\"}}]" "testsoftware"'
opsi-admin -d method objectToGroup_insertObject "[\"{context["meineprodukt-id"]}\"]" "testsoftware"
opsi-cli jsonrpc objectToGroup_insertObject {{"groupId":"testsoftware","objectId":"{context["meineprodukt-id"]}"}}

Kann mir jemand auf die Sprünge helfen anhand der Doku komm ich nicht mehr weiter.

Grüße
Andreas

Re: Ein installiertes Produkt einer Gruppe hinzufügen

Verfasst: 21 Jun 2024, 15:30
von j.schneider
Hallo,

ja, leider ist die aktuelle API etwas sperrig.
So sollte es funktionieren:

Code: Alles auswählen

 opsi-cli jsonrpc execute objectToGroup_createObjects '{"type":"ObjectToGroup","groupType":"ProductGroup","groupId":"testsoftware","objectId":"meineprodukt-id"}' 
Oder:

Code: Alles auswählen

 opsi-admin method objectToGroup_createObjects '{"type":"ObjectToGroup","groupType":"ProductGroup","groupId":"testsoftware","objectId":"meineprodukt-id"}' 
Grüße
Jan Schneider

Re: Ein installiertes Produkt einer Gruppe hinzufügen

Verfasst: 24 Jun 2024, 14:03
von andreashafner-isg
Hallo Herr Schneider,
vielen Dank für die schnelle Hilfe.
mit dem Befehl opsi-admin hat es Super geklappt.
In meinem Python Script habe ich es mit dem ssh client und folgendem code

Code: Alles auswählen

group_command = f'opsi-admin method objectToGroup_insertObject \'{{"groupType": "ProductGroup", "groupId": "{product_group}", "objectId": "{product_id}"}}\''
dann auch hinbekommen. Falls mal jemand vor der selben Frage steht.

Vielen Dank und Grüße
Andreas Hafner