CopyCollectionItems task
This server task copies items into given target collections, which may or may not be in the same workspace as the original items. It returns an error if:
the user/workflow that created the task does not have permission to read the items or to write to the target collection
any of the items is a collection
unembargo
is False, any of the items are in a private workspace, and the target collection is in a public workspacethe collection manager fails to add the items (e.g. because they are incompatible with the collection)
The task_data
for this task may contain the following keys:
copies
: a list of dictionaries as follows:source_items
(Multiple lookup, required): a list of items to copy (as usual for lookups, these may be collection items or they may be artifacts looked up directly by ID)target_collection
(Single lookup, required): the collection to copy items intounembargo
(boolean, defaults to False): if True, allow copying from private to public workspacesreplace
(boolean, defaults to False): if True, replace existing similar itemsname_template
(string, optional): template used to generate the name for the target collection item, using thestr.format
templating syntax (with variables inside curly braces)variables
(dictionary, optional): pass these variables when adding items to the target collection; if a given source item came from a collection, then this is merged into the per-item data from the corresponding source collection item, with the values given here taking priority in cases of conflict
For each of the entries in copies
, the task copies the source items to
the target collection’s workspace; when copying artifacts, if the contained
files are already in one of that workspace’s file stores, then it copies
references to them, and otherwise it copies the file contents. For each
source item, it then adds a collection item to the target collection, using
name_template
and variables
in the same way as in
update-collection-with-artifacts.
All the requested copies happen in a single database transaction; if one of them fails then they are all rolled back.