The VersionOne Java SDK is a library built using Java that allows object-oriented access to the VersionOne API, which is inherently a REST-based web service. Using the SDK you can query for simple or complex sets of information, update information, and execute system-defined operations, without having to construct HTTP requests and responses or deal with parsing the data contained in the HTTP responses. The SDK serves as a wrapper to the VersionOne API, eliminating the need to code the infrastructure necessary for direct handling of HTTP requests and responses.
Practically all data in VersionOne is stored in the form of assets, which have attributes. Each asset is classified by an asset type, which describes a number of attribute definitions, operations, and possibly a relationship to another asset type. A list of all the types within VersionOne, including their attributes and operations, can be obtained using the Meta API.
Simple queries can request a single VersionOne asset with several attributes. Complex queries can request multiple assets meeting certain criteria, have the results sorted in a particular way, and even ask for a portion (or "page") of the overall results. When constructing your queries, you must use the system name for the asset type you would like to retrieve. This is true whether using the API directly or the SDK.
The current release of the Java SDK requires JRE 1.8 or higher, and VersionOne 8.0 or higher (though some features are only available with newer releases).
Getting the Java SDK
There are two ways that you can get the SDK: by using Maven to import the SDK and its dependencies from the Maven Central Repository, or by downloading the SDK and it associated dependencies from the VersionOne AppCatalog and setting a reference to it manually from within your project.
The recommended approach is to use Maven as it will take care of all the dependencies for you, plus make it easier to update the SDK as new versions become available.
Setting a reference using Maven
Assuming that you are using Eclipse as your IDE, use the following to steps to add the Java SDK to your project using Maven:
- Launch Eclipse and open your project.
- Edit the POM file and add the following dependency with the actual SDK version number that you want to reference:
<dependency> <groupId>com.versionone</groupId> <artifactId>VersionOne.SDK.Java.APIClient</artifactId> <version>XX.X.X</version> </dependency>
Setting a reference manually
Assuming that you are using Eclipse as your IDE, use the following to steps to manually add the Java SDK to your project:
- Download the latest stable build of the SDK from the AppCatalog page.
- Save the ZIP file to a known location on your hard drive.
- Unzip the SDK.
- Launch Eclipse and open your project.
- In the Package Explorer, right click on the project name then select Build Path, then Add External Archives.
- Navigate to the directory that you downloaded the SDK to and select the VersionOne.SDK.Java.APIClient-XX.X.X.jar file, then click Open.
While the Java SDK is fully supported by VersionOne, it is also open-sourced. You can get the source code for the SDK from this GitHub repository: https://github.com/versionone/VersionOne.SDK.Java.APIClient
Using the Java SDK
Once you properly set a reference to the SDK within your project, using it is simply a matter of making a connection to VersionOne then writing the code to query, update, and create VersionOne assets, or execute operations against them.
The following topics discuss the major features of the SDK and demonstrate how you can make use of them:
While we strive to make the SDK as easy to use as possible, you may still occasionally need some help, and there are a few different ways you can get it:
- Code Samples: A growing list of recipes for working with the VersionOne API. Check here first to see if an answer already exists.
- StackOverflow: For asking question of the VersionOne Developer Community.
- VersionOne Support: Our support team is well versed in the VersionOne API, including accessing it via the SDK.
- VersionOne Technical Services: A paid support offering, this team provides API training, development pairing, and complete custom development services.