diff --git a/data/recipes/openrelik_ts.json b/data/recipes/openrelik_ts.json index 2a39275b2..8059f15f9 100644 --- a/data/recipes/openrelik_ts.json +++ b/data/recipes/openrelik_ts.json @@ -16,7 +16,7 @@ "incident_id": "@incident_id", "sketch_id": "@sketch_id", "folder_id": "@folder_id", - "workflow_id": "@workflow_id", + "template_workflow_id": "@template_workflow_id", "openrelik_api": "@openrelik_api", "openrelik_ui": "@openrelik_ui", "openrelik_api_key": "@openrelik_api_key" @@ -40,7 +40,7 @@ ["--incident_id", "Incident ID (used for Timesketch description).", null], ["--sketch_id", "Timesketch sketch to which the timeline should be added.", null, {"format": "integer"}], ["--folder_id", "OpenRelik Folder ID.", null], - ["--workflow_id", "OpenRelik workflow template ID.", null], + ["--template_workflow_id", "OpenRelik workflow template ID.", null], ["--openrelik_api", "OpenRelik API server URI.", "http://localhost:8710"], ["--openrelik_ui", "OpenRelik UI URI.", "http://localhost:8711"], ["--openrelik_api_key", "OpenRelik API key", ""], diff --git a/dftimewolf/lib/processors/openrelik.py b/dftimewolf/lib/processors/openrelik.py index c88e8a6c3..ab90f1d92 100644 --- a/dftimewolf/lib/processors/openrelik.py +++ b/dftimewolf/lib/processors/openrelik.py @@ -39,7 +39,7 @@ def __init__( self.openrelik_api: str | None = None self.openrelik_ui: str | None = None self.openrelik_api_key: str | None = None - self.workflow_id: int | None = None + self.template_workflow_id: int | None = None self.folder_id: int | None = None self.sketch_id: int | None = None self.incident_id: str | None = None @@ -50,7 +50,7 @@ def SetUp( incident_id: str | None, sketch_id: int | None, folder_id: int | None, - workflow_id: int | None, + template_workflow_id: int | None, openrelik_api: str | None, openrelik_ui: str | None, openrelik_api_key: str | None, @@ -67,12 +67,13 @@ def SetUp( ) self.folder_id = folder_id - self.workflow_id = workflow_id + self.template_workflow_id = template_workflow_id self.incident_id = incident_id self.sketch_id = sketch_id def PollWorkflowStatus(self, workflow_id: int) -> Iterator[str]: """Polls the status of a workflow until it completes.""" + filename = str(workflow_id) workflow = self.openrelik_workflow_client.get_workflow( self.folder_id, workflow_id @@ -149,7 +150,7 @@ def Process(self, container: containers.File) -> None: file_ids.append(file_id) workflow_id = self.openrelik_workflow_client.create_workflow( - folder_id, file_ids, self.workflow_id + folder_id, file_ids, self.template_workflow_id ) workflow_url = f"{self.openrelik_ui}/folder/{folder_id}" self.PublishMessage( diff --git a/tests/lib/processors/openrelik.py b/tests/lib/processors/openrelik.py index 40698bd43..68eed8868 100644 --- a/tests/lib/processors/openrelik.py +++ b/tests/lib/processors/openrelik.py @@ -84,7 +84,7 @@ def testProcess( self.openrelik_module.openrelik_ui = "http://fake_api:8711" self.openrelik_module.openrelik_api_key = "fake_key" self.openrelik_module.folder_id = 123 - self.openrelik_module.workflow_id = 1 + self.openrelik_module.template_workflow_id = 1 self.openrelik_module.openrelik_workflow_client = workflows.WorkflowsAPI( api_client.APIClient( self.openrelik_module.openrelik_api, @@ -149,6 +149,7 @@ def testDownloadWorkflowOutput(self, mock_publish, mock_tempfile): self.assertEqual(local_path, "fake_filepath") + if __name__ == "__main__": unittest.main()