All Activity

This stream auto-updates     

  1. Yesterday
  2. Hello, I am trying to use dedicated API key, however I'd like to make publish look like it was done by a specific user. What's the best way of doing so? Thanks in advance! Cheers. Vit
  3. Grouping Actions

    Cheers ! Let me know if you have any other issue or question.
  4. Last week
  5. Grouping Actions

    Yup you're right, I hadn't included variant in the discover function. Thank you very much!
  6. Assignee

    my ftrack instance is
  7. Assignee

    Hello Mattias, thanks for replying! I don´t need to assign them all at once, I need to assign each one of the animators to each one of the shots, but i can´t see the names. I´ve tried setting the animation group first (at the scene /shot status) of almost every scene, in order to assign one of the animators names at the animation task, but it didn´t occur.
  8. Slack User Group

    Hi Lucas, could I get the invite as well? Cheers,
  9. can't add the note

    Works now! Thanks Remus! Cheers
  10. Grouping Actions

    Hi Kristing ! I've been looking now at the example you posted, and looks like it's missing something in order to cope with what you are after. Here how I got it working. In: ~/.local/ftrack-connect-plugins/testactions/hook * * each of these files contains a copy of the linked example. Here is how the classes are initialised: class MyCustomAction(object): '''Custom action.''' label = 'My Action' identifier = 'my.custom.action' description = 'This is an example action' variant = 'first' class MyCustomAction(object): '''Custom action.''' label = 'My Action' identifier = 'my.custom.action' description = 'This is an example action' variant = 'second' Then change in (both) the discover function to include the variant : return { 'items': [{ 'label': self.label, 'description': self.description, 'actionIdentifier': self.identifier, 'variant': self.variant }] } rather than : return { 'items': [{ 'label': self.label, 'description': self.description, 'actionIdentifier': self.identifier, }] } If you then restart connect , this is how the action should show up: To simplify further though, I would also suggest you to have a look at : Which aims to simplify the implementation of custom actions ( Please let me know if you have any further issue or questions. Cheers. L.
  11. Grouping Actions

    Hey there! I'm hoping to get an example/explanation of this Tip on I input the same label and set the "variant" attribute on 2 of my actions to different strings, but there are still 2 icons appearing, labeled with the same name. What is the actual outcome of this when done correctly? Is there an example you can provide so I can troubleshoot what I'm doing wrong? Thanks!
  12. Rendering - Thinkbox Deadline with Maya

    Here is the thinkbox forum thread: We don't have a pipeline TD, so may look into some contract help soon.
  13. Rendering - Thinkbox Deadline with Maya

    Cheers Scott, do you mind linking the thread on thinkbox forum ? So I can read and, in case, follow up ? If you have some development knowledge, or you have developers available, you can think of customising their code.(ps. sadly cannot find it on the github repo : Thanks. l.
  14. Query Project Schema Objects

    Querying out the existing ObjectTypes for project schema is something that we are working and should come out in an upcoming maintenance release
  15. How to create new entity types with python api

    There is no ETA for making this available at the moment, but it is not likely to happen within the next few months I'm afraid. For our own usage we will need this functionality eventuelly
  16. Rendering - Thinkbox Deadline with Maya

    Hi Lorenzo, Yes, Submit Render Layers as Separate Jobs is turned on. This allows for better control of the render farm (time, resources, etc). Render passes within each render layer are less important for me at the moment, but it could be useful to have information on as well. Your idea of having 1 asset with components underneath makes sense and would make for a much more organized project view within Ftrack. Regarding Thinkbox and the integration submitter with Deadline, I have started a similar thread on their forum. There have been a couple of responses from their team, but nothing that directly helps. Having this information transfer seems to be something that would benefit any studio using a Maya - Deadline - Ftrack pipeline. Thanks. -Scott
  17. can't add the note

    Hi @vitek which version of ftack-api and ftarck server are you running? The example below works for us: import ftrack_api session = ftrack_api.Session() task = session.query("Task where name is cacatcacat").one() note_category = session.query("NoteCategory where name is 'Internal'").one() content = "this is just a test" user = session.query("User where username is '<username>'").one() note = session.create("Note", { 'category': note_category, 'content': content, 'author': user }) task['notes'].append(note) session.commit() Can you assert all the returns?
  18. Query Project Schema Objects

    Maybe there is another way of finding out which object types are assigned to my project so i can prevent a ServerError like this from happening: "ServerError: Server reported error: ValidationError(Object type u'Shot' cannot be created on project u'Lukas Dev'.)" The only solution i found for now i to try to create the desired types on startup to check if i can create them and catch the server error and show it to the TD to properly configure the ftrack project.
  19. Query Project Schema Objects

    Hello, I need to write some checks using the python api to make sure the current ftrack project is configured correctly. There fore i need to query the currents project Project Schema and check its configuration. Specifically: I need to query the assigned Objecty (ObjectTypes) of a Project Schema. I can access the the Types and objects with 'ProjectSchema.get_types()' as well as the statuses an by calling 'ProjectSchema.get_statuses()' but i can't find a way to actually figure out if an object (ObjectType) is assigned to the list of objects of the particular Project Schema. (I can easily find out if a specific object type exists at all using 'session.query("ObjectType where name is my_object_type_name")' but not which schemas it is assigned to.) I know from a different post, that creating new ProjectSchemas and "manage" them (editing them?) is only supported using the GUI. But What about retrieving the assigned Objects (ObjectTypes) ? It should be possible i guess. The Docs from ProjectSchema dont show any more methods: Examples for get_types() and get_statuses: I Hope someone can help me out. Thank you in advance Lukas
  20. Earlier
  21. can't add the note

    Hi there! I'm trying to add the note with API, but can't quite nail it - I'm basically taking code from the documentation and just replacing queries with my own .... , any ideas what I am doing wrong, please? Any advice appreciated! Cheers! Here is the code: category = session.query( 'NoteCategory where name is "External Note"' ).first() note = session.create('Note', { 'content': 'New note with external category', 'author': session.query('User where username is ""').one(), 'category': session.query('NoteCategory where name is "Internal"').one() }) task['notes'].append(note) session.commit() And the error # Result: ERROR 18:16:46.713:ftrack_api.session.Session(7088): Server reported error: ValueError(Cannot set relationship to string value.) Traceback (most recent call last): File "<string>", line 12, in <module> File "C:/Python27/Lib/site-packages\ftrack_api\", line 1238, in commit result = self._call(batch) File "C:/Python27/Lib/site-packages\ftrack_api\", line 1616, in _call raise ftrack_api.exception.ServerError(error_message) ftrack_api.exception.ServerError: Server reported error: ValueError(Cannot set relationship to string value.) based on code from API documentation here ( category = session.query( 'NoteCategory where name is "External Note"' ).first() note = session.create('Note', { 'content': 'New note with external category', 'author': user, 'category': category }) task['notes'].append(note)
  22. Rendering - Thinkbox Deadline with Maya

    Hi Scott, Deadline integration is maintained by ThinkBox itself, and I've not much direct experience with it. Regarding your issue though, the options :Submit Render Layers As Separate Jobs is enabled. sounds fishy, as is likely to generate one job (and therefore a new asset) for each layer. To me the best option would be to have 1 asset (Render) with all the render layers / passes published as components of the given asset version so would easy to know where they come from. e.g: ``` City (Render) v010 - diffuse: <path to diffuse pass> specular: <path to specular pass> <other_render_layer_name>: <path to other pass> ``` and so on. I'll try to dig deeper as soon as I have a chance in this integration and try to get a better grip on how could be improved. Let me know how it goes please. Cheers. L.
  23. How to create new entity types with python api

    Hi Mattias, thank you for the quick reply and the welcoming That's unfortunate to hear not having access through the api for proper entity configuration. I can see this not being an easy task to tackle, hiding the underlying complexity from the api users but still giving enough control for flexible configurations. Do you have any information about when this might be addressed? (Talking about just a couple of months or more like a year or so?) Best Lukas
  24. How to create new entity types with python api

    Hi Lukas, Thank you for posting and welcome to the forums! To manage the object types and the project schemas you have to go through the Web UI today. In future versions of ftrack we will most likely add support for this through the API but due to some underlying complexity of how the schemas are modeled we have currently limited API access on this to read (and locked down update/create operations).
  25. Assignee

    Hi Heloisa, Could you open a support-case with this issue and also provide the name of your ftrack-instance (<ftrack-instance> And we can look at this to see what is going on. What is the purpose of assigning all those users, is it to have them log time to the task?
  26. Solved -- typo in the code
  27. Hello, My Question is: How can I create new entity types using the python api. when i create an new session object with the python api using: session = ftrack_api.Session(server_url=server_url, api_key=api_key, api_user=api_user) I can query all types using: session_types = session.types Now i am checking if all entity types our pipeline requires are present in this session using something like: session_types.get(required_entity) However if the expected entity types are NOT present -> meaning FTrack is not yet configured in the way the it needs to be for the pipeline. I want to create the missing entity types using the python api. In the GUI I would simply create new objects for each missing entity type like this: And then I would create a schema using the required objects / (entity types) and make sure that the projects are always using this schema: But I am having trouble to understand the correct way of doing so using the python api. As far as I understand the entity types are generated dynamically at the beginning of a session. The "StandardFactory" class takes care of it by creating the types specified in the existing "ProjectSchema" 's Workflow like so ? Create a new ProjectSchema? While doing so I pass in the new Entity Types I want to have created with this schema? But how can I define those new entity types? Some informatison from the docs I collected so far: " When a Session is constructed it fetches schema details from the connected server and then calls an Entity factory to create classes from those schemas. It does this by emitting a synchronous event, ftrack.api.session.construct entity-type, for each schema and expecting a class object to be returned. " Regarding working with Project Schema's I only found these small snippets from the docs which do NOT show how to create a new schema: The information provided in the "Working with entities - Customising entity types" also links to this page "Understanding sessions - Configuring plugins" and the provided python file "" shows how to register a plugin but does not show how to actually create a new entity type. I hope someone can point me to the right direction! Thank you in advance, Lukas
  1. Load more activity