.NET Standard 2.0
dotnet add package Jira.Rest.Sdk --version
NuGet\Install-Package Jira.Rest.Sdk -Version
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="Jira.Rest.Sdk" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Jira.Rest.Sdk --version
#r "nuget: Jira.Rest.Sdk,"
#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.
// Install Jira.Rest.Sdk as a Cake Addin
#addin nuget:?package=Jira.Rest.Sdk&version=

// Install Jira.Rest.Sdk as a Cake Tool
#tool nuget:?package=Jira.Rest.Sdk&version=


SDK using Jira REST to query Jira application using Rest endpoints. Manage your Jira process from query, create and update issues. Integrate with you existing automation solution or process that will manage both Jira Server and Cloud based application.

The request and response objects are having proper DTOS (data transfer or model objects) defined within this package.

More api request will be added in the upcoming releases.

How to Use

Connect to service

     //Connect to cloud hosted Jira service
     var jiraService = new JiraService("jira url", "username", "password", isCloudVersion: true);

     //Connect to cloud hosted Jira service
     var jiraService = new JiraService("jira url", "username", "password", isCloudVersion: false);

     //Get a test case by Key
     var issue = jiraService.IssueGetById("POC-100");

     //Get a list of issues matching your jql
     var issue = jiraService.IssueSearch("<your jql>");

     //Get project by custom filters on any properties
     var project = jiraService.ProjectsGet(p => p.Name.EqualsIgnoreCase("poc")).FirstOrDefault();

     //Create a Issue
     var newIssue = jiraService.IssueCreate(projectKey: "POC", 
                    issueType: "Story", 
                    summary: "Build new interface for model B", 
                    description: "Provide your detailed description for the issue", 
                    priority: "High", 
                    parentKey: "POC-99")

Current Features

 - ProjectsGet
 - ProjectsGet  = with options to search by any project's field property
 - IssueCreate
 - IssueLink
 - IssueLabelAdd
 - IssueAssigneeByAccountId
 - IssueAssigneeByName
 - IssueComponentUpdate
 - IssueAffectedVersionUpdate
 - IssueAffectedVersionRemove
 - IssueFixVersionUpdate
 - IssueFixVersionRemove
 - IssueDescriptionUpdate
 - IssueGetById
 - IssueSearch = with option to search by any issue or its child's field property

Custom Control on the Service - Cloud / Server

There are some level of custom customization available on the service that can be passed on via the constuctor.

  1. restApiVersion - Rest API version for the Zeyphr Service (default value: 'v2')
  2. folderSeparator - Folder separator string (default value: '/')
  3. logPrefix - Prefix text that will be added to all the logs generated from this service (default value: 'Jira: ')
  4. pageSizeSearchResult - Page size for search request (default value: '50')
  5. requestRetryTimes - Number of time to retry when there is a network failure (default value: '1'). You can increase the number of times to retry based on your infrastructure if there are chance for a request to fail randomly
  6. timeToSleepBetweenRetryInMilliseconds - Time to sleep in milliseconds between each time a call is retry (default value: '1000'). Applied only when requestRetryTimes is more than 1
  7. assertResponseStatusOk - True/False whether the response code status from the server needs to be asserted for OK (default value 'true')
  8. listOfResponseCodeOnFailureToRetry - Any of these status code matched from response will then use for retry the request. For example Proxy Authentication randomly failing can be then used to retry (default value 'null' which means it is not checking any response code for fail retry)
  9. requestTimeoutInSeconds - You can increase the response wait time from server based on your server performance, load or network traffic or speed (default value: 300)
  10. retryOnRequestTimeout - True/False whether the request should retry on when the server fails to respond within the timeout period, retry on when server timeouts for a request

A scenario where you have network issues and you want to retry operation, then try this

     //Connect to cloud hosted jira service
     var jService = new JiraService("jira url", "username", "password", isCloudVersion: true,
          requestRetryTimes: 20,
          timeToSleepBetweenRetryInMilliseconds: 1500,
          assertResponseStatusOk: true,
          listOfResponseCodeOnFailureToRetry: new System.Net.HttpStatusCode []  { System.Net.HttpStatusCode.ProxyAuthenticationRequired  },
          retryOnRequestTimeout: false

The above will apply an automatic retry of a maximum 20 times, giving itself a break of 1500 milliseconds between each request made to Jira that fails with a response code of HttpStatusCode.ProxyAuthenticationRequired

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

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 124 2/14/2023 210 11/23/2022 207 11/21/2022 189 11/20/2022 207 11/15/2022 327 9/1/2022 331 8/7/2022
1.0.1 334 7/30/2022
1.0.0 346 5/25/2022
- Retry on every action [Get, Post, Delete, Put] has now additional parameter to control the timeout error from server. retryOnRequestTimeout, can be set to true/false to fail when the request timeout or to retry
- Support to get the User account and version

First Release - Rest Endpoints - Cloud and Server to connect Zeyphr Scale
This sdk provides features to connect with Jira service hosted Server or Cloud. The first release contains the basic features to communicate. With the upcoming release more api endpoints will be added.