Unable to grab UUID to send via webhook

Hello Community,

I am trying to pass a uuid or anything that let me download the result from that job. I am using PyODM and it lets me pass a webhook. I want that function to download the result, but I cant pass the uuid in the webhook since its not created yet. I tried passing a name and try to use node.get_task(name) but it doesnt work.

Anyone have a clue either how to pass the uuid when creating the job or how I can target the job so I can grab the uuid and download it?

Here is part of the code:

        task = node.create_task(listBlob,
                                {'dsm': True, 'orthophoto-resolution': 4}, name, None, False, webhook)

Other function recieving the webhook

task = node.get_task(name/uuid)
zip_dir = tempfile.gettempdir()
blob_path = task.download_zip(zip_dir)

Best Regards,
Rasmus

1 Like

The webhook is a URL that gets called (via POST request) after processing has completed, and already includes the UUID of the task (along with other information), see NodeODM/Task.js at 994d049074abbafeb6ad817330c38268b77db260 · OpenDroneMap/NodeODM · GitHub

So you don’t need to pass the UUID, it’s already included.

2 Likes

Thanks for the answer! Interesting, didnt realize it was a post request with baked in post parameters. Though you had to pass that through the URL you specify!

2 Likes

If I understand this correctly the webhook doesn’t include node ip?

            uuid: this.uuid,
            name: this.name,
            dateCreated: this.dateCreated,
            dateStarted: this.dateStarted,
            status: this.status,
            options: this.options,
            webhook: this.webhook,
            skipPostProcessing: !!this.skipPostProcessing,
            outputs: this.outputs || []

I am trying to download the correct result from the cluster and need to identify the right node in the cluster that did that particalar job!

Best Regards,
Rasmus

1 Like