Zenodo: подключиться к GitLab так же, как к GitHub

Созданный на 11 янв. 2018  ·  20Комментарии  ·  Источник: zenodo/zenodo

Уважаемая команда Zenodo,

интеграция, описанная на https://guides.github.com/activities/citable-code/ , построена на вашей стороне универсальным образом, верно? Я просто хотел сообщить вам об обсуждении интеграции Zenodo в GitLab .

Ваше здоровье :-)

Feature request Needs investigation i - Asclepias Accepted

Самый полезный комментарий

Специально для модуля Zenodo в автономных GitLabs @schlauch и я разместили https://gitlab.com/gitlab-org/gitlab/issues/25587.

В ответ на это был опубликован экспериментальный модуль Invenio: https://gitlab.hzdr.de/rodare/invenio-gitlab от @tobiashuste.

Все 20 Комментарий

PS: Я искал через Invenio чердачных и вно вопросы , но так как ничего о GitLab обнаружился, я надеюсь , отправляю это здесь в порядке.

Привет, @katrinleinweber , спасибо, что https://github.com/inveniosoftware/invenio-github.

Похоже, что главным трудным моментом здесь будет поддержка кастомных установок GitLab. По тем же причинам мы в настоящее время не поддерживаем корпоративный GitHub, который аналогичен настраиваемому экземпляру GitLab.

Могу я спросить, зачем нужны изменения с вашей стороны? Не может GitLab депонировать архивы при выпуске с помощью вашего API?

Привет, @ remram44. Вы имеете в виду что-то вроде модуля GitLab, взаимодействующего с нашим REST API? На самом деле да, это возможно.

Могу я спросить, зачем нужны изменения с вашей стороны?

Изменения с нашей стороны будут связаны с написанием чего-то вроде модуля invenio-github для gitlab (т.е. подключения учетных записей GitLab-Zenodo, регистрации веб-хуков, обработки полезной нагрузки и т. Д.). Например, наша интеграция с GitHub - это стороннее приложение GitHub, которое запрашивает доступ на запись к общедоступным репозиториям пользователя GitHub. Сначала пользователю необходимо подключить свою учетную запись GitHub к Zenodo, чтобы после выпуска репо стало понятно, кто является «владельцем» записей Zenodo. Поэтому, когда пользователь включает архивирование в одном из своих репозиториев (щелкает переключателем), мы регистрируем веб-перехватчик в репо и обрабатываем полезные данные, когда они поступают к нам. На этом этапе мы можем связать пользователя github с пользователем zenodo.

Не может GitLab депонировать архивы при выпуске с помощью вашего API?

Итак, теперь, если вы хотите отменить это и попросить GitLab написать нам, я вижу, что можно иметь собственный модуль GitLab, который отправляет tarball с метаданными данного репозитория в Zenodo, но неясно, для какого пользователя Zenodo. Я предполагаю, что самым простым способом было бы настроить указанный модуль с помощью ключа API пользователя Zenodo, который будет работать.

можно иметь собственный модуль GitLab, отправляющий архив с метаданными данного репозитория в Zenodo, но неясно, для какого пользователя Zenodo. Я предполагаю, что самым простым способом было бы настроить указанный модуль с помощью ключа API пользователя Zenodo, который будет работать.

Это то, что я имел в виду! Я все равно не знал, что Zenodo API разрешает анонимные депозиты. Есть ли в Zenodo что-то вроде OAuth? Это может быть удобнее, чем вставка ключа API.

Спасибо, что нашли время объяснить,

[…] Настройте указанный модуль с помощью ключа API пользователя Zenodo, который будет работать.

В этом случае будет ли модуль нуждаться в собственном управлении пользователями или обращаться к управлению секретами экземпляра GitLab ( только для EE? ), Потому что в одном экземпляре будет несколько пользователей, которые хотят, чтобы их репозитории были подключены к нескольким учетным записям Zenodo.

Или, может быть (просто спекулирую!) На общую институциональную учетную запись Zenodo? Но, может быть, изначально этот случай можно проигнорировать.

Я не знал, что Zenodo API все равно разрешает анонимные депозиты

@ remram44 Нет, нужен ключ API. В Zenodo нет OAuth.

В этом случае будет ли модуль нуждаться в собственном управлении пользователями или обращаться к управлению секретами экземпляра GitLab (только для EE?), Потому что в одном экземпляре будет несколько пользователей, которые хотят, чтобы их репозитории были подключены к нескольким учетным записям Zenodo.

@katrinleinweber В настоящее время невозможно иметь несколько владельцев для данных записей, и мы бы также не хотели, чтобы каждый пользователь репо имел свою собственную копию репозитория - это будет означать несколько DOI для одного и того же контента, что плохо. По этой причине репозиторий GH может быть заархивирован только одним пользователем.

Некоторые пользователи действительно используют что-то вроде «институциональной» учетной записи, в основном журналов, но тогда «бремя» курирования записей ложится на библиотекаря / владельца учетной записи, так что технически это сработает, но в долгосрочной перспективе мы бы не захотели это должно стать основным решением этой проблемы. Вместо этого в будущем мы могли бы расширить функцию сообществ, чтобы она напоминала что-то вроде «команды», и, вероятно, иметь в какой-то форме несколько владельцев (или, по крайней мере, нескольких кураторов) для каждой записи.

Если плагин GitLab принимает токен API Zenodo в качестве конфигурации, это кажется очень полезным. Также будет работать на частных установках GitLab. Команда должна решить, под какой учетной записью Zenodo будут создаваться записи.

screen shot 2018-01-15 at 11 47 29

В Zenodo нет OAuth.

На самом деле кажется, что он поддерживает OAuth 2.0: http://developers.zenodo.org/#authentication Так что ввод токена вручную может даже не потребоваться.

В качестве промежуточного резюме, можем ли мы сказать, что GitLab-CI, который отправляет в репозиторий GitHub, подключенный к Zenodo , будет в настоящее время работающей альтернативой, которая получает DOI, назначенный кодовой базе, разработанной в GitLab?

Больше не актуально; Не стесняйтесь прятаться.

GitLab предлагает :

веб-хуки, такие как создание нового тега […], кажутся эквивалентными API, используемыми при интеграции Zenodo с GitHub. […] Лучшим способом была бы интеграция проекта, настроенная на стороне GitLab, которая отправляет архив каждого тега при его создании.

@ remram44 Приведенный выше снимок экрана - это макет, верно? Как ты это создал?

@katrinleinweber Инспектор Firefox / инструмент разработчика: подмигнуть:

Специально для модуля Zenodo в автономных GitLabs @schlauch и я разместили 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 рейтинги