Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing documentation: How to upload a file? #26

Open
wernerflamme opened this issue Jun 13, 2019 · 2 comments
Open

Missing documentation: How to upload a file? #26

wernerflamme opened this issue Jun 13, 2019 · 2 comments

Comments

@wernerflamme
Copy link

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 or idoitcli create -h should show some hints how to upload files to idoit. From using the API, I know that there would be 3 steps:

  • create the file object (that I did)
  • upload the file content (cmdb.category.create)
  • link the file to MYHOST (also cmdb.category.create)

Actual behavior

There are no hints available how to achieve this.

Steps to reproduce the behavior

Get a file and try to upload 😁

  • idoitcli create file/"Patches MYHOST_2011-05-03.txt" creates a File object named "Patches MYHOST_2011-05-03.txt" inside idoit
  • idoitcli create ??? uploads the file content
  • idoitcli create ??? joins the file to another object, like a Server object

I'm sorry if I missed available docs, but I've been too thick to find them. 😞

Regards, Werner

@bheisig
Copy link
Owner

bheisig commented Jun 26, 2019

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?

@wernerflamme
Copy link
Author

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 'C__OBJTYPE__FILE) named "Patchlist myhost" and upload the new files as versions now (cmdb.category.create, C__CMDB__SUBCAT__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 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants