About
youtrack-api is a fluent, object-oriented Java API for YouTrack, tested against version 2017.3.35488. It has just one dependency: Apache’s HttpClient version 4.5.x.
View the usage and the javadoc resources for additional details.
For bugs or enhancements, please use our issue tracker.
Snippet
final YouTrack youtrack = new DefaultYouTrack( new PermanentToken(new URL("http://youtrack"), "your_token") //login ); youtrack.projects() .stream() //stream of all projects .filter(p -> p.id().equals("project_id")) .get() .issues() .create("summary", "description") //create issue for the selected project .comments() .post("This is my first comment!"); //posts a comment to the newly created issue
Dependencies
- Java 8+.
- Apache’s HttpClient version 4.5.x.
- Apache’s HttpClient HttpMime version 4.5.x.
Goals
The goals of this project include:
- Provide a complete API in Java centered on the user (eg. the developer). This means that admin features are out of scope.
- Faithfully follow YouTrack’s model and paradigms.
- Provide a fluent interface to access YouTrack’s features.
- Implement the best OOP design practices.
- High quality by providing extensive test coverage and documentation.
- Give back to the community by open-sourcing this project (we’ve applied the Apache License 2.0).
It is worth noting that performance is not a goal of this project.
Why another Java YouTrack API?
Of the few other Java API projects for YouTrack that seem anywhere remotely “complete”, all are lacking several of the following aspects:
- Fluency
- OOP (DTO is the backbone of their design philosophy)
- Incorrect modeling
- Immutability
- Documentation (including licensing)
- Tests (unit + integration)
- Project activity
Include in maven projects
<dependency> <groupId>org.llorllale</groupId> <artifactId>youtrack-api</artifactId> <version>1.1.0-rc23</version> </dependency>