Request for example code using "sg_task_type" for "custom Pipeline Step using a custom entity"

In these docs, there’s the suggestion to use custom entity for more complet pipleine step groupings.
Filesystem Configuration Reference - SG Developer (
I think I get the idea, but I don’t want to waste time going down this rabbit hole without knowing more about it.
Can someone at Autodesk/Shotgrid show an example setup that demonstrates in more detail how this works?

eg in this section it’s not clear what file the snippets refer to (is it a step.yml or other file?)

Where does “sg_task_type” come from? Where(in what entity) do I need to create that field?

“You can accomplish this by creating a custom link field from a Task to a custom entity. This is then used by the system to group tasks together, via the step node.”

So, do I create a new field on the task that I link to my CustomNonProjectEntity ? In the example it references task_link_field: "sg_task_type", so in this case, the new field added to the Task entity is arbitrarily called “Task Type” aka “sg_task_type” ? (If so, then the field name here is distracting; shouldn’t it be called something like, for the clarity of documentation, sg_my_custom_step_entity_name ? )

Is this “sg_task_type” field the customNoProjectEntity’s equivilent of it’s “Entity Type” field? If so, why is it not called “Entity Type”? If not, why is it explicitly referring to “Task Type”?

I’m further confused by the code in tank referred to here.

        # The syntax here is $FROM$Task.CONNECTION_FIELD.entity, where the connection field
        # is "step" by default
        step_filter_path = "$FROM$Task.%s.entity" % self.get_task_link_field()

If this is standard dot notation, and the default for %s is “Step”, then given default “Step” entity has no “entity” field, then how does this “step_filter_path” get resolved? Can you provide example values of how this variable might have and how they are subsequently used?

Thanks for your help!

1 Like