Giter VIP home page Giter VIP logo

Comments (9)

ian-r-rose avatar ian-r-rose commented on May 29, 2024

Hi @jhgoebbert, this plugin is fairly customized to the GitHub API, so it would not be trivial to do. That said, it does look like GitLab provides a reasonably similar API, so it should be possible to port the extension. Porting would involve:

  1. Constructing different URLs to hit the different GitLab REST endpoints.
  2. The GitHub API returns its own JSON contents models, which we must convert to the kind of contents model that JupyterLab expects. We would also need to do that for the GitLab contents.
  3. We would need to swap out the branding images.
  4. There will likely be the need to change how we respond to error messages, branding information, etc.

At some point, both GitHub and GitLab will move to a GraphQL-based API, and that will likely make porting it easier.

from jupyterlab-github.

jhgoebbert avatar jhgoebbert commented on May 29, 2024

Thanks for your detailed answer, Ian.
GraphQL probably would solve some issues.

Just for other readers:
GraphQL is currently planned for GitLab for 2018-Q2

from jupyterlab-github.

ian-r-rose avatar ian-r-rose commented on May 29, 2024

I came across this the other day, which appears to be based on this extension. I don't know how functional it is, but it may be worth investigating.

from jupyterlab-github.

beenje avatar beenje commented on May 29, 2024

For those interested I created a jupyterlab-gitlab extension based on jupyterlab-github 0.10.0.

I looked at the jupyterlab_gitlab extension mentioned above but it's based on a much older version of the github extension and it didn't fit my needs:

  • the user can only be changed in the advanced settings
  • files without a β€œ.” in the name can’t be opened
  • no server extension

That's why I decided to create a new one based on a recent version of jupyterlab-github.
This is to use at work with our own instance of GitLab.
It might be useful to others.

Thanks to the Jupyter team for the initial extension!

from jupyterlab-github.

ian-r-rose avatar ian-r-rose commented on May 29, 2024

Awesome, thanks for sharing @beenje!

from jupyterlab-github.

dhirschfeld avatar dhirschfeld commented on May 29, 2024

Wondering if there isn't a way to share most (all of the frontend?) code by abstracting out the api calls (different server extension, same JupyterLab extension).

Just musing out loud...

from jupyterlab-github.

beenje avatar beenje commented on May 29, 2024

Today, the server extension is not mandatory and all the logic is in the lab extension.
The server is just used as a proxy.
But I guess the logic could be moved to the server extension...

from jupyterlab-github.

bollwyvl avatar bollwyvl commented on May 29, 2024

from jupyterlab-github.

jtpio avatar jtpio commented on May 29, 2024

Closing as there is now a jupyterlab-gitlab extension under the jupyterlab-contrib GitHub organization: https://github.com/jupyterlab-contrib/jupyterlab-gitlab

from jupyterlab-github.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.