Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit c200f91

Browse files
committed
[client] Add workflow / assignees in tasks
1 parent 4de8482 commit c200f91

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

pycti/entities/opencti_task.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,9 @@ def create(self, **kwargs):
454454
created_by = kwargs.get("createdBy", None)
455455
object_marking = kwargs.get("objectMarking", None)
456456
object_label = kwargs.get("objectLabel", None)
457+
object_assignee = kwargs.get("objectAssignee", None)
457458
granted_refs = kwargs.get("objectOrganization", None)
459+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
458460
update = kwargs.get("update", False)
459461

460462
if name is not None:
@@ -482,6 +484,8 @@ def create(self, **kwargs):
482484
"objectLabel": object_label,
483485
"objectMarking": object_marking,
484486
"objectOrganization": granted_refs,
487+
"objectAssignee": object_assignee,
488+
"x_opencti_workflow_id": x_opencti_workflow_id,
485489
"update": update,
486490
}
487491
},
@@ -630,6 +634,16 @@ def import_from_stix2(self, **kwargs):
630634
stix_object["granted_refs"] = self.opencti.get_attribute_in_extension(
631635
"granted_refs", stix_object
632636
)
637+
if "x_opencti_workflow_id" not in stix_object:
638+
stix_object[
639+
"x_opencti_workflow_id"
640+
] = self.opencti.get_attribute_in_extension(
641+
"x_opencti_workflow_id", stix_object
642+
)
643+
if "x_opencti_assignee_ids" not in stix_object:
644+
stix_object[
645+
"x_opencti_assignee_ids"
646+
] = self.opencti.get_attribute_in_extension("assignee_ids", stix_object)
633647

634648
return self.create(
635649
stix_id=stix_object["id"],
@@ -654,6 +668,12 @@ def import_from_stix2(self, **kwargs):
654668
objectOrganization=stix_object["x_opencti_granted_refs"]
655669
if "x_opencti_granted_refs" in stix_object
656670
else None,
671+
objectAssignee=stix_object["x_opencti_assignee_ids"]
672+
if "x_opencti_assignee_ids" in stix_object
673+
else None,
674+
x_opencti_workflow_id=stix_object["x_opencti_workflow_id"]
675+
if "x_opencti_workflow_id" in stix_object
676+
else None,
657677
update=update,
658678
)
659679
else:

pycti/utils/constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ def has_value(cls, value):
149149
("priority", StringProperty()),
150150
("response_types", ListProperty(StringProperty)),
151151
("x_opencti_workflow_id", StringProperty()),
152+
("x_opencti_assignee_ids", ListProperty(StringProperty)),
152153
(
153154
"object_refs",
154155
ListProperty(
@@ -173,6 +174,7 @@ class CustomObjectCaseIncident:
173174
("priority", StringProperty()),
174175
("information_types", ListProperty(StringProperty)),
175176
("x_opencti_workflow_id", StringProperty()),
177+
("x_opencti_assignee_ids", ListProperty(StringProperty)),
176178
(
177179
"object_refs",
178180
ListProperty(
@@ -200,6 +202,7 @@ class CustomObjectCaseRfit:
200202
),
201203
),
202204
("x_opencti_workflow_id", StringProperty()),
205+
("x_opencti_assignee_ids", ListProperty(StringProperty)),
203206
(
204207
"object_refs",
205208
ListProperty(

0 commit comments

Comments
 (0)