Zenodo: conéctese a GitLab como a GitHub

Creado en 11 ene. 2018  ·  20Comentarios  ·  Fuente: zenodo/zenodo

Estimado equipo de Zenodo,

la integración descrita en https://guides.github.com/activities/citable-code/ está construida de una manera generalizable por su parte, ¿correcto? Solo quería notificarle de una discusión sobre la integración de Zenodo en GitLab .

Salud :-)

Feature request Needs investigation i - Asclepias Accepted

Comentario más útil

Específicamente para el módulo Zenodo en GitLabs autohospedado, @schlauch & me publicó https://gitlab.com/gitlab-org/gitlab/issues/25587.

En respuesta a eso, se compartió un módulo experimental de Invenio: https://gitlab.hzdr.de/rodare/invenio-gitlab por @tobiashuste.

Todos 20 comentarios

PD: Busqué a través de problemas de invenio attic & contrib , pero como no apareció nada sobre GitLab, espero que publicar esto aquí esté bien.

Hola @katrinleinweber , gracias por presentar esto. Dicha integración requerirá integración de nuestro lado, es decir, algo parecido a https://github.com/inveniosoftware/invenio-github

Parece que la principal dificultad aquí sería la compatibilidad con instalaciones personalizadas de GitLab. Por razones similares, actualmente no admitimos GitHub empresarial, que es similar a una instancia personalizada de GitLab.

¿Puedo preguntar por qué son necesarios los cambios de su parte? ¿No puede GitLab depositar tarballs en el lanzamiento usando su API?

Hola @ remram44 ¿ Te refieres a algo como un módulo de GitLab hablando con nuestra API REST? De hecho, sí, es posible.

¿Puedo preguntar por qué son necesarios los cambios de su parte?

Los cambios en nuestro extremo serían escribir algo como el módulo invenio-github para gitlab (es decir, conectar cuentas de GitLab-Zenodo, registrar webhooks, manejar la carga útil, etc.). Por ejemplo, nuestra integración de GitHub es una aplicación de terceros de GitHub, que solicita acceso de escritura a los repositorios públicos de los usuarios de GitHub. El usuario primero debe conectar su cuenta de GitHub en Zenodo, por lo que está claro quién es el "propietario" de los registros de Zenodo una vez que se libera el repositorio. Entonces, cuando el usuario habilita el archivo en uno de sus repositorios (acciona el interruptor), registramos un webhook en el repositorio y manejamos la carga útil cuando nos llega. En este punto, podemos vincular el usuario de github con el usuario de zenodo.

¿No puede GitLab depositar tarballs en el lanzamiento usando su API?

Entonces, ahora, si desea revertirlo y hacer que GitLab nos escriba, puedo ver que uno podría tener un módulo de GitLab personalizado enviando un tarball con metadatos de un repositorio dado a Zenodo, pero no está claro para qué usuario de Zenodo. Supongo que la forma más sencilla sería configurar dicho módulo con la clave API del usuario de Zenodo, que funcionaría.

uno podría tener un módulo de GitLab personalizado enviando un tarball con metadatos de un repositorio dado a Zenodo, pero no está claro para qué usuario de Zenodo. Supongo que la forma más sencilla sería configurar dicho módulo con la clave API del usuario de Zenodo, que funcionaría.

¡Esto es lo que tenía en mente! De todos modos, no sabía que la API de Zenodo permitía depósitos anónimos. ¿Zenodo tiene algo como OAuth? Eso podría ser más amigable que pegar una clave API.

Gracias por tomarse el tiempo para explicar, @krzysztof :-)

[…] Configurar dicho módulo con la clave API del usuario de Zenodo, que funcionaría.

En ese caso, ¿el módulo necesitaría su propia administración de usuarios o se referiría a la administración de secretos de la instancia de GitLab ( ¿solo EE? ), Porque habría varios usuarios en una instancia, queriendo que sus repositorios se conectaran a varias cuentas de Zenodo.

¿O tal vez (¡solo especulando!) ¿A una cuenta institucional compartida de Zenodo? Pero tal vez este caso pueda ignorarse inicialmente.

No sabía que la API de Zenodo permitía depósitos anónimos de todos modos

@ remram44 No lo hace, necesita una clave API. Zenodo no tiene OAuth.

En ese caso, ¿el módulo necesitaría su propia administración de usuarios o se referiría a la administración de secretos de la instancia de GitLab (¿solo EE?), Porque habría varios usuarios en una instancia, queriendo que sus repos se conectaran a varias cuentas de Zenodo.

@katrinleinweber Por el momento, no es posible tener varios propietarios para registros determinados, y tampoco queremos que cada usuario del repositorio tenga su propia copia del repositorio; esto significaría varios DOI para el mismo contenido, lo cual es malo. Por esa razón, un solo usuario puede archivar un repositorio de GH dado.

Varios usuarios usan algo así como una cuenta "institucional", principalmente revistas, pero luego la "carga" de la conservación de registros recae en el bibliotecario / propietario de la cuenta, por lo que técnicamente funcionaría, pero a largo plazo no querríamos esto para convertirse en una solución principal a este problema. En cambio, en el futuro, podríamos ampliar la función de comunidades para que se parezca a algo así como un "equipo", y probablemente tengamos alguna forma de múltiples propietarios (o al menos múltiples curadores) por registro.

Si el complemento de GitLab toma un token de la API de Zenodo como configuración, esto parece muy útil. También funcionaría en instalaciones privadas de GitLab. Dependería del equipo decidir en qué cuenta de Zenodo se crean los registros.

screen shot 2018-01-15 at 11 47 29

Zenodo no tiene OAuth.

En realidad, parece ser compatible con OAuth 2.0: http://developers.zenodo.org/#authentication Por lo tanto, es posible que ni siquiera sea necesario ingresar un token a mano.

Como resumen intermitente, ¿podríamos decir que un GitLab-CI que empuja a un repositorio de GitHub conectado a Zenodo sería una alternativa que funciona actualmente y que obtiene un DOI asignado a la base de código que se desarrolla en un GitLab?

Ya no es relevante; Siéntete libre de esconderte.

GitLab sugiere :

web hooks, como cuando se crea una nueva etiqueta […] parecen ser las API equivalentes utilizadas por la integración de Zenodo con GitHub. […] La mejor manera sería una integración de proyecto configurada en el lado de GitLab que empuja un archivo de cada etiqueta cuando se crea.

@ remram44 La captura de pantalla anterior es una maqueta, ¿verdad? Cómo lo creaste?

@katrinleinweber Firefox inspector / dev-tool: guiño:

Específicamente para el módulo Zenodo en GitLabs autohospedado, @schlauch & me publicó https://gitlab.com/gitlab-org/gitlab/issues/25587.

En respuesta a eso, se compartió un módulo experimental de Invenio: https://gitlab.hzdr.de/rodare/invenio-gitlab por @tobiashuste.

Esta característica sería útil, ¿cómo podemos votarla?

Solo sigue publicando hasta que reciba más atención 😉

Esta sería una característica interesante para Zenodo, sin duda alguna.

Sí, por favor !

¡Me gustaría usar un complemento de este tipo también!

¡Gran idea, sería muy útil!

¡Un gran pulgar hacia arriba de mi parte! ¡Simplificaría la canalización de la próxima generación de https://zenodo.org/record/3497066!

¿Fue útil esta página
0 / 5 - 0 calificaciones