ServiceDeskPlus.SDK
1.0.0-alpha.3
dotnet add package ServiceDeskPlus.SDK --version 1.0.0-alpha.3
NuGet\Install-Package ServiceDeskPlus.SDK -Version 1.0.0-alpha.3
<PackageReference Include="ServiceDeskPlus.SDK" Version="1.0.0-alpha.3" />
<PackageVersion Include="ServiceDeskPlus.SDK" Version="1.0.0-alpha.3" />
<PackageReference Include="ServiceDeskPlus.SDK" />
paket add ServiceDeskPlus.SDK --version 1.0.0-alpha.3
#r "nuget: ServiceDeskPlus.SDK, 1.0.0-alpha.3"
#:package ServiceDeskPlus.SDK@1.0.0-alpha.3
#addin nuget:?package=ServiceDeskPlus.SDK&version=1.0.0-alpha.3&prerelease
#tool nuget:?package=ServiceDeskPlus.SDK&version=1.0.0-alpha.3&prerelease
ServiceDeskPlus SDK
A lightweight .NET SDK that simplifies working with the ManageEngine ServiceDesk Plus REST API. The library provides a typed client and models so you can issue requests and handle responses and API errors in a straightforward, idiomatic C# way.
What is this project?
- ServiceDeskPlus.SDK: The core SDK library targeting .NET 8 (net8.0). It contains the client(s), request/response models, and error handling utilities for interacting with ServiceDesk Plus.
- ServiceDeskPlus.Tests: Unit tests for the SDK, ensuring correctness and guarding against regressions.
Why use it?
- Strongly typed models and responses instead of manual JSON handling.
- Clear error handling that surfaces ServiceDesk Plus API status information alongside HTTP details.
Getting started
While the exact initialization may vary based on your environment and authentication, the general pattern is:
Simple instantiation
using ServiceDeskPlus.SDK;
// Get the host and auth token from environment variables or other configuration sources.
string sdpHost = Environment.GetEnvironmentVariable("SDP_HOST") ?? "https://your-servicedesk-plus-instance";
string sdpAuthToken = Environment.GetEnvironmentVariable("SDP_AUTH_TOKEN") ?? "";
var sdpClient = new SdpClient(sdpHost, sdpAuthToken);
// Example: retrieve a request by id
var result = await sdpClient.Request.GetAsync(12345);
Dependency injection
Initialization
using ServiceDeskPlus.SDK;
// Assuming the options are stored in the "ServiceDeskPlus" scope of the configuration.
string hostAddress = builder.Configuration.GetValue("ServiceDeskPlus:HostAddress", "https://localhost:8080");
string authToken = builder.Configuration.GetValue("ServiceDeskPlus:AuthToken", "");
builder.Services.AddScoped(s => new ServiceDeskPlus.SDK.SdpClient(hostAddress, authToken));
Usage
using ServiceDeskPlus.SDK;
public class MyService
{
private readonly SdpClient _sdpClient;
public MyService(SdpClient sdpClient)
{
_sdpClient = sdpClient;
}
public async Task SomeTask()
{
var request = await _sdpClient.Request.GetAsync(12345);
// Do something with the result...
}
}
Adjust the base URL and authentication to match your ServiceDesk Plus instance and configuration.
Build and test
- Build:
dotnet build
- Test:
dotnet test
Both commands should be run from the repository root using .NET 8 SDK.
Status
This project is currently in very early development and does not yet support all of the available API endpoints.
Progress
- Requests
- Get
- List
- Add
- Edit
- Delete
Contributing
Issues and pull requests are welcome. If you plan substantial changes, consider opening an issue first to discuss your approach.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0-alpha.3 | 113 | 8/18/2025 |
1.0.0-alpha.2 | 111 | 8/18/2025 |
1.0.0-alpha.1 | 115 | 8/18/2025 |