Skip to content

Latest commit

 

History

History
53 lines (44 loc) · 2.8 KB

index.md

File metadata and controls

53 lines (44 loc) · 2.8 KB

Dapplo.Jira

This is a simple REST based JIRA client, written for Greenshot, by using Dapplo.HttpExtension

  • Documentation: Dapplo.Jira

  • Current build status: Build Status

  • Coverage Status: Coverage Status

  • NuGet package: NuGet package

If you like this project, maybe it saves you time or money, and want to support me to continue the development? You can donate something via GitHub Sponsors or Paypal: https://www.paypal.me/dapplo

This client has support for:

  • Issue (CRUD, comment, assign, issue types)
  • Attachments (CRUD)
  • Basic authorization, OAuth & session (via cookie)
  • Search, with a JQL builder e.g. Where.And(Where.User.IsCurrentUser,Where.Text.Contains("Urgent"))
  • Paging results
  • Information on projects, transitions and users
  • getting Avatars of users/projects and icons for Issue type
  • CRUD methods for the work-log (time spend on issues)
  • CRUD methods for filters
  • Some Agile methods, to get sprints/boards/issues. (work in progress)

For examples on how to use this library, I advice you to look at the test cases.

A example to find issues which are assigned to someone who is currently (or langer) not available, and remove the assignment

// Preferably use a "bot" user for maintenance
var username = Environment.GetEnvironmentVariable("jira_test_username");
var password = Environment.GetEnvironmentVariable("jira_test_password");
var client = JiraClient
    .Create(TestJiraUri)
    .SetBasicAuthentication(username, password);

const string unavailableUser = "Robin Krom";
// Find all issues in a certain state and assigned to a user who is not available
var searchResult = await client.Issue.SearchAsync(Where.And(Where.Assignee.Is(unavailableUser), Where.Status.Is("Building")));

foreach (var issue in searchResult.Issues)
{
    // Remote the assignment, to make clear no-one is working on it
    await issue.AssignAsync(User.Nobody);
    // Comment the reason to the issue
    await issue.AddCommentAsync($"{unavailableUser} is currently not available.");
}

snippet source | anchor