Zenodo: GitHubと同じようにGitLabに接続します

作成日 2018年01月11日  ·  20コメント  ·  ソース: zenodo/zenodo

Zenodoチームの皆様、

https://guides.github.com/activities/citable-code/で説明されている統合は、一般化可能な方法で構築されていますよね? GitLabでのZenodo統合についての議論をお知らせしたいと

乾杯 :-)

Feature request Needs investigation i - Asclepias Accepted

最も参考になるコメント

特にセルフホストのGitLabsのZenodoモジュールについては、 @ schlauchと私がhttps://gitlab.com/gitlab-org/gitlab/issues/25587に投稿しました

これに応えて、実験的なInvenioモジュールが共有されました: https ://gitlab.hzdr.de/rodare/invenio-gitlab by @ tobiashuste。

全てのコメント20件

PS: invenio atticcontribの問題を検索しましたが、GitLabについて何も表示されなかったので、ここに投稿しても問題ないことを願っています。

ねえ@katrinleinweber 、これをhttps://github.com/inveniosoftware/invenio-githubに似たものが必要になり

ここでの主な難しさは、カスタムGitLabインストールのサポートのようです。 同様の理由で、現在、カスタムGitLabインスタンスに似たエンタープライズGitHubをサポートしていません。

なぜあなたの側からの変更が必要なのか聞いてもいいですか? GitLabはAPIを使用してリリース時にtarballをデポジットできませんか?

ねえ@ remram44あなたは私たちのRESTAPIと話しているGitLabモジュールのようなものを意味しますか? 実際、そうです、それは可能です。

なぜあなたの側からの変更が必要なのか聞いてもいいですか?

私たちの側での変更は、gitlab用のinvenio-githubモジュールのようなものを書くことです(つまり、GitLab-Zenodoアカウントの接続、Webhookの登録、ペイロード処理など)。 たとえば、GitHub統合はGitHubサードパーティアプリであり、GitHubユーザーのパブリックリポジトリへの書き込みアクセスを要求します。 ユーザーは最初にZenodoで自分のGitHubアカウントに接続する必要があるため、リポジトリがリリースされると、Zenodoレコードの「所有者」が誰であるかが明確になります。 そのため、ユーザーが自分のリポジトリの1つでアーカイブを有効にすると(スイッチを切り替える)、リポジトリにWebhookを登録し、ペイロードが到着したときに処理します。 この時点で、githubユーザーをzenodoユーザーにリンクできます。

GitLabはAPIを使用してリリース時にtarballをデポジットできませんか?

したがって、これを元に戻してGitLabに書き込みを依頼したい場合は、カスタムGitLabモジュールが特定のリポジトリのメタデータを含むtarballをZenodoにプッシュできることがわかりますが、どのZenodoユーザーが対象かは明確ではありません。 最も簡単な方法は、ZenodoユーザーのAPIキーを使用してモジュールを構成することだと思います。これは機能します。

特定のリポジトリのメタデータを含むtarballをZenodoにプッシュするカスタムGitLabモジュールを使用することもできますが、どのZenodoユーザーが対象かは明確ではありません。 最も簡単な方法は、ZenodoユーザーのAPIキーを使用してモジュールを構成することだと思います。これは機能します。

これが私が考えていたものです! ZenodoAPIがとにかく匿名のデポジットを許可していることを知りませんでした。 ZenodoにはOAuthのようなものがありますか? これは、APIキーを貼り付けるよりもわかりやすいかもしれません。

説明に時間を割いていただきありがとうございます、 @ krzysztof :-)

[…] ZenodoユーザーのAPIキーを使用して上記のモジュールを構成します。これは機能します。

その場合、モジュールは独自のユーザー管理を必要としますか、それともGitLabインスタンスのシークレット管理( EEのみ? )を参照します。1つのインスタンスに複数のユーザーがいて、リポジトリを複数のZenodoアカウントに接続する必要があるためです。

それとも(ただ推測しているだけです!)共有された機関のZenodoアカウントに? しかし、おそらくこのケースは最初は無視できます。

ZenodoAPIがとにかく匿名のデポジットを許可していることを知りませんでした

@ remram44そうではありません。APIキーが必要です。 ZenodoにはOAuthがありません。

その場合、モジュールは独自のユーザー管理を必要としますか、それともGitLabインスタンスのシークレット管理(EEのみ?)を参照します。1つのインスタンスに複数のユーザーがいて、リポジトリを複数のZenodoアカウントに接続する必要があるためです。

@katrinleinweber現時点では、特定のレコードに複数の所有者を設定することはできません。また、各リポジトリユーザーにリポジトリの独自のコピーを持たせたくありません。これは、同じコンテンツに対して複数のDOIを使用することを意味します。これは悪いことです。 そのため、特定のGHリポジトリは1人のユーザーのみがアーカイブできます。

何人かのユーザーは、主にジャーナルなどの「機関」アカウントのようなものを使用しますが、レコードキュレーションの「負担」はアカウントの図書館員/所有者にあるため、技術的には機能しますが、長期的には必要ありませんこれは、この問題の主流の解決策になります。 代わりに、将来的には、コミュニティ機能を「チーム」のようなものに拡張し、レコードごとに何らかの形の複数の所有者(または少なくとも複数のキュレーター)を持つ可能性があります。

GitLabプラグインが構成としてZenodoAPIトークンを使用する場合、これは非常に便利なようです。 GitLabのプライベートインストールでも機能します。 レコードを作成するZenodoアカウントを決定するのはチーム次第です。

screen shot 2018-01-15 at 11 47 29

ZenodoにはOAuthがありません。

実際には、OAuth 2.0をサポートしているようです。http

断続的な要約として、 Zenodoに接続されたGitHubリポジトリにプッシュする

もう関係ありません。 お気軽に非表示にしてください。

GitLabの提案

新しいタグが作成されたときのようなWebフック[…]は、GitHubとのZenodo統合で使用される同等のAPIのようです。 […]最良の方法は、作成時にすべてのタグのアーカイブ

@ remram44上のスクリーンショットはモックアップですよね? どうやって作ったの?

@katrinleinweber Firefox inspector / dev-tool:wink:

特にセルフホストのGitLabsのZenodoモジュールについては、 @ schlauchと私がhttps://gitlab.com/gitlab-org/gitlab/issues/25587に投稿しました

これに応えて、実験的なInvenioモジュールが共有されました: https ://gitlab.hzdr.de/rodare/invenio-gitlab by @ tobiashuste。

この機能は便利ですが、どうすれば賛成できますか?

注目を集めるまで投稿を続けてください😉

これは、Zenodoにとって興味深い機能になることは間違いありません。

はい、お願いします !

そんなプラグインも使いたい!

素晴らしいアイデア、非常に便利です!

私からの大きなサムサップ! 次世代のhttps://zenodo.org/record/3497066のパイプラインを簡素化し

このページは役に立ちましたか?
0 / 5 - 0 評価