🦁

GitHubのリポジトリをZenodoと連携する

2024/01/02に公開

概要

先日、Mirador3でアノテーションを比較するためのプラグインを公開しました。

https://github.com/nakamura196/mirador-compare-plugin

今回は、このリポジトリをZenodoと接続してみます。

結果、releaseを行うたびに、自動的にDOIが付与されるようになりました。

https://zenodo.org/doi/10.5281/zenodo.10449856

Zenodoでの設定

以下にアクセスして、連携対象のGitHubリポジトリを選択します。

/account/settings/github/

GitHub

以下、必須ではありませんが、Zenodoとの連携に向けて、GitHubリポジトリ上で必要な準備を行います。

CITATION.cffの作成

これを作成することにより、CreatorsにORCIDのIDが表示されるようでした。

具体的には、以下のようなファイルを作成します。

https://github.com/nakamura196/mirador-compare-plugin/blob/main/CITATION.cff

CITATION.cff
cff-version: 1.1.0
message: "Cite as"
authors:
  - family-names: Nakamura
    given-names: Satoru
    orcid: https://orcid.org/0000-0001-8245-7925
    affiliation: "The University of Tokyo"
    website: https://researchmap.jp/nakamura.satoru?lang=en
title: "mirador-compare-plugin"
doi: 10.5281/zenodo.10449856

上記により、GitHubリポジトリ上にも「Cite this repository」が表示されるようになりました。

バッジの表示

以下が参考になりました。

https://gist.github.com/seignovert/ae6771f400ca464d294261f42900823a

以下のURLにアクセスして、idを取得します。今回は、664611010でした。

https://api.github.com/repos/nakamura196/mirador-compare-plugin

このidを使用して、README.mdに以下を追加します。

[![DOI](https://zenodo.org/badge/664611010.svg)](https://zenodo.org/badge/latestdoi/664611010)

結果、以下のようにバッジが表示されました。

READEME.mdへのCite asの追加

ResearchObject/ro-crate-py を参考に、READEME.mdへCite asを追加してみます。

この時、以下に記載があるIDを用いることで、最新のバージョンに遷移するURLを作成することができました。

具体的には、今回は10449856というIDを使って、READMEに追記する内容を作成しました。

[![DOI](https://zenodo.org/badge/664611010.svg)](https://zenodo.org/badge/latestdoi/664611010)

The above DOI corresponds to the latest versioned release as [published to Zenodo](https://zenodo.org/records/10449856), where you will find all earlier releases. To cite `mirador-compare-plugin` independent of version, use https://doi.org/10.5281/zenodo.10449856, which will always redirect to the latest release.

リリースの作成

プルリクエストとマージ

ブランチの作成

git checkout -b [新しいブランチ名]

プッシュ後に以下を実行する

gh pr create
gh pr list
gh pr merge [PR番号またはURL]

リリース

npm version patch
git push origin v0.1.12
gh release create v0.1.12 --title "Version 0.1.12"

上記においてWrite using generated notes as templateを選択すると、以下のような文章を自動的に作成してくれます。

Zenodo

以下のように、ページが作成されました。

TitleCreatorsは、CITATION.cffの値が使用されるようでした。

CITATION.cffが未登録の場合、以下のように表示されていました。GitHubのリポジトリ名やユーザ名がそのまま表示されています。

CITATION.cff登録後は、以下のようにORCID IDやaffiliationsを含めて登録されました。

まとめ

ZenodoとGitHubが高度に連携されていることが確認できました。学術論文等におけるソフトウェアの引用がより行いやすくなるように思いました。

参考になりましたら幸いです。

Discussion