Best practice: LTIAuthenticator with nbgitpuller to launch lesson?

I’m struggling to understand how to best set up ZTJH to launch a particular notebook (stored in github) for a particular student as part a of learning management system that connects to ZTJH via LTIAuthenticator.

I’m successfully connecting to ZTJH via LTIv1.3 via LTIAuthenticator which is awesome. But all I can do is point at notebooks I manually create myself as part of my tests.

The missing feature is sending the student to a particular lesson (stored as a github repo in the admin user / instructor’s github ) as part of the launch. The LMS would send this github URL as part of the OpenID connect token in the last part of the LTIv1.3 process.

So I’m unsure what the best way would be to get this github URL through LTIAuthenticator and into the spawned notebook, such that when the launch finishes the student sees that particular notebook loaded and ready.

I’ve seen other solutions mentioned on this forum that use the ZTJH API behind the scenes to spawn a container for a student before the final step of the LTIv1.3 handshake, but I’m thinking if the connection is to be a ‘pure’ LTIv1.3 connection, no extra API calls should be necessary: the spawning should happen in the final redirect handled by LTIAuthenticator and ZTJH, with whatever custom spawner, docker container, etc. is necessary.

I see that NASA-IMPACT has a Docker container with nbgitpuller installed GitHub - NASA-IMPACT/jupyterhub-gitpuller-init: Init container to pull example notebooks into a Jupyter container and I feel like this could be part of the puzzle.

…but I’m unsure how to connect information I could pass to ZTJH via LTIAuthenticator to this docker container to get it to open a particular github repo for the current lesson.

Thanks for any thoughts if someone else is grappling with same issue.