* First Iteration Need to finish tests and docs * Mostly Complete * Fixing tests and adding review comments * Added tests for reactive client * Moved Reviews inside fo the Pull request client for better organization and began initial intigration testing * Fixing bad recursive function breaking tests * test fixes * Add paging support to review comments call * Fixing recursive function * Addressing comments from PR * fixing CI break * Typo build break * Fixing Convention Tests * Adding correct nameof() usage in Ensure * Small consitancy changes * Trigger build * Address PR Comments * Fixup test naming * Fix sub client ordering and incorrect URL * Tidy up comments and remove StringEnum wrapper from Request models as it is only for Response models * Rename GetReview to Get * tweak debugger display * Rework integration tests - implement the easy Get/GetAll ones first... * Implement integration tests for Create method. Move helpers to create PR/review into SetupHelper class Fixed up review status enum to contain correct values Tests for Approve/RequestChanges currently failing as a user cant approve/request changes on their own PR * Implement secondary account settings for integration tests and a new [DualAccountTest] attribute for discovery when configured Change integration test to create PR from the 2nd account, so the main test account is able to perform review actions on the PR * Add integration tests for Delete, Dismiss and Submit methods Fixed up API client implementation for delete (was looking for incorrect 201 http status) Removed unnecessary await/async calls from client implementations that dont need to do anything with the result * Attempting to add comments as part of a review revealed that we cant use the existing PullRequestReviewCommentCreate class as the API throws a validation error due to the CommitId field These newer review APIs need a DraftPullRequestReviewComment (that doesnt have a commitId) instead * add second test account user/password to configure-integration-tests script
Octokit - GitHub API Client Library for .NET
Octokit is a client library targeting .NET 4.5 and above that provides an easy way to interact with the GitHub API.
Usage examples
Get public info on a specific user.
var github = new GitHubClient(new ProductHeaderValue("MyAmazingApp"));
var user = await github.User.Get("half-ogre");
Console.WriteLine(user.Followers + " folks love the half ogre!");
Supported Platforms
- .NET 4.5 (Desktop / Server)
- Xamarin.iOS / Xamarin.Android / Xamarin.Mac
- Mono 3.x
- Windows 8 / 8.1 Store Apps
Getting Started
Octokit is available on NuGet.
Install-Package Octokit
or an IObservable based GitHub API client library for .NET using Reactive Extensions
Install-Package Octokit.Reactive
Beta packages
Unstable NuGet packages that track the master branch of this repository are available at https://ci.appveyor.com/nuget/octokit-net
In Xamarin Studio you can find this option under the project's context menu: Add | Add Packages...*.
Documentation
Documentation is available at http://octokitnet.readthedocs.io/en/latest/.
Build
Octokit is a single assembly designed to be easy to deploy anywhere. If you prefer to compile it yourself, you’ll need:
- Visual Studio 2015 or Xamarin Studio
- Windows 8.1 or higher to build and test the WinRT projects
To clone it locally click the "Clone in Desktop" button above or run the following git commands.
git clone git@github.com:octokit/Octokit.net.git Octokit
cd Octokit
.\build.cmd
Contribute
Visit the Contributor Guidelines for more details. All contributors are expected to follow our Code of Conduct.
Problems?
Octokit is 100% certified to be bug free. If you find an issue with our certification, please visit the issue tracker and report the issue.
Please be kind and search to see if the issue is already logged before creating a new one. If you're pressed for time, log it anyways.
When creating an issue, clearly explain
- What you were trying to do.
- What you expected to happen.
- What actually happened.
- Steps to reproduce the problem.
Also include any other information you think is relevant to reproduce the problem.
Related Projects
- ScriptCs.OctoKit - a script pack to use Octokit in scriptcs
- ScriptCs.OctokitLibrary - a script library to use Octokit in scriptcs
Copyright and License
Copyright 2013 GitHub, Inc.
Licensed under the MIT License
