jupyterhub / jupyterhub/nbgitpuller

🚀 Feature request: configure default repos to pull

Open
#174 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
237
Forks
86
PR merge metrics
No merged PRs in 30d

Description

### Proposed change

Extension configuration to register a list of repos to pull, and API handler to trigger pulling each repo in the configured list.

### Alternative options

Don't do this, keep using requests as the source of all pull info

### Who would use this feature?

Me! Deployments that want nbgitpuller-style functionality, but 'always' rather than only triggered through certain links. I use this [for the simula summer school image](https://github.com/minrk/simula-summer-school/blob/2021/image/pull_server_ext.py), where we want:

- all users to start with up-to-date clone of course materials, without needing the visit to originate from a special link
- a button in the UI to refresh the repo(s)

### (Optional): Suggest a solution

Something similar to what I use [in the simula summer school image](https://github.com/minrk/simula-summer-school/blob/2021/image/pull_server_ext.py):

- server-side config for a list of repos to pull (I source mine from a remote URL at startup)
- pull list of repos on server start
- API handler to trigger 'pull everything'
- bonus: nbclassic plugin to add a button that hits the API
- bonus: (I don't have this yet) jupyterlab plugin version, adding action to command palette / menu to pull everything that makes the API request

In the single-repo case, the need for a button can be mitigated by e.g. a link in a readme to the current nbgitpuller handler URLs. That should work most of the time, I think, but adding an action to the menu seems nice.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.