ServiceDeskPlus.SDK 1.0.0-alpha.3

This is a prerelease version of ServiceDeskPlus.SDK.
dotnet add package ServiceDeskPlus.SDK --version 1.0.0-alpha.3
                    
NuGet\Install-Package ServiceDeskPlus.SDK -Version 1.0.0-alpha.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ServiceDeskPlus.SDK" Version="1.0.0-alpha.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ServiceDeskPlus.SDK" Version="1.0.0-alpha.3" />
                    
Directory.Packages.props
<PackageReference Include="ServiceDeskPlus.SDK" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ServiceDeskPlus.SDK --version 1.0.0-alpha.3
                    
#r "nuget: ServiceDeskPlus.SDK, 1.0.0-alpha.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ServiceDeskPlus.SDK@1.0.0-alpha.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ServiceDeskPlus.SDK&version=1.0.0-alpha.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ServiceDeskPlus.SDK&version=1.0.0-alpha.3&prerelease
                    
Install as a Cake Tool

ServiceDeskPlus SDK

codecov

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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