Skip to content

Implemented OpenAlex #14020

Merged
Siedlerchr merged 10 commits intoJabRef:mainfrom
MartinBuzogan:issue--13940
Oct 5, 2025
Merged

Implemented OpenAlex #14020
Siedlerchr merged 10 commits intoJabRef:mainfrom
MartinBuzogan:issue--13940

Conversation

@MartinBuzogan
Copy link
Copy Markdown
Contributor

Closes #13940

  • Implemented Fetcher for OpenAlex for SearchBasedFetcher and FullTextFetcher
  • implemented required parser
  • Implemented unitTests for new Fetcher

Mandatory checks

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Oct 3, 2025

Hey @MartinBuzogan!

Thank you for contributing to JabRef! Your help is truly appreciated ❤️.

We have automatic checks in place, based on which you will soon get automated feedback if any of them are failing.
We also use TragBot with custom rules that scans your changes and provides some preliminary comments, before a maintainer takes a look.
TragBot is still learning, and may not always be accurate.
In the "Files changed" tab, you can go through its comments and just click on "Resolve conversation" if you are sure that it is incorrect, or comment on the conversation if you are doubtful.

Please re-check our contribution guide in case of any other doubts related to our contribution workflow.

// DOI
if (item.has("publication_year")) {
String doi = item.optString("doi");
doi = doi.replaceFirst("^https://doi\\.org/", "");
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to split the url from doi, we have cleanup/converter for this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, i will remove unnecessary cleanup

@Test
void parserParsesSingleWorkObject() throws Exception {
Parser parser = fetcher.getParser();
String json = "{" +
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can convert this to multi-line string (three quotation marks) intellij should offer an action for it

@Siedlerchr
Copy link
Copy Markdown
Member

Thanks a lot for the contribution, looks already mostly good. Please have a look at the failing test.
There is probably one architecture test that needs to be adapted as we have now another fetcher

@MartinBuzogan MartinBuzogan marked this pull request as ready for review October 4, 2025 22:02
@Siedlerchr Siedlerchr added the status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers label Oct 5, 2025
Copy link
Copy Markdown
Member

@subhramit subhramit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, thanks!

P.S. (for future) please don't remove the steps to test section from the PR description.

@MartinBuzogan
Copy link
Copy Markdown
Contributor Author

After merging the main branch into mine I have issues with some of the pipeline, I don't know where is the problem before it passed all the tests

@Siedlerchr
Copy link
Copy Markdown
Member

Seems like an issue with sonatype or jitpack, resolving a snapshot dependency fails. not related to your changes

@Siedlerchr Siedlerchr added this pull request to the merge queue Oct 5, 2025
Merged via the queue into JabRef:main with commit 4e92491 Oct 5, 2025
45 of 48 checks passed
merlinymy pushed a commit to merlinymy/jabref that referenced this pull request Oct 6, 2025
* implementation of OpenAlexFetcher , Added UnitTest

* updated changelog

* updated tests for OpenAlex

* Updated WebFetcher to correct SourceCode test & converted parser tests to multi-line strings & applied DoiCleanup instead of removing it manualy

* OpenAlexFetcherTest Reformated

* Changed annotation NotNull to NonNull
@Siedlerchr
Copy link
Copy Markdown
Member

Are you interested in implementing the fetcher in #13400 as well?
While the issue is currently assigned, I have my doubts that the contributor will show up doing anything...
I think this would be more straightforward if you take this issue

Siedlerchr added a commit to HoussemNasri/jabref that referenced this pull request Oct 9, 2025
* upstream/main: (85 commits)
  Fix typo in PR template (add missing 'to') (JabRef#14050)
  New Crowdin updates (JabRef#14049)
  Switch to new macos intel runner and update arm runner as well (JabRef#14048)
  Automatic field editor: Add Clear content tab + viewmodel (JabRef#13824)
  Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.4.0.202509020913-r (JabRef#14046)
  Rephrase JabRef-Machine's "Determine issue number" (JabRef#14044)
  Chore(deps): Bump com.vanniktech.maven.publish from 0.32.0 to 0.34.0 in /jablib (JabRef#14039)
  Chore(deps): Bump org.mockito:mockito-core in /jablib (JabRef#14038)
  Chore(deps): Bump jablib/src/main/resources/csl-styles (JabRef#14037)
  Chore(deps): Bump com.dlsc.pdfviewfx:pdfviewfx in /versions (JabRef#14040)
  Chore(deps): Bump lucene from 10.3.0 to 10.3.1 in /versions (JabRef#14042)
  Fix eadr missing (JabRef#14043)
  Enable update in versions of jablib (JabRef#14036)
  Update Gradle Wrapper from 9.3.0-jabref-1 to 9.1.0 (JabRef#14033)
  Implemented OpenAlex  (JabRef#14020)
  Chore(deps): Bump peter-evans/create-or-update-comment from 4 to 5 (JabRef#14023)
  Chore(deps): Bump org.cyclonedx.bom from 3.0.0-alpha-1 to 3.0.0 (JabRef#14026)
  Chore(deps): Bump org.junit.jupiter:junit-jupiter in /versions (JabRef#14030)
  Chore(deps): Bump com.github.andygoossens:gradle-modernizer-plugin (JabRef#14027)
  Chore(deps): Bump org.mockito:mockito-core in /versions (JabRef#14028)
  ...
Shanaya-1981 pushed a commit to Shanaya-1981/jabref that referenced this pull request Oct 13, 2025
* implementation of OpenAlexFetcher , Added UnitTest

* updated changelog

* updated tests for OpenAlex

* Updated WebFetcher to correct SourceCode test & converted parser tests to multi-line strings & applied DoiCleanup instead of removing it manualy

* OpenAlexFetcherTest Reformated

* Changed annotation NotNull to NonNull
@koppor
Copy link
Copy Markdown
Member

koppor commented Feb 4, 2026

Follow-up PR fixing some issues: #15023

@koppor koppor mentioned this pull request Feb 4, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

first contrib status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a fetcher for OpenAlex

4 participants