Jira.Rest.Sdk 1.0.2

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

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

Jira.Rest.Sdk

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 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. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
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
1.0.2 291 9/3/2024
1.0.1.10 147 6/6/2024
1.0.1.9 425 11/22/2023
1.0.1.8 219 10/11/2023
1.0.1.7 518 2/14/2023
1.0.1.6 560 11/23/2022
1.0.1.5 557 11/21/2022
1.0.1.4 523 11/20/2022
1.0.1.3 548 11/15/2022
1.0.1.2 688 9/1/2022
1.0.1.1 702 8/7/2022
1.0.1 656 7/30/2022
1.0.0 721 5/25/2022

1.0.1.7
- Added bearer auth to the service

1.0.1.1
- 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

1.0.1.0
- Support to get the User account and version

First Release 1.0.0.0 - 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.