Open wernerflamme opened 5 years ago
Hello Werner,
Sorry for the late reply. Uploading files is currently not supported by idoitcli
. But it makes sense to implement this feature because – like you wrote – the i-doit JSON-RPC API is able to upload base64 encoded files. My idea is to add a new command called upload
:
idoitcli upload path/to/file.txt --object 123 --new
The optional option --object
assigns the file to an object identified by its title or identifier.
The other optional option --new
enforces to create a new file object before uploading. Otherwise, it will try to identify an existing file object by the title file.txt
.
What do you think?
Hello Benjamin,
I think this is great. Currently I'm building my own JSON query and using idoitcli call "$MYQUERY"
to do it.
Maybe you can include the possibility to add the uploaded file as a new version to an already existing file object? Like, I created a file object (cmdb.object.create 'COBJTYPEFILE) named "Patchlist myhost" and upload the new files as versions now (cmdb.category.create, CCMDBSUBCAT__FILE_VERSIONS). My files are named hostname_timestamp.txt, so I use the hostname to find "Patchlist $hostname" and add version "$timestamp". This would better be extra parameters though...
BTW, I found out (by replaying the samples from the API sample page) that I even don't need to include my apikey since idoitcli adds it if it's missing. This is a noteable feature since it allows better sharing of scripts using idoitcli :+1:
I chanced in issuing
idoitcli create file/"Patches MYHOST_2011-05-03.txt"
The file entry showed up in idoit. But how do I upload the file via idoitcli?Expected behavior
idoitcli list
oridoitcli create -h
should show some hints how to upload files to idoit. From using the API, I know that there would be 3 steps:Actual behavior
There are no hints available how to achieve this.
Steps to reproduce the behavior
Get a file and try to upload :grin:
idoitcli create file/"Patches MYHOST_2011-05-03.txt"
creates a File object named "Patches MYHOST_2011-05-03.txt" inside idoitidoitcli create ???
uploads the file contentidoitcli create ???
joins the file to another object, like a Server objectI'm sorry if I missed available docs, but I've been too thick to find them. :disappointed:
Regards, Werner