Assigning & Querying Tasks
The SDK offers multiple ways to query/search through your project tasks and programmatically assign them to various users.
Use
list_tasks
to search for tasks by name
and get their corresponding task_id
. Often, users will have Task name
s readily accessible, and can use list_tasks
to get the corresponding task_id,
which may be needed in other SDK functions. project = redbrick.get_project(org_id, project_id, api_key)
tasks = project.export.list_tasks() # fetches all tasks
specific_task = project.list_tasks(task_name="...") # fetches specific task by name
Use
assign_task
when you already have the task_id
you want to assign to a particular user. If you don’t have the task_id
, you can query all the Tasks using list_tasks
or query tasks assigned to a particular user/unassigned tasks using list_tasks(user_id="...")
.project = redbrick.get_project(org_id, project_id, api_key)
# Assign tasks in Label stage to a specific user
project.labeling.assign_tasks(task_ids=["..."], email="...")
# Assign tasks in Review stage to specific user
project.review.assign_tasks(task_ids=["..."], email="...")
Use
list_tasks
in conjunction with a specific user_id
when you want to retrieve the Tasks assigned to a particular user. This can be useful in preparation for using assign_tasks
to programmatically assigning unassigned tasks, or put_tasks
to programmatically label/review tasks assigned to you.project = redbrick.get_project(org_id, project_id, api_key)
# Get Tasks assigned to [email protected] in Label Stage
project.export.list_tasks(labeling.(stage_name="Label", user_id="[email protected]")
# Get Tasks assigned to [email protected] in Review_1 Stage
project.export.list_tasks(stage_name="Review_1", user_id="[email protected]")
You can also fetch all unassigned Tasks in a particular stage. This information may be useful when choosing which Tasks to assign to users.
project = redbrick.get_project(org_id, project_id, api_key)
# Get unassigned tasks in Label labeling stage
project.export.list_tasks(redbrick.TaskFilters.UNASSIGNED, stage_name="Label")
# Get unassigned tasks in Review_1 review stage
project.export.list_tasks(redbrick.TaskFilters.UNASSIGNED, stage_name="Review_1")
With the correct configuration of list_tasks(), you can perform functions as specific as retrieving a list of Tasks from a specific Stage to your specific API key. Please see the code snippet below for an example:
project = redbrick.get_project(org_id, project_id, api_key)
# Get tasks assigned to your API key in Label stage
project.export.list_tasks(
redbrick.TaskFilters.QUEUED,
stage_name="Label",
user_id=project.context.key_id
)
Several of our old methods were deprecated with the release of v.2.1.12.
We highly recommend reading carefully through our SDK Format Reference or reaching out to our Support Team with any questions or concerns.
We're always happy to give pointers!
👍
Last modified 3mo ago