This is an unofficial YouTrack client for Java Language.
This client requires 2 properties.
property key | property value |
---|---|
youtrack.access.token |
Access Token for YouTrack. |
youtrack.base.url |
Base URL for your YouTrack instance, with finishing with path /youtrack . |
These properties can be given via JVM parameters(java -jar your.jar -Dyoutrack.access.token=xxxx
),
a file with name youtrack.properties
at working directory
or a resource file(the name is youtrack.properties
too).
The order of file to be loaded is determined as follows.
- JVM parameters.
youtrack.properties
file on a working directory.youtrack-test.properties
file on classpath resource.youtrack.properties
file on classpath resource.
This client currently supports these APIs.
getAccessibleProjects
createNewIssue
Requests GET /projects/all
and returns List<YouTrackProject>
.
public class Sample {
public static void main(String[] args){
try (final YouTrack youTrack = YouTrack.getInstance()) {
youTrack.getAccessibleProjects()
.executeRequest()
.onSuccess(projects -> projects.forEach(System.out::println))
.block();
}
}
}
// -> ShortYouTrackProject{name='Project Name', shortName='PN'}
Requests POST /issue
and returns Issue
public class Sample {
public static void main(String[] args) {
try (final YouTrack youTrack = YouTrack.getInstance()) {
youTrack.createNewIssueInProject("PN")
.summary("The style of UserName in front page is broken.")
.executeRequest()
.map(Issue::getId)
.onSuccess(System.out::println)
.block();
}
}
}
// -> IssueId[id: PN-123065]