Jump to content

Deadline Ftrack Submission - Task list makes no sense


Recommended Posts

Hi there,


i updated Ftrack local install to the current relaese (4.7.2)and Deadline also to When i want to submit for instance an nuke job that publishes a new version to ftrack, i get internal IDs as selection list and not the task names, please have a look at the Screenshot. I guess Thinkbox did something wrong with the API but i hope someone could help me on this.








Link to comment
Share on other sites

I found out the following, Deadline gathers the list of tasks assigned to current user and if they have the same name like "Animation" it adds the taskkey/ID to stay unique.


As we never used Deadline to Ftrack i am not sure how this should look like normally. If i remember an older version right, there was the hierarchy present int the task selection list like:




and so on ?



Link to comment
Share on other sites

Daniel Fleming
This post was recognized by Daniel Fleming!

"Thanks for posting this back to the community!"

rcmFilm was awarded the badge 'Helpful' and 5 points.

The code i changed:

deadline repo: \submission\FTrack\Main


Only my addition:

class FTrackTask( FTrack ):

    def __init__( self, task ):
        super( FTrackTask, self ).__init__( rawObject=task )
        self._id = None
        self._name = None
        self._description = None
        self._status = None
        self._project = None
        self._parent = None
        self._assets = None

	###Added by me

        self._parentName = None 

    def parentName( self ):
        if self._parentName == None:
            self._parentName = self.raw['parent']['name']
        return self._parentName

    ### END of EDIT, leave the rest as it is


 def updateTasks( self, taskList ):
        #ignore None value
        if taskList != None:
            #update cache
            selectedProjKey = self.GetValue( "ProjectBox" )
            self.cachedTasks[ selectedProjKey ] = taskList

            newTaskDict = {}

            foundDefault = False
            for task in taskList:
                pathNames = [task.name]

                taskKey = " / ".join( pathNames )

                ### MY EDIT

                taskKey += " [shot: %s]" % task.parentName

                if taskKey in newTaskDict:
                    #already a task with this name, append the key to stay unique
                    taskKey += " [shot: %s]" % task.parentName



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...