Zenodo: terhubung ke GitLab seperti halnya ke GitHub

Dibuat pada 11 Jan 2018  ·  20Komentar  ·  Sumber: zenodo/zenodo

Tim Zenodo yang terhormat,

integrasi yang dijelaskan di https://guides.github.com/activities/citable-code/ dibangun dengan cara yang dapat digeneralisasikan di pihak Anda, benar? Saya hanya ingin memberi tahu Anda tentang diskusi tentang integrasi Zenodo di GitLab .

Bersulang :-)

Feature request Needs investigation i - Asclepias Accepted

Komentar yang paling membantu

Khusus untuk modul Zenodo di GitLabs yang dihosting sendiri, @schlauch & saya memposting https://gitlab.com/gitlab-org/gitlab/issues/25587 .

Menanggapi hal itu, modul Invenio eksperimental dibagikan: https://gitlab.hzdr.de/rodare/invenio-gitlab oleh @tobiashuste.

Semua 20 komentar

PS: Saya mencari melalui masalah loteng & kontribusi invenio tetapi karena tidak ada apa pun tentang GitLab yang muncul, saya harap memposting ini di sini tidak apa-apa.

Hai @katrinleinweber , terima kasih telah mengajukan ini. Integrasi semacam itu akan membutuhkan integrasi di pihak kami, yaitu sesuatu yang mirip dengan https://github.com/inveniosoftware/invenio-github

Sepertinya kesulitan utama di sini adalah dukungan untuk instalasi GitLab khusus. Untuk alasan yang sama, saat ini kami tidak mendukung GitHub perusahaan, yang mirip dengan instance GitLab kustom.

Bolehkah saya bertanya mengapa perubahan dari pihak Anda diperlukan? Tidak bisakah GitLab menyetor tarball saat rilis menggunakan API Anda?

Hai @remram44 Maksud Anda sesuatu seperti modul GitLab yang berbicara dengan REST API kami? Sebenarnya ya, itu mungkin.

Bolehkah saya bertanya mengapa perubahan dari pihak Anda diperlukan?

Perubahan di pihak kami akan menulis sesuatu seperti modul invenio-github untuk gitlab (yaitu menghubungkan akun GitLab-Zenodo, mendaftarkan webhook, penanganan muatan, dll.). Misalnya, integrasi GitHub kami adalah aplikasi pihak ketiga GitHub, yang meminta akses tulis ke repositori publik pengguna GitHub. Pengguna pertama-tama harus menghubungkan akun GitHub-nya di Zenodo, jadi jelas siapa "pemilik" catatan Zenodo setelah repo dirilis. Jadi, ketika pengguna mengaktifkan pengarsipan di salah satu repositorinya (membalik sakelar), kami mendaftarkan webhook di repo, dan menangani muatannya saat tiba di kami. Pada titik ini kita dapat menghubungkan pengguna github dengan pengguna zenodo.

Tidak bisakah GitLab menyetor tarball saat rilis menggunakan API Anda?

Jadi sekarang jika Anda ingin membalikkannya dan meminta GitLab menulis kepada kami, saya dapat melihat bahwa seseorang dapat memiliki modul GitLab khusus yang mendorong tarball dengan metadata dari repositori yang diberikan ke Zenodo, tetapi tidak jelas untuk pengguna Zenodo mana. Saya kira cara termudah adalah mengonfigurasi modul tersebut dengan kunci API pengguna Zenodo, yang akan berfungsi.

seseorang dapat memiliki modul GitLab khusus yang mendorong tarball dengan metadata dari repositori yang diberikan ke Zenodo, tetapi tidak jelas untuk pengguna Zenodo mana. Saya kira cara termudah adalah mengonfigurasi modul tersebut dengan kunci API pengguna Zenodo, yang akan berfungsi.

Inilah yang ada dalam pikiran saya! Saya tidak tahu ada Zenodo API yang mengizinkan deposit anonim. Apakah Zenodo memiliki sesuatu seperti OAuth? Itu mungkin lebih ramah daripada menempelkan kunci API.

Terima kasih telah meluangkan waktu untuk menjelaskan, @krzysztof :-)

[…] konfigurasikan modul tersebut dengan kunci API pengguna Zenodo, yang akan berfungsi.

Dalam hal ini, apakah modul memerlukan manajemen pengguna sendiri atau merujuk ke manajemen rahasia instance GitLab ( EE-only? ), karena akan ada beberapa pengguna dalam satu instance, ingin repo mereka terhubung ke beberapa akun Zenodo.

Atau mungkin (hanya berspekulasi!) ke akun Zenodo institusional bersama? Tapi mungkin kasus ini bisa diabaikan pada awalnya.

Saya tidak tahu ada Zenodo API yang mengizinkan setoran anonim

@ remram44 Tidak, Anda memerlukan kunci API. Zenodo tidak memiliki OAuth.

Dalam hal ini, apakah modul memerlukan manajemen pengguna sendiri atau merujuk ke manajemen rahasia instance GitLab (hanya EE?), karena akan ada beberapa pengguna dalam satu instance, ingin repo mereka terhubung ke beberapa akun Zenodo.

@katrinleinweber Saat ini tidak mungkin memiliki banyak pemilik untuk catatan yang diberikan, dan kami juga tidak ingin setiap pengguna repo memiliki salinan repositori mereka sendiri - ini berarti beberapa DOI untuk konten yang sama yang buruk. Oleh karena itu, repo GH yang diberikan hanya dapat diarsipkan oleh satu pengguna.

Beberapa pengguna memang menggunakan sesuatu seperti akun "kelembagaan", terutama jurnal, tetapi kemudian "beban" kurasi catatan terletak pada pustakawan/pemilik akun, sehingga secara teknis akan berhasil, tetapi dalam jangka panjang kami tidak ingin ini menjadi solusi utama untuk masalah ini. Alih-alih di masa mendatang, kami mungkin memperluas fitur komunitas agar menyerupai sesuatu seperti "tim", dan mungkin memiliki beberapa bentuk pemilik ganda (atau setidaknya beberapa kurator) per rekaman.

Jika plugin GitLab menggunakan token API Zenodo sebagai konfigurasi, ini tampaknya sangat berguna. Juga akan bekerja pada instalasi pribadi GitLab. Terserah tim untuk memutuskan akun Zenodo mana yang catatannya dibuat.

screen shot 2018-01-15 at 11 47 29

Zenodo tidak memiliki OAuth.

Sebenarnya tampaknya mendukung OAuth 2.0: http://developers.zenodo.org/#authentication Jadi memasukkan token dengan tangan mungkin tidak diperlukan.

Sebagai ringkasan intermiten, dapatkah kita mengatakan bahwa GitLab-CI yang mendorong ke GitHub-repo yang terhubung dengan Zenodo akan menjadi alternatif yang saat ini berfungsi yang mendapatkan DOI yang ditugaskan ke basis kode yang dikembangkan di GitLab?

Tidak relevan lagi; Jangan ragu untuk bersembunyi.

GitLab menyarankan :

kait web, seperti ketika tag baru dibuat […] tampaknya merupakan API yang setara yang digunakan oleh integrasi Zenodo dengan GitHub. […] Cara terbaik adalah Integrasi Proyek yang dikonfigurasi di sisi GitLab yang mendorong arsip setiap tag saat dibuat.

@remram44 Tangkapan layar di atas adalah tiruan, bukan? Bagaimana Anda membuatnya?

@katrinleinweber Firefox inspector/dev-tool :wink:

Khusus untuk modul Zenodo di GitLabs yang dihosting sendiri, @schlauch & saya memposting https://gitlab.com/gitlab-org/gitlab/issues/25587 .

Menanggapi hal itu, modul Invenio eksperimental dibagikan: https://gitlab.hzdr.de/rodare/invenio-gitlab oleh @tobiashuste.

Fitur ini akan berguna, bagaimana kita bisa upvote itu?

Terus posting sampai mencapai lebih banyak perhatian

Ini akan menjadi fitur yang menarik untuk Zenodo, tidak diragukan lagi.

Ya silahkan !

Saya ingin menggunakan plugin seperti itu juga!

Ide bagus, akan sangat berguna!

Besar thumbsup dari saya! Akan menyederhanakan saluran generasi berikutnya https://zenodo.org/record/3497066!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat