.NET SDK
This topic explains how the .NET API is used to access Agility API.
Overview
The Digital.ai Agility .NET SDK is a library built using the .NET Framework 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 Agility 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 Agility 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.
In terms of API authentication, the SDK supports using Basic(username and password), Windows Integrated(NTLM), Access Tokens, and OAuth2.
System Requirements
The current release of the .NET SDK requires .NET Framework 4.5.1 or higher, and Agility 8.0 or higher (though some features are only available with newer releases).
Getting the .NET SDK
There are two ways that you can get the SDK: by using NuGetor by downloading the SDK and it associated dependencies from the Agility AppCatalog and setting a reference to it manually from within your project.
The recommended approach is to use NuGet 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 NuGet
Assuming that you are using Visual Studio as your IDE, use the following to steps to add the .NET SDK to your project using NuGet:
- Launch Visual Studio for your project.
- In the Solution Explorer, right click on References then select Manage NuGet Packages.
- Check that you are set to search online packages, then search using the term "VersionOne".
- Select "VersionOne.NET SDK" from the list, then click Install.
Setting a reference manually
Assuming that you are using Visual Studio as your IDE, use the following to steps to manually add the .NET 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.
- Navigate to the \bin folder within the SDK directory structure and copy all the DLLs you find there to your project directory structure.
- Launch Visual Studio for your project.
- In the Solution Explorer, right click on References then select Add Reference.
- Click Browse.
- Navigate to where you copied the SDK DLLs and select all of them, then click Add.
While the .NET 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.NET.APIClient
Using the .NET SDK
Once you properly set a reference to the SDK within your project, using it is simply a matter of making a connection to Agility, then writing the code to query, update, and create Agility 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:
- Creating a Connection
- Querying Assets
- Querying Asset History
- Querying Configurations and Localizations
- Creating Assets
- Updating Assets
- Executing Operations
- Executing Pass-Through Queries
- Working with Attachments and Images
Getting Help
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.
- Stack Overflow: For asking question of the VersionOne Developer Community.
- Digital.ai Agility Support: Our support team is well versed in the VersionOne API, including accessing it via the SDK.
- Digital.ai Agility Technical Services: A paid support offering, this team provides API training, development pairing, and complete custom development services.