{"id":29442236,"url":"https://github.com/burberius/eve-esi","last_synced_at":"2025-07-13T15:03:20.681Z","repository":{"id":13156057,"uuid":"73745858","full_name":"burberius/eve-esi","owner":"burberius","description":"Java Client for the EVE Swagger Interface (ESI)","archived":false,"fork":false,"pushed_at":"2025-07-12T01:10:50.000Z","size":47190,"stargazers_count":40,"open_issues_count":9,"forks_count":15,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-07-12T15:18:48.408Z","etag":null,"topics":["eve-online","eveonline","java","java8","library","swagger"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/burberius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-11-14T20:51:47.000Z","updated_at":"2025-05-04T23:20:36.000Z","dependencies_parsed_at":"2025-04-13T16:29:08.105Z","dependency_job_id":"572b9af6-d1bc-4af5-8f9a-28a95bcbaaca","html_url":"https://github.com/burberius/eve-esi","commit_stats":null,"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/burberius/eve-esi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burberius%2Feve-esi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burberius%2Feve-esi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burberius%2Feve-esi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burberius%2Feve-esi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/burberius","download_url":"https://codeload.github.com/burberius/eve-esi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burberius%2Feve-esi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265071843,"owners_count":23706849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eve-online","eveonline","java","java8","library","swagger"],"created_at":"2025-07-13T15:02:31.990Z","updated_at":"2025-07-13T15:03:15.743Z","avatar_url":"https://github.com/burberius.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Maven Central](https://img.shields.io/maven-central/v/net.troja.eve/eve-esi.svg?maxAge=86400)](http://mvnrepository.com/artifact/net.troja.eve/eve-esi)\n[![Build Status](https://jenkins.vyor.de/buildStatus/icon?job=eve-esi)](https://jenkins.vyor.de/job/eve-esi/)\n\n# EVE-ESI\nA Java client library for the EVE Swagger Interface (ESI)\n\n## Version 6.0.0 changes\n\nWe regenerated the classes with the latest openAPI generator (currently 7.12.0) and try to keep it uptodate now.\nTheoretically there should be any breaking changes.\n\n## Version 4.0.0 changes\n\nEnum changes no longer require a version bump in ESI, therefor eve-esi will return `null` for unknown enum values.\nYou can get the string value of the unknown enum with `get[VariableName]String()`\n\nWe don't check for changes regularly, so please, make an issue (or even better a PR with the changes) if you need\nthe enum values updated.\n\n## Version 3.0.0 changes\nAfter several years with many changes to ESI it is now quite stable, so\nwe decided to move to a (hopefully) better and especially threadsafe http library: **okhttp**\n\nThis version also changes how the *ApiClient* is initialized, it now uses a\nbuilder *ApiClientBuilder* to create the *ApiClient* the right way. Here are two examples:\n\n```java\nApiClient client = new ApiClientBuilder().clientID(clientId).accessToken(\"some-access-token\").build();\n\nApiClient client = new ApiClientBuilder().clientID(clientId).refreshToken(\"some-refresh-token\").build();\n```\n\nFor more, please have a look in the tests.\n\n## Maven integration\nJust add the following to your *pom.xml*:\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003enet.troja.eve\u003c/groupId\u003e\n    \u003cartifactId\u003eeve-esi\u003c/artifactId\u003e\n    \u003cversion\u003e4.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Versioning (Major.Minor.Patch)\n\n- Major\n  - Major breaking changes to the entire library\n  - May also contain endpoint promotions and bug fixes\n- Minor\n  - Endpoint promotions ([breaking changes](https://github.com/esi/esi-docs/blob/master/docs/breaking_changes.md) announced in the [esi changelog](https://github.com/esi/esi-issues/blob/master/changelog.md))\n  - May also contain bug fixes\n- Patch\n  - Bug fixes without any breaking changes\n\n## SSO usage\nThe usage of the SSO can be seen in the *main* method within the test class\n*net/troja/eve/esi/api/auth/SsoAuthTest.java*.\n\n**Note:** The state should be some secret to prevent XRSF, please read:\nhttp://www.thread-safe.com/2014/05/the-correct-use-of-state-parameter-in.html\n\n## ApiException: Bad Gateway\nThe exception *net.troja.eve.esi.ApiException: Bad Gateway* happens in the ESI on occasion,\nthere's not much you can do on the client side except be prepared to handle it (e.g. retry).\nSome endpoints are more notorious for this than others. For example, the corporate contracts\nAPI regularly has this issue.\n\nOn a typical day in EveKit, one of my sync nodes makes about 500K requests across various API\nendpoints. About 2000 of those calls result in errors, and about a third of those errors are\n502 (bad gateway). It's just something you have to be prepared to deal with.\n\n## Tests with authorization\nTo run the tests that use authorization you need to have some environment variables set,\nthis information should not be published:\n* SSO_CLIENT_ID\n* SSO_REFRESH_TOKEN\n\nClient id can be created on the following page: https://developers.eveonline.com/\nYou should use http://localhost as redirect url as that is the value used in the test and it also\nmakes it easier after the redirect.\n\n### Create a refresh token for the tests\nTo create a refresh token, you have to start the class *net/troja/eve/esi/api/auth/SsoAuthTest.java*\nwith your client id as the argument or set the environment variables `SSO_CLIENT_ID`.\n\nThe url will open in your browser, login with your account and authorize the access. This will redirect you\nto an url on localhost, something like:\n```\nhttp://localhost/?code=7z524J_PQZ1YjacS35d8JRkOVwNl-jCvn814xCrgeSm3Acc981lZWW0\u0026state=somesecret\n```\n\nCopy the *code* part to console and press enter. As result you will get a refresh token, that can be\nused to run the tests.\n\nExample output:\n```shell\nAuthorization URL: https://login.eveonline.com/oauth/authorize?scope=esi-clones.read_clones.v1\u0026response_type=code\u0026state=somesecret\u0026redirect_uri=http%3A%2F%2Flocalhost\u0026client_id=352ef22ca74e33c78c11779ab3saffe\nCode from Answer: 7z524J_PQZ1YjacS35d8JRkOVwNl-jCvn814xCrgeSm3Acc981lZWW0\nRefresh Token: 0tr5SQ-piuKvqjFdDa765DESObTzWKUj5v63KjaL4cTAx041\n```\n## Tipps 'n' Tricks\n\n### Paging\nIf you wonder how the paging with esi works, please have a look at the test\n*[src/test/java/net/troja/eve/esi/api/MarketApiTest.java](https://github.com/burberius/eve-esi/blob/master/src/test/java/net/troja/eve/esi/api/MarketApiTest.java#L234)* there is a method *pagingExample* showing it.\n\n## Development on windows\n\n### Setup\n1) Download Cygwin from: https://www.cygwin.com\n2) Install Cygwin with the default options\n3) Run the Cygwin installer again and add: wget (web), git (devel), jq (text)\n4) Download maven from: http://maven.apache.org/download.cgi (if you don't have it installed already)\n5) Unpack and add the \"bin\" directory to windows environment variable \"path\"\n6) Download and install Java SE JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html (if you don't have it installed already)\n\n### Generate new source\n1) Start the Cygwin Terminal\n2) ``cd`` to the source\n2) run ``./generate.sh``\n\n## Links\n* [EVE Swagger Interface](https://esi.evetech.net/)\n* [Eve Online SSO](https://github.com/esi/esi-docs#sso---read-this-notice-first)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburberius%2Feve-esi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fburberius%2Feve-esi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburberius%2Feve-esi/lists"}