https://github.com/jetbrains/youtracksharp
.NET Standard 2.0 Library to access YouTrack API.
https://github.com/jetbrains/youtracksharp
jetbrains jetbrains-youtrack youtrack youtrack-api
Last synced: 6 months ago
JSON representation
.NET Standard 2.0 Library to access YouTrack API.
- Host: GitHub
- URL: https://github.com/jetbrains/youtracksharp
- Owner: JetBrains
- License: apache-2.0
- Created: 2010-11-20T21:34:42.000Z (almost 15 years ago)
- Default Branch: 223
- Last Pushed: 2023-06-07T14:22:35.000Z (over 2 years ago)
- Last Synced: 2025-04-03T15:12:14.897Z (6 months ago)
- Topics: jetbrains, jetbrains-youtrack, youtrack, youtrack-api
- Language: C#
- Homepage: https://www.jetbrains.com/youtrack
- Size: 28.2 MB
- Stars: 140
- Watchers: 27
- Forks: 104
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://github.com/JetBrains)
# YouTrackSharp

.NET library to access YouTrack API.
For more information on YouTrack visit [jetbrains.com/youtrack](https://www.jetbrains.com/youtrack).
## Getting started
First of all, install `YouTrackSharp` into your project using a NuGet client.
Install-Package YouTrackSharp
If you want to work with pre-release builds, configure our [MyGet feed](https://www.myget.org/gallery/youtracksharp) as a package source.
To communicate with a YouTrack server instance, we'll need a connection. It is recommended to always use [permanent tokens](https://www.jetbrains.com/help/youtrack/incloud/Manage-Permanent-Token.html) to authenticate against YouTrack, using the `BearerTokenConnection`.
```csharp
var connection = new BearerTokenConnection("https://ytsharp.myjetbrains.com/youtrack/", "perm:abcdefghijklmn");
```Once a connection is made, various services can be used. For example to get a list of projects the user has access to, the `ProjectsService` can be used:
```csharp
var projectsService = connection.CreateProjectsService();
var projectsForCurrentUser = await projectsService.GetAccessibleProjects();
```Other services are available as well, mapping to the [YouTrack REST API](https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html) endpoints and operations that are available.
## Supported operations
YouTrackSharp is a .NET Library to access the YouTrack API. Main features:
* All calls are `async` all the way.
* Handles serialization of YouTrack's timestamps into `DateTime` where possible.
* Authentication using [permanent tokens](https://www.jetbrains.com/help/youtrack/incloud/Manage-Permanent-Token.html).
* Comes with a color indices list.The following API's are currently supported:
* [User-related methods](https://www.jetbrains.com/help/youtrack/devportal/resource-api-users-me.html) through `UserService`
* [Projects-related methods](https://www.jetbrains.com/help/youtrack/devportal/resource-api-admin-projects.html) through `ProjectsService`
* [Issues-related methods](https://www.jetbrains.com/help/youtrack/devportal/resource-api-issues.html) through `IssuesService`
* [Time-tracking-related methods](https://www.jetbrains.com/help/youtrack/devportal/resource-api-workItems.html) through `TimeTrackingService`
* Administration API's
* [User management](https://www.jetbrains.com/help/youtrack/devportal/HUB-REST-API_Users.html) through `UserManagementService`
* [Time Tracker management](https://www.jetbrains.com/help/youtrack/devportal/resource-api-admin-timeTrackingSettings.html) through `TimeTrackingManagementService`
Many other API's are not included yet - feel free to [tackle one of the `UpForGrabs` issues](https://github.com/JetBrains/YouTrackSharp/issues?q=is%3Aissue+is%3Aopen+label%3AUpForGrabs) and make YouTrackSharp better!## Supported YouTrack versions
YouTrackSharp versions follow YouTrack versioning. This means that YouTrackSharp 2018.4 supports YouTrack version 2018.4 as well as YouTrack InCloud for that version.
Some features will work with both newer and older versions of YouTrack as well but they are not officially suppported.
For YouTrack versions before 2018.4:
* YouTrack versions before 2018.4 - Use [YouTrackSharp 3.x](https://www.nuget.org/packages/YouTrackSharp/)
* YouTrack Standalone 7.0 - [use the 2.x branch](https://github.com/JetBrains/YouTrackSharp/tree/2.x) or [YouTrackSharp 2.x](https://www.nuget.org/packages/YouTrackSharp/)
* YouTrack Standalone 6.5 - [use the 2.x branch](https://github.com/JetBrains/YouTrackSharp/tree/2.x) or [YouTrackSharp 2.x](https://www.nuget.org/packages/YouTrackSharp/)
* YouTrack Standalone 6.0 - [use the 2.x branch](https://github.com/JetBrains/YouTrackSharp/tree/2.x) or [YouTrackSharp 2.x](https://www.nuget.org/packages/YouTrackSharp/)
* YouTrack Standalone 5.x - [use the 2.x branch](https://github.com/JetBrains/YouTrackSharp/tree/2.x) or [YouTrackSharp 2.x](https://www.nuget.org/packages/YouTrackSharp/)
* YouTrack Standalone 4.x - [use the 2.x branch](https://github.com/JetBrains/YouTrackSharp/tree/2.x) or [YouTrackSharp 2.x](https://www.nuget.org/packages/YouTrackSharp/)
* YouTrack Standalone 3.x - [use the 1.x branch](https://github.com/JetBrains/YouTrackSharp/tree/1.x) or [YouTrackSharp 1.x](https://www.nuget.org/packages/YouTrackSharp/)Be aware that these older branches are frozen and bug fixes nor new feature development is done on them.