Zenodo: الاتصال بـ GitLab تمامًا كما هو الحال مع GitHub

تم إنشاؤها على ١١ يناير ٢٠١٨  ·  20تعليقات  ·  مصدر: zenodo/zenodo

فريق Zenodo الأعزاء ،

التكامل الموضح في https://guides.github.com/activities/citable-code/ مبني بطريقة قابلة للتعميم من جانبك ، أليس كذلك؟ أردت فقط إخطارك بمناقشة حول تكامل Zenodo في GitLab .

هتافات :-)

Feature request Needs investigation i - Asclepias Accepted

التعليق الأكثر فائدة

على وجه التحديد بالنسبة لوحدة Zenodo في GitLabs المستضافة ذاتيًا ، نشر schlauch & me https://gitlab.com/gitlab-org/gitlab/issues/25587.

رداً على ذلك ، تمت مشاركة وحدة Invenio التجريبية: https://gitlab.hzdr.de/rodare/invenio-gitlab بواسطةtobiashuste.

ال 20 كومينتر

PS: لقد بحثت من خلال invenio العلية و contrib القضايا ولكن منذ شيئا عن أظهرت GitLab يصل، وآمل نشر هذا هنا على ما يرام.

مرحبًا katrinleinweber ، شكرًا على طرح هذا الأمر. سيتطلب هذا التكامل التكامل من جانبنا ، أي شيء يشبه https://github.com/inveniosoftware/invenio-github

يبدو أنه من الصعب هنا دعم عمليات تثبيت GitLab المخصصة. لأسباب مماثلة ، لا ندعم حاليًا مؤسسة GitHub ، والتي تشبه مثيل GitLab المخصص.

هل لي أن أسأل لماذا التغييرات من نهايتك ضرورية؟ ألا تستطيع GitLab إيداع كرات القطران عند الإصدار باستخدام API الخاص بك؟

Hey @ remram44 هل تقصد شيئًا مثل وحدة GitLab تتحدث إلى REST API؟ في الحقيقة نعم ، هذا ممكن.

هل لي أن أسأل لماذا التغييرات من نهايتك ضرورية؟

ستتمثل التغييرات من جانبنا في كتابة شيء مثل وحدة Invenio-github لـ gitlab (أي ربط حسابات GitLab-Zenodo وتسجيل الويب هوك ومعالجة الحمولة وما إلى ذلك). على سبيل المثال ، يعد تكامل GitHub تطبيقًا تابعًا لجهة خارجية من GitHub ، والذي يطلب حق الوصول الكتابي إلى المستودعات العامة لمستخدم GitHub. يحتاج المستخدم أولاً إلى ربط حساب GitHub الخاص به على Zenodo ، لذلك من الواضح من هو "مالك" سجلات Zenodo بمجرد إصدار الريبو. لذلك عندما يقوم المستخدم بتمكين الأرشفة في أحد مستودعاته (يقلب المفتاح) ، فإننا نسجل خطاف ويب على الريبو ، ونتعامل مع الحمولة عند وصولها إلينا. في هذه المرحلة يمكننا ربط مستخدم github بمستخدم zenodo.

ألا تستطيع GitLab إيداع كرات القطران عند الإصدار باستخدام API الخاص بك؟

لذا الآن ، إذا كنت ترغب في عكس ذلك وجعل GitLab يكتب لنا ، يمكنني أن أرى أنه يمكن للمرء أن يكون لديه وحدة GitLab مخصصة تدفع كرة مع البيانات الوصفية لمستودع معين إلى Zenodo ، ولكن ليس من الواضح بالنسبة لمستخدم Zenodo. أعتقد أن أسهل طريقة هي تكوين الوحدة المذكورة باستخدام مفتاح API الخاص بمستخدم Zenodo ، والذي سيعمل.

يمكن للمرء أن يكون لديه وحدة GitLab مخصصة تدفع كرة القطران مع البيانات الوصفية لمستودع معين إلى Zenodo ، ولكن ليس من الواضح بالنسبة لمستخدم Zenodo. أعتقد أن أسهل طريقة هي تكوين الوحدة المذكورة باستخدام مفتاح API الخاص بمستخدم Zenodo ، والذي سيعمل.

هذا ما كان يدور في خلدي! لم أكن أعلم أن Zenodo API سمح بالإيداعات المجهولة على أي حال. هل لدى Zenodo شيء مثل OAuth؟ قد يكون ذلك أكثر ودية من لصق مفتاح API.

شكرًا لأخذ الوقت الكافي للتوضيح ، krzysztof :-)

[...] تكوين الوحدة المذكورة مع مفتاح واجهة برمجة التطبيقات لمستخدم Zenodo ، والتي ستعمل.

في هذه الحالة ، هل ستحتاج الوحدة إلى إدارة المستخدم الخاصة بها أو الرجوع إلى إدارة أسرار مثيل GitLab ( EE-only؟ ) ، لأنه سيكون هناك العديد من المستخدمين في حالة واحدة ، ويرغبون في ربط وحدات إعادة الشراء الخاصة بهم بالعديد من حسابات Zenodo.

أو ربما (مجرد تخمين!) لحساب Zenodo مؤسسي مشترك؟ ولكن ربما يمكن تجاهل هذه الحالة في البداية.

لم أكن أعلم أن Zenodo API سمح بإيداعات مجهولة على أي حال

@ remram44 لا ، فأنت بحاجة إلى مفتاح API. Zenodo ليس لديه OAuth.

في هذه الحالة ، هل ستحتاج الوحدة إلى إدارة المستخدم الخاصة بها أو الرجوع إلى إدارة أسرار مثيل GitLab (EE-only؟) ، لأنه سيكون هناك العديد من المستخدمين في حالة واحدة ، ويرغبون في ربط مستودعاتهم بالعديد من حسابات Zenodo.

katrinleinweber في الوقت الحالي ، ليس من الممكن أن يكون لديك عدة مالكين لسجلات معينة ، ولا نريد أن يكون لكل مستخدم من مستخدمي الريبو نسخته الخاصة من المستودع أيضًا - قد يعني هذا عدة معرفات رقمية لنفس المحتوى وهو أمر سيء. لهذا السبب ، يمكن أرشفة GH repo بواسطة مستخدم واحد فقط.

يستخدم العديد من المستخدمين شيئًا مثل الحساب "المؤسسي" ، في المجلات بشكل أساسي ، ولكن بعد ذلك يقع "عبء" تنظيم السجلات على عاتق أمين المكتبة / مالك الحساب ، بحيث ينجح ذلك من الناحية الفنية ، ولكن على المدى الطويل لا نريد هذا ليصبح الحل السائد لهذه المشكلة. بدلاً من ذلك ، قد نقوم في المستقبل بتوسيع ميزة المجتمعات لتشبه شيئًا مثل "الفريق" ، وربما يكون لدينا شكل من أشكال المالكين المتعددين (أو على الأقل عدة منسقين) لكل سجل.

إذا كان المكون الإضافي GitLab يأخذ رمز Zenodo API كتكوين ، فهذا يبدو قابلاً للاستخدام للغاية. سيعمل أيضًا على التركيبات الخاصة لـ GitLab. سيكون الأمر متروكًا للفريق ليقرر أي حساب Zenodo يتم إنشاء السجلات بموجبه.

screen shot 2018-01-15 at 11 47 29

Zenodo ليس لديه OAuth.

في الواقع يبدو أنه يدعم OAuth 2.0: http://developers.zenodo.org/#authentication لذا قد لا يكون إدخال رمز يدويًا مطلوبًا.

كملخص متقطع ، هل يمكننا القول أن GitLab-CI الذي يدفع إلى GitHub-repo المتصل بـ Zenodo سيكون بديلاً عمليًا حاليًا يحصل على DOI المعين لقاعدة الكود التي تم تطويرها في GitLab؟

لم تعد ذات صلة ؛ لا تتردد في الاختباء.

يقترح GitLab :

خطافات الويب ، كما هو الحال عند إنشاء علامة جديدة [...] يبدو أنها واجهات برمجة التطبيقات المكافئة المستخدمة بواسطة تكامل Zenodo مع GitHub. [...] أفضل طريقة هي تكامل المشروع الذي تم تكوينه على جانب GitLab الذي يدفع أرشيفًا لكل علامة عند إنشائه.

@ remram44 لقطة الشاشة أعلاه هي نموذج بالحجم

katrinleinweber فايرفوكس المفتش / dev-tool: غمزة:

على وجه التحديد بالنسبة لوحدة Zenodo في GitLabs المستضافة ذاتيًا ، نشر schlauch & me https://gitlab.com/gitlab-org/gitlab/issues/25587.

رداً على ذلك ، تمت مشاركة وحدة Invenio التجريبية: https://gitlab.hzdr.de/rodare/invenio-gitlab بواسطةtobiashuste.

هذه الميزة ستكون مفيدة ، كيف يمكننا التصويت عليها؟

فقط استمر في النشر حتى يصل إلى مزيد من الاهتمام 😉

ستكون هذه ميزة مثيرة للاهتمام لـ Zenodo ، بلا شك على الإطلاق.

نعم من فضلك !

أود استخدام مثل هذا البرنامج المساعد أيضًا!

فكرة عظيمة ، ستكون مفيدة جدا!

إبهام كبير مني! من شأنه تبسيط خط أنابيب الجيل القادم من https://zenodo.org/record/3497066!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات