Shotgrid Integration addon

Hello all,

In this thread we can discuss everything regarding the Shotgrid Integration in Ayon!

I’ve just recently updated the README in the Addon repository with the latest instructions to get it up and running.

It currently supports importing projects from Shotgrid, syncronizing projects already imported (Shotgrid → Ayon) and listening to Shotgrid event and create, update or delete entities.

Have a read through the README and don’t hesitate to ask any question or flag any issue while testing it.

It will create the following fields in your Shotgrid instance:
For the project Entity it will create the fields: sg_ayon_id, sg_ayon_sync_status, sg_ayon_project_code, sg_ayon_auto_sync and sg_ayon_server_url

Then for Episode, Sequence, Shot, Asset, Version and Task it will create the fields: sg_ayon_id and sg_ayon_sync_status.

Note that we are changing the ayon-python-api to read the environment variable from AYON_TOKEN to AYON_API_KEY so depending on when you are trying, the step where you create the .env file might need to sill use the AYON_TOKEN.

Cheers!

1 Like

Hi,

I see the ShotGrid integration is very basic, looks like it’s just project (and contents) orchestration on ShotGrid which then mirrors into AYON.

Any plans to reinforce this?
SG is far more widely used than Ftrack and not having simple features like media uploading back to SG for review or right client menu actions (for example, creating a delivery) is a huge deal breaker.

Overall you’ve built an incredibly compelling pipeline here that I and many others are exceedingly interested in and would happily pay support for but it feels like even Kitsu has more integration.

1 Like

@Minkiu can correct me if I’m wrong, but looks like media uploading is handled when publishing; ayon-shotgrid/integrate_shotgrid_version.py at 9ab760ffc0f94e4d97f47d0fea0af4daa3122bb7 · ynput/ayon-shotgrid · GitHub

That’s correct. We support also creating reviewable versions on shotgrid.

Regarding other improvements. It’s a fairly simple approach we take. If studios use part of AYON and report back what they would like improved, we’ll usually put it on a backlog. However we get to it almost exclusively if a studio (or more) puts some funding into the requested feature. There are 100s of feature requests and issues by now, so we work those that are prioritized by studios paying for some kind of support. They deserve to have the biggest influence on the product.

SG addon is not yet used by any of the existing clients (in the on-boarding process though), hence not many specific funded requests for it yet.

Hi @milan,

Thanks for getting back to me and explaining your process, the approach totally makes sense.
No doubt we’ll be in touch in the coming weeks

Hey @milan,

Just coming back to this, are there any plans (maybe the add-on already does this) to use the ShotGrid add-on for AYON as a handler for ShotGrid event triggers?
Usually I’d set up a flask server for this type of thing, just wanting to look ahead if I should do that or wait to implement in AYON.

Ayon Shotgrid Version 0.2.0

Hello all, we’ve been hard at work polishing some rough edges, bug fixes and adding the option to sync/push from AYON to Shotgrid!

New UI

On the surface you’ll find that the “Shotgrid Sync” page has been modified, it now looks like this:

Under the hood we now query the Shotgrid API and create the AYON events to sync via Javascript directly in the frontend, instead of having to go through a custom addon endpoints.

AyonShotgridHub for services

We created a new class called AyonShotgridHub which allows for easy interaction between the two platforms, bootstrapping common actions to avoid repetition, and it’s where logic like creating, synchronizing projects lives, and it’s what we now use for the services.
This involved a fair bit of re-factoring, so I apologise to anyone who was becoming familiar with the processor code base… a lot has been reuse, and mostly re-shuffled.

Syncronize from AYON to Shotgrid

Mentioned in the first paragraph, we can now synconize a project from AYON into Shotgrid, this requires the processor service, and the logic is found in the AyonShotgridHub.

The transmitter service

It’s a new service that will keep an eye on AYON events, and when we create, modify or delete an entity, we attempt to transmit the change to Shotgrid, so the opposite of the leecher.

You can see the changes here: Comparing 0.1.0...0.2.0 · ynput/ayon-shotgrid · GitHub

Next Steps

Being a .0 version chances are there are unforeseen bugs, so your feedback is greatly appreciated, either here or on the repository issues, as well as any contribution, feel free to ping me on Discord and I’ll be more than happy to show you around.

There are know issues or things that are not really as they should, a non complete list would be:

  • Update the README to reflect these changes and provide a better overview of how things interact in the Addon.
  • Use the secrets back end to handle the Shotgrid API Key.
  • Synchronize more attributes, currently is really basic.
  • Structure/entity mapping between the two platform is fickle at the moment.
  • We should be using “Pipeline Steps” instead of the task names.
  • When creating a Shotgrid project (from an AYON one) modify the “Tracking Settings” and “Navigation” so the project looks good (this is probably subjective).
  • Something you want?

Cheers!

2 Likes

Hey @matteo ,

I believe what you describe is what the leecher service does, it looks up at the Shotgrid Events table and feeds them to AYON, which then we process via the processor service.

Cheers,
Oscar.

1 Like