Уважаемая команда Zenodo,
интеграция, описанная на https://guides.github.com/activities/citable-code/ , построена на вашей стороне универсальным образом, верно? Я просто хотел сообщить вам об обсуждении интеграции Zenodo в 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 будут создаваться записи.
В Zenodo нет OAuth.
На самом деле кажется, что он поддерживает OAuth 2.0: http://developers.zenodo.org/#authentication Так что ввод токена вручную может даже не потребоваться.
В качестве промежуточного резюме, можем ли мы сказать, что GitLab-CI, который отправляет в репозиторий GitHub, подключенный к Zenodo , будет в настоящее время работающей альтернативой, которая получает DOI, назначенный кодовой базе, разработанной в 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!
Самый полезный комментарий
Специально для модуля Zenodo в автономных GitLabs @schlauch и я разместили https://gitlab.com/gitlab-org/gitlab/issues/25587.
В ответ на это был опубликован экспериментальный модуль Invenio: https://gitlab.hzdr.de/rodare/invenio-gitlab от @tobiashuste.