Jira.Rest.Sdk
1.0.4
See the version list below for details.
dotnet add package Jira.Rest.Sdk --version 1.0.4
NuGet\Install-Package Jira.Rest.Sdk -Version 1.0.4
<PackageReference Include="Jira.Rest.Sdk" Version="1.0.4" />
<PackageVersion Include="Jira.Rest.Sdk" Version="1.0.4" />
<PackageReference Include="Jira.Rest.Sdk" />
paket add Jira.Rest.Sdk --version 1.0.4
#r "nuget: Jira.Rest.Sdk, 1.0.4"
#:package Jira.Rest.Sdk@1.0.4
#addin nuget:?package=Jira.Rest.Sdk&version=1.0.4
#tool nuget:?package=Jira.Rest.Sdk&version=1.0.4
<div align="center"> <img src="icon.svg" alt="Jira REST SDK" width="64" height="64">
Jira.Rest.Sdk
A comprehensive .NET SDK for Jira REST API integration
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 endpoints will be added in upcoming releases.
🚀 Quick Start
Install the package via NuGet Package Manager:
Install-Package Jira.Rest.Sdk
Or via .NET CLI:
dotnet add package Jira.Rest.Sdk
How to Use
Connect to service
//Connect to cloud hosted Jira service (API v2 - default)
var jiraService = new JiraService("jira url", "username", "password", isCloudVersion: true);
//Connect to server hosted Jira service (API v2 - default)
var jiraService = new JiraService("jira url", "username", "password", isCloudVersion: false);
//Connect using Jira API version 3 (enhanced features)
var jiraServiceV3 = new JiraService("jira url", "username", "password",
isCloudVersion: true, jiraApiVersion: "3");
//Connect using bearer token authentication
var jiraService = new JiraService("jira url",
serviceUsername: "",
servicePassword: "",
isCloudVersion: true,
authToken: "bearer token");
//Get a test case by Key
var issue = jiraService.IssueGetById("POC-100");
//Get a list of issues matching your jql
var issues = jiraService.IssueSearch("<your jql>");
//Get project by custom filters on any properties
var project = jiraService.ProjectsGet(p => p.Name.EqualsIgnoreCase("poc")).FirstOrDefault();
//Enhanced project search (requires Jira API v3+)
var projects = jiraServiceV3.ProjectSearch("MyProject");
//Create a Issue
var newIssue = jiraService.IssueCreate(projectKey: "POC",
issueType: "Story",
summary: "Build new interface for model B",
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.
- restApiVersion - Rest API version for the Zeyphr Service (default value: 'v2')
- folderSeparator - Folder separator string (default value: '/')
- logPrefix - Prefix text that will be added to all the logs generated from this service (default value: 'Jira: ')
- pageSizeSearchResult - Page size for search request (default value: '50')
- 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
- timeToSleepBetweenRetryInMilliseconds - Time to sleep in milliseconds between each time a call is retry (default value: '1000'). Applied only when requestRetryTimes is more than 1
- assertResponseStatusOk - True/False whether the response code status from the server needs to be asserted for OK (default value 'true')
- 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)
- requestTimeoutInSeconds - You can increase the response wait time from server based on your server performance, load or network traffic or speed (default value: 300)
- 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 Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- TestAny.Essentials.Api (>= 2.0.2)
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.9 | 123 | 5/4/2026 |
| 1.0.8 | 185 | 2/10/2026 |
| 1.0.7 | 343 | 12/17/2025 |
| 1.0.6 | 344 | 11/30/2025 |
| 1.0.5 | 271 | 11/3/2025 |
| 1.0.4 | 200 | 11/1/2025 |
| 1.0.3 | 1,739 | 12/7/2024 |
| 1.0.2 | 731 | 9/3/2024 |
| 1.0.1.10 | 315 | 6/6/2024 |
| 1.0.1.9 | 554 | 11/22/2023 |
| 1.0.1.8 | 345 | 10/11/2023 |
| 1.0.1.7 | 701 | 2/14/2023 |
| 1.0.1.6 | 727 | 11/23/2022 |
| 1.0.1.5 | 748 | 11/21/2022 |
| 1.0.1.4 | 688 | 11/20/2022 |
| 1.0.1.3 | 771 | 11/15/2022 |
| 1.0.1.2 | 858 | 9/1/2022 |
| 1.0.1.1 | 907 | 8/7/2022 |
| 1.0.1 | 869 | 7/30/2022 |
| 1.0.0 | 963 | 5/25/2022 |
1.0.4
- 🎨 Added official Jira-themed package icon
- 📚 Enhanced NuGet package documentation and README
- 🔧 Improved package metadata for better discoverability
- 🚀 Added support for Jira API version 3
- 📋 Enhanced project search functionality for Jira v3+ instances
## Using Jira API Version 3
To use Jira API version 3, specify the `jiraApiVersion` parameter in the constructor:
```csharp
// Connect to Jira Cloud/Server using API version 3
var jiraService = new JiraService(
appUrl: "https://your-jira-instance.com/",
serviceUsername: "username",
servicePassword: "password",
isCloudVersion: true,
jiraApiVersion: "3" // Specify version 3 for enhanced features
);
// Example: Use enhanced project search (requires Jira v3+)
var projects = jiraService.ProjectSearch("MyProject");
```
**Note:** Some features like enhanced project search require Jira API version 3 or higher.
1.0.3
- 🔐 Added bearer authentication support to the service
- 🛠️ Enhanced authentication options for cloud and server instances
1.0.2
- ⚡ Retry mechanism improvements for all HTTP actions [GET, POST, DELETE, PUT]
- 🕐 Added retryOnRequestTimeout parameter to control timeout error handling
- 🔄 Better control over request timeout scenarios
1.0.1
- 👤 Added support to get User account information and version details
- 🔍 Enhanced user management capabilities
1.0.0 - Initial Release
- 🚀 First release with REST endpoints for both Jira Cloud and Server
- 🔗 Core SDK functionality to connect with Jira services
- 📋 Basic issue management, project operations, and API communication
- 🏗️ Foundation for future API endpoint expansions
Features included in this release:
• Project management (get, search, filter)
• Issue operations (create, read, update, delete, search)
• Issue linking and transitions
• Comments, watchers, votes, and worklogs
• Attachments and notifications
• Bulk operations support
• Comprehensive DTO models for all API responses