* Adding functionality to query installations for user
* Rename method
* Adding installation methods
* Adding tests
* Adding observable client methods
* Adding InstallationResponse
* Adding GitHub Apps Installations Client
* Tweaking doc comments
* Undoing unintentional changes and cleaning up
* Reordering functions in clients to keep the same code look and feel
* Making sure all methods are documented with their authentication requirements
* Syntax error
* Renaming methods and tests
* Renaming property
* Test cleanup
* XmlDoc comment fixups and consistency
* rename User -To-Server auth methods from xxxForUser to xxxForCurrentUser
* rename GitHubAppsInstallationsClient to GitHubAppInstallationsClient to be consistent with single/plural naming conventions
* make method order match the order on github docs site
* tidy up usings
* correct implementation of GetALlInstallationsForCurrent method to be consistent
* Add missing unit and integration tests for ObservableGitHubAppsClient
* fix renamed method in observable tests
* Add EnsuresNonEmptyArguments tests and fixup asserts in GitHubAppsClient
* Add tests for new Observable client methods and fixup Null/Empty asserts in Observable client
* change non paginated call to call through to other method but with ApiOptions.None
* add unit tests for observable client and fixup errors they found
* add integration tests for new GitHubAppsClient methods, fixed an incorrect route that the tests found!
* add integration tests for extra methods on observable client
* add integration tests for new clients GitHubAppInstallationsClient and ObservableGitHubAppInstallationsClient
* deprecate renamed method properly, to avoid breaking change
* Fix whitespace/formatting with /FormatCode build option
* Update release notes
* fix a few failing integration tests
* Adjust required fields on UpdateCheckRun and NewCheckRun request models and fix tests
Tidy up field accessors and XmlDoc comments
* Update date in ReleaseNotes
* Keeping request models simple (avoid inheritance) - makes it easier when we move to generated models
* Add CheckRunEventPayload
* add CheckRunEventPayload into all the right places
* forgot integration tests for RepositoryId methods (+1 squashed commits)
Squashed commits:
[b2445bf3] Implement Create CheckRun methods for normal and observable clients including unit and integration tests and xmldoc comments
* Implement Update CheckRun method
Refactored NewCheckRun to inherit CheckRunUpdate since they share all fields except HeadSha
* Implement GetAllForReference method
* Implement GetAllForCheckSuite method
* tweak XmlDoc to match github documentation
* Implement Get method
* Implement GetAllAnnotations
Moved CheckRunAnnotation model from Request to Common and added a parameterless ctor, since it is now a response model as well as a request model
* Split common CheckRunAnnotation model into separate response and request models due to different field and ctor requirements
Rename other CheckRun request sub classes to be consistent with NewCheckRunAnnotation (eg NewCheckRunOutput, NewCheckRunImage, etc)
* add title field back into CheckRunAnnotation
* fix up XmlDocs
* fix mutable response property - hooray for convention tests!
* Check run request models
* Check Run response models
* Check run clients
* Check run ApiUrls and AcceptHeaders
* Pack it all together for now
* Add missing accept headers to connection calls
* Standardize class definitions
* Standardize function names
* Merge ICheckRunAnnotationsClient into ICheckRunsClient
* Properly organize clients
* Cleanup CheckRun response model
* Fix slug check run urls
* Add checks installation permission
* Use StringEnums where appropriate
* Cleanup check run output models
* Flesh out CheckSuite model
* Delete CheckRunsList
* Remove a sealed, fix some line endings
* Adding check suite models
* Skeleton check suite client implementation
* Add check suite ApiUrls
* Flesh out check suites client
* Add parameterless CheckRun constructor
* Add DebuggerDisplay to checks models
* Add observable checks interfaces
* Add return values to POST and PATCH check clients
* Fix some check suite client return values
* Skeleton reactive checks implementation
* Implement observable checks clients
* Remove rogue tabs
* Add CheckSuiteEventPayload
* Add CheckRunEventPayload
* Add DebuggerDisplay attributes to checks API payloads
* Properly nullables check suite/run conclusion
* Add CheckSuiteEventTests
* Fix checks client accessor naming issues
* Add missing Text field to CheckRunOutput
* Marks CheckRunUpdate's conclusion as nullable
* Fix reactive checks client naming
* Today I learned DateTimeOffset is a struct
Makes CheckRunUpdate's DateTimeOffsets nullable
* Modify check clients to put slug version before repo id version
* Add nullable to CheckRun.CompletedAt
* Implement parameterless ICheckRunsClient.GetAllForReference and GetAllForCheckSuite
* Add missing RequestParameters base to CheckSuiteRequest
* Implement checks API GetAll methods
* Bring parity to Reactive checks clients
* fix project settings to get GitHubApp helper working again
* remove un-needed InstallationId setting - provide helper method to find installation based on owner
* fix up request object ctors based on required/optional parameters
* fix up request object ctors based on required/optional parameters
* add some initial integration tests for CheckSuites and CheckRuns including some helper methods
* Add test for Request CheckSuite
Fix Request CheckSuite to use correct Uri
Fix Request CheckSuite return type as it doesnt return an object
Fix CheckSuiteTriggerRequest ctor to make required fields mandatory
* simplify Get CheckSuite test to not require as much data setup
* Add test for CheckSuite GetAllForReference
* Add test for CheckSuite UpdatePreferences
* rename response models
* rename CheckSuitesList to CheckSuitesResponse and use as response to the GetAll calls
* Fix tests
* Fix observable
* fix model convention tests
* remove CheckRuns so we can focus only on CheckSuites for now
* naming things is hard
* oh so many unit tests for CheckSuites methods
* make client mockable
* Fix issue with .Max() when no results returned
* fix request parameter names
* add Xml doc comments
* Add XmlDoc comments to request/common model objects
* rename class to match usage
* tidy ups
* xmldoc for observable clients
* fix method order
* add observable unit tests and get them passing
* Add Observable unit tests and get them passing
* add observable integration tests
* tidy up ApiUrl method name
* whitespace/using tidy ups
* Ensure CheckSuiteEventPayload class is handled in deserializer and add to activity test
* add response model XmlDoc comments
* missed one xmldoc
* add xmldoc to NewCheckSuite request and remove HeadBranch property as it doesnt exist anymore
* add some extra check suites integration tests
* add Archived to ProjectCard response
add Archived to ProjectCardUpdate
update integration tests
* Add ProjectCardRequest model and update GetAll calls to use it
Update unit tests
Update integration tests
* skip_branch_with_pr still ends up building the branch on the initial push, so let's only build master instead
* Add "transfer repository" accept header
* Create RepositoryTransfer class
This will be used to send the POST request to initiate the transfer.
* Create Ensure method to check for empty or null arrays
* Change arg name in Ensure for nonempty arrays
array -> value
* Add xmldoc for ArgumentNotNullOrEmptyArray
* Create Transfer method in IRepositoriesClient
* Implement Transfer method in RepositoriesClient
* Fix typo in xmldoc for Transfer
* Add <returns> to Transfer xmldoc
* Create Transfer method in IObservableRepositoriesClient
* Implement Transfer in ObservableRepositoriesClient
* Add DebuggerDIsplayAttribute do RepositoryTransfer
* Add unit tests for RepositoryTransfer constructors
* Change TeamId property type to IReadOnlyList<int>
* Rewrite DebuggerDisplay property into something more succint
* Make new Ensure method into an IEnumerable<T> checker
* Add XmlDoc to RepositoryTransfer
* Tweaks to first ctor XmlDoc
* Create basic unit tests for Transfer
* Create ApiUrls.RepositoryTransfer
* Use ApiUrls.RepositoryTransfer to get URI in Transfer
Previous implementation used wrong URI
* Start implementing RepositoriesClientTests.TheTransferMethod
* Implement org -> user transfer integration test
* Implement user -> org transfer integration test
* [WIP] Implement user -> org transfer with teams
Implementation doesn't work, API usage seems correct.
* Mark transfer user -> org w/ teams integration test with FIXME
* Add second end point URI to ApiUrls
* Add other Transfer overload to RepositoriesClient for other end point
* Create unit tests for other Transfer endpoint
* Add overload to IRepositoriesClient
* Add integration tests for overload
* Reorganize unit tests for TheTransferMethod
* Rename id to repositoryId
* Reorganize unit tests for RepositoriesClientTests.Transfer
* Add second endpoint to IObservableRepositoriesClient
* Add XmlDoc to second Transfer endpoint
* Add XmlDoc to second Transfer endpoint in RepositoriesClient
* Reimplement "with teams" integration tests using TeamContext
* Rename integration test for consistency
* Add asserts to actual ownership transfer
* Rename RepositoryTransfer.TeamId property to TeamIds
* Add awaiit to ThrowsAsync in RepositoriesClientTests
* Put await in right places for unit tests
* Add Ensures for Transfer method in RepositoriesClient
* Add XmlDoc to ApiUrls.RepositoryTransfer with repo id
* Update XmlDoc for RepositoryTransfer constructor and teamIds property
* Rename currentOwner to owner
* Add Ensure guards to ObservableRepositoriesClient.Transfer methods
* Add unit tests for ObservableRepositoriesClient
* Implement new attributes for labels
* Include correct API header in all Labels calls
* Add integration tests for Create and Update methods for labels
* Use improved labels API in observable client
* found even more endpoints that need the preview header!
* RemoveFromIssue actually returns the list of remaining labels rather than null. This change should be source compatible but not binary compatible
* Implement new labels search method in SearchClient
* Implement reactive client SearchLabels
* Improve documentation for label search methods
* more comment tidy up
* Added pre-receive environment client
https://developer.github.com/v3/enterprise-admin/pre_receive_environments
* Added unit and integration tests for the pre-receive environments client
* moved test setup outside of tests
* fixed unit test
* Added reactive components for pre-receive environment endpoints
* Debugger display's and non public setters on response object conventions
* removed redundant parameter attributes
implemented update request independently of new request
changed ints to longs for future proofing
updated unit tests
changed update integration tests to create a new update request to ensure optional values function
* updating reactive environmentids to longs as well
* also converting response id to a long
* Fixed an incorrect unit test
renamed some test variable names for consistency
Added mockable ctors on responses, and parameterless ctors to maintain functionality
* Adding missing state parameter
* rename client member accessor to singular form in accordance with octokit naming conventions
* fixup tests
* add integration tests for observable client
* add proper accept header to all teams calls
* use hardcoded headers in unit tests
* dont remove support for preview branch protection, on earlier github enterprise versions
* Added get release by tag endpoint
* Added integration tests for get release by tag overload
* tidy up integration tests and add reactive integration tests
* Implement repositoryId based method
* Implement repositoryId based method in Reactive client
* Added authentication using bearer token.
* Added Installation and AccessToken clients.
* Added new clients to Reactive project
* added support for DateTime serialized as FileTime
* added support for StatusEventPayload
* added support for StatusEventPayload
* Added test for StatusEventPayload and fixed serializer to return that event payload type.
* WIP - added ApplicationClient and related Api Urls.
* Continued implementing Installations support.
* Fixing build (WIP)
* fixed build
* added Account property to Installation. prefer nameof(x) over literal "x".
* fixed according to code review.
* fixed build.
* switched Installation ID from int to long.
* added Permissions and Events properties to Installation.
* added documentation to Application and Installation properties in IGitHubClient.
* wip - added tests to new clients
* wip - fix build
* wip - fixed build.
* added InstallationsClient tests.
* added integration test for InstallationsClient.
* changes requested in code review.
* add Get method for App
* Create GitHubApp response model instead of re-using existing Application response model
* add Get method to observable client
* fixed build (both locally and failed test).
* Fixed documentation and added some missing XML docs.
* added DebuggerDisplay to StatusEventPayload
* updated XML docs and added some missing bits. prefer nameof(x) over literal "x".
* Add xml comments to AccessToken response model and use DateTimeOffset rather than DateTime
* Tidy up XmlComments and make consistent across client and observable client and interfaces
* fixup unit tests to independently verify preview header
* Implement GetInstallation method
* revert commits unrelated to GitHubApps - these can be done on a separate PR if required
* this extra authenticator class doesnt appear to be used anywhere
* undo project file change as it doesnt appear to be necessary
* Revert "Merge remote-tracking branch 'remote/GitHubApps' into GitHubApps"
This reverts commit c53cc110b8d807f62fdfeaa7df19e1532d050007, reversing
changes made to 0c9e413d420a4725738644ea5b13af6ec102d456.
* Revert "Revert "Merge remote-tracking branch 'remote/GitHubApps' into GitHubApps""
This reverts commit 02d52b8adf814b6945c60cb59a907a8cd34b1ce7.
* add XmlDoc comments to response models and flesh out installation permissions
* name AcceptHeaders member consistently
* accidentally lost changes to Credentials.cs
* Enhance Intergation test framework to handle GitHubApp settings and discoer tests appropriately
Get code ready for GitHubJWT nuget package but for now just hardcode a JWT in ENV VAR
Add 1 integration test for each method and ensure they are working!
* fixed compiler warnings.
* Added support for Installation=>Id field that arrives in a Pull Request Event payload.
(See the last field in the sample JSON of https://developer.github.com/v3/activity/events/types/#pullrequestevent)
* Change integration test project to netcoreapp2.0 so we can use GitHubJwt nuget package in integration tests
* First cut at some GitHubApp doco
* update mkdocs config
* Moved the Installation property to ActivityPayload, so it's available in all payloads.
This feature is not undocumented, unfortunately, but valid:
https://platform.github.community/t/determining-which-installation-an-event-came-from/539/11
* Split Installation to Installation and InstallationId, and added a comfort method for gaining its AccessToken.
* fixed InstallationId CreateAccessToken to receive IGitHubAppsClient. added (and fixed) docs.
* reverted object-oriented style comfort method and it's docs.
* update all test projects to netcoreapp2.0
* tweak build configs to use 2.0.3 SDK
* also need to update cake frosting build to netcoreapp2.0
* tweak docs some more
* fix convention test failures
* test projects still had some old runtime parts in them!
* travis osx image needs to be at least 10.12 for .NET Core 2.0
* shell script might need the same argument tweak for cake
* more doc tweaks
* Make sure compiler warning output isnt somehow causing Linux and OSX builds to fail
* moar logging for linux/OSX builds
* stop sourcelink on linux/OSX builds to see if that is the problem
* set verbosity to detailed for the dotnet build step
* try new sourcelink and list out remotes
* is travis being weird with git clone?
* SourceLink may be defaulting to true on CI server so explicitly set it as false rather than omitting it
* detailed is a bit too verbose for travis, try normal
* turn sourcelink back on for Linux/OSX
* fix compiler warning
* Try SourceLink.Create.CommandLine instead of SourceLink.Create.GitHub
* CliToolReferences did not update to latest versions
* remove debug origin info
* turn off msbuild output
* go back to SourceLink.Create.GitHub!
* time diff between dev PC and API causes issues if specifying a full 600 second token
* handle extra date format that Installation end point now returns
* field needs to be protected in order to be deserialized
* provide even more buffer for client vs server clock drift
* Update to latest GitHubJwt reference
* go back to SDK 1 since SDK 2 is having sporadic travisCI faliures in TestSourceLink build step
* get appveyor working
* update sourcelink back to latest, and use SDK 1.04 (runtime 1.0.5)
* Implement GetLicenseContents() method for getting repository's license info
* Request License Preview API for calls that return Repository object.
* Add missing accept headers to observable methods for ObservableRepositoriesClients
* fix impacted unit tests
* Add ApiOptions overloads to repository invitations.
* Remove ExcludeFromPaginationApiOptionsConvention for RepositoryInvitationsClient
* Adjust tests to new call form.
* Add null check and null check test for RepositoryInvitations.
* Add integration tests draft.
* Remove redundant using.
* Replace Octocat with dual account test second user.
* Fix mass repository creation by making it synchronous and fix last RepositoryInvitationsClient test utilizing Octokit user.
* Refactor async hack.
* Reduce number of created test repos.
* Add pagination support to ReferencesClient.
* Add missing unit tests for ReferencesClient
* Add integration tests for ReferencesClient pagination.
* Refactor assertion.
* force the implicit netstandard package version to 1.6.0 to avoid automated update to 1.6.1 which prevents strict netcoreapp1.0 support (required in aws lambda)
* tidy up project files
* Add possibility to configure GitHubClient timeout (#963)
A first attempt to fix the problem describe in #963 by adding a possibility
to extend the default timeout value (100s)
that is too short to be able to post assets in github release.
* Rename to SetRequestTimeout
Make comments consistent
* Fix integration test - protected branch status can now only be retrieved by an authorized user
* Fix integration test - labels in octokit.net repo were renamed
* Run build task "FormatCode"
* Update release notes for v0.27
* Add new AcceptsHeader
add Parent field to Team
add ParentId field to NewTeam and UpdateTeam
update Create Edit and Delete Team methods to use preview header
* Implement new API call GetAllChildTeams()
* Implement GetAllChildTeams for ObservableClient
* add integration test for observable client
* Add pagination tests for GetAllChildTeams
* Add NestedTeams preview header to all the API calls that use it
* Update tests for accepts header
* Add accepts header to observable client calls
* Fix DELETE implementation to use correct overload
* Fix tests - parent and child teams must be visibility Closed whereas the default if not specified is Private
* make sure all tests are flagged as [OrganizationTest]
* Make sure Update tests change the parent of the team
* Update new methods with NesterTeams preview API header and adjust tests
* Fixup TeamContext helper name
* Implement overload for GetAllMembers to take request parameter
* Update tests
* Implement Obersvable client changes
* Observable tests
* Implement AddOrEditMembership function returning a new response model, and obsolete the old AddMembership function returning an enum
* Implement GetMembershipDetails function returning new TeamMembershipDetails response model, and obsolete the old GetMembership function returning an enum
* Clarify that an exception is thrown when not a member
* Add integration tests for AddOrEditMembership and GetMembershipDetails
* fixup exception test for observable client
* Update wording of obsolete message
* Use assembly version instead of hard-coded ones
Builds happening on AppVeyor specify the assembly version with `dotnet build /p:Version=<gitversion>`
* Set default version for dev time
This is to avoid that the default 1.0.0 version be assigned to the assemblies
* Move various package/assembly properties from AssemblyInfo into csproj files so dotnet build can set them all
* Get rid of SolutionInfo and move assembly version function into Connection class
* Rework FormatUserAgent to use InformationalVersion and guard against exceptions determining platform OS/arch (fixes#1617)
* Update assembly descriptions
* Reword dotnetcore to .NET Core
* Attempted workaround for package version dependency issue by specifying version on dotnet restore
see https://github.com/NuGet/Home/issues/4337
* Unskip pagination convention tests and rework exclusion property names
Also exclude Obsolete methods from pagination convention tests
* Reaction APIs appear to support pagination, flag to exclude for now and mark a TODO that they need implementing
* Repository invitation APIs need pagination implemented
* Exclude methods that use an alternative pagination approach
* Migrations, Licenses and References all need pagination implemented
* Pagination not supported for these methods (determined by API doc and poking the API) so exclude them from convention tests
* These methods need renaming to GetAll
* Rename offending RepositoryTrafficClient GetReferrers and GetPaths to GetAllReferrers and GetAllPaths
* Rename offending RepositoryBranchesClient methods from Get to GetAll
* Add `BranchProtectionRequiredPullRequestReviews` and `BranchProtectionRequiredPullRequestReviewsUpdate` models
* Add missing ctors and fix naming
Tests where updated to use the minimum nesseccary constructor
* Fix debugger display
* Update BranchProtection response model to include new dismissal restrictions fields and tidy up existing properties ctors and DebuggerDisplay
* Update BranchProtectionUpdate request model to include new dismissal restrictions fields/classes and tidy up existing properties and DebuggerDisplay
* Update BranchProtection tests to use new RequiredReviews and dismissal restrictions options
* Add specific client endpoints for GetReviewEnforcement UpdateReviewEnforcement and RemoveReviewEnforcement
* Add unit and integration tests for new client methods
* Implement Observable client methods and unit tests
* Add integration tests for Observable client
* Run CodeFormatter to fix up whitespace
* Clarify review dismissal restriction behaviour in code comments
* 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
* Add methods for listing pending organization invites
* Add unit/integration tests
* Add methods for getting all pending invites for a team
* Add unit/integration tests
* 🔥 whitespace 🔥
* Move new enum to it's own correct file and location
* Invite(s) -> Invitation(s)
* Add helper functions for adding invitations and cleaning the invitations up at the end of the test
* Add methods with ApiOptions
* Fix helper methods for adding/removing invitations
* Forgot to actually pass in the ApiOptions to the API call
* Add tests for new ApiOptions methods
* tweak integration tests
* Update outside collaborator tests to use [OrganizationTest] attribute for consistency
* Update test accounts used
* use octokitnet-test2 account now it has 2FA turned on
* Add client for organization outside collaborators
* Add unit/integration tests
* Add methods for removing an outside collaborator
* Add unit/integration tests
* Add new Put method to Connection which accepts a preview header
* Add methods for converting an org member to an outside collaborator
* Fix copy paste errors in new exceptions
* According to API docs, a 403 should be returned if the member is not a member of the org, but a 404 is actually returned
* Add unit/integration tests
* Remove unused using directives
* Got a bit overzealous with my removal of using directives
* Fix integration tests by using the configured Organization and test username rather than henrik's :)
* Remove ApiOptions overloads as it isn't currently supported
* Fix XML doc grammar
* Fix failing unit tests
* Missed a couple of nameof replacements
* Add organization membership preview header
* Add API endpoints to preview a collaborators permission
* Add methods to preview a collaborators permission
* Add methods to the observable repo collaborator client
* Fix convention test failure
* Use correct API endpoint when using repository ID
* Move the helper function pair so they aren't in between another pair
* Use the correct URL for the review permission API endpoint
* Add unit tests
* Add integration tests for review permission methods
* Fix spelling mistake
* Renaming enum as per review
* remove obsolete "Branches" methods from RepositoryClient (all were previuosly moved to RepositoryBranchesClient)
* Remove obsolete DeploymentStatus fields
* Remove obsoleteMergePullRequest.Squash parameter
* Remove obsolete request ctor
* Remove tests
* Not sure how I missed these test references
* Add Pull Request Review Request API.
* Add Reactive Pull Request Review Request API.
* Add PullRequestReviewRequestClient tests.
* Add ObservablePullRequestReviewRequestClient tests.
* Fix sub-client property naming.
* Remove redundant model and update PullRequest model.
* Add repositoryId based methods and missing Observable documentation.
* Add missing parameter to PullRequest ctor.
* Add integration tests for PullRequestReviewRequest.
* Upgrade PullRequestReviewRequest integration tests.
* Add integration tests for repositoryId methods and fix url bug.
* Add missing unit tests and fix PR issues.
* Add pagination support for PullRequestReviewRequst.GetAll and tests for it.
* Revert changes on `PullRequestReviewCommentsClientTests.cs`
* Small upgrades - remove unused using and compress property to expression body.
* Revert use of expression body in property.
* Add pagination tests for PullRequestReviewRequest.GetAll.
* Change pagination tests to use 2 users.
* Correct class/file name
* Reword the integration test names for consistency
Move the plumbing to create reviews into CreateTheWorld to clean up the actual tests
* Fix DebuggerDisplay of requested reviewers
* fix reviewRequestToCreate parameter to be consistent
* Add BranchProtection.EnforceAdmins object
* Add EnforceAdmin related methods to RepoBranch clients
* Add unit tests
* Add unit tests for Observable client
* Add integration tests for enforce admin methods
* Tweak integration test to ensure that they actually do something
The `CreateRepositoryWithProtectedBranch` helper method currently sets `EnforceAdmins` as true, so delete it before adding.
* add missing docs
* rename tests
* Add missing ctor
* Remove property that is no longer supported
https://developer.github.com/changes/2017-05-02-adoption-of-admin-enforced/
* Fix failing unit tests
* add sourcelink support
* Update sourcelink (2.0.2 -> 2.1.0)
* Add parameter to enable source linking
* tidy up the arguments with an extension method allowing an argument to be conditionally appended
* Add an explicit "test sourcelink" build task and remove the MSBuild one, so we can get some build script output without needing the whole build to be in verbose logging
* run sourcelink test against the NuGet packages
* convert to VS2017
* rework cake.frosting build to latest cake vs2017 "template" example
* fix clean task and version suffix
* add arg to DotNetCorePack so it uses the correct version
* fix appveyor
* is there an easier way to test appveyor?
* ok travis, let's do this
* after reading the travis repo, this seems to be the version we want for vs201/csproj tool support
* msbuild complaining about arguments - we can use defaults anyhow so remove $@ from build.sh script
* add workaround for msbuild/travis, as mentioned on aspnet Mvc repo
* cmon travis
* perhaps tee isnt needed afterall
* travis permission denied when trying to install tools in build script... i feel dirty but need to see if sudo will fix it!
* could it be folder permissions of /build ?
* Try 777 for NuGet.exe permissions rather than 644
* remove windows platform restriction on GitVersion call
* Add a wrapper script for GitVersion on non windows
* fix wrapper script name
* add debug
* let's see if we are running the script at all!
* run mono gitversion direclty from travis.yml, for science
* see if we can run bin/sh and prepend an argument to our shell script
* remove echos from wrapper script
* Ensure full git repo include more than 50 commits and all tags are fetched, as GitVersion was failing on TravisCI
* only build netstandard framework on non windows
* revert overriding the target framework when building the solution
* Unix being case-sensitive, adjust app.config file name in csproj files
* set FrameworkPathOverride to point to different folders on macOS and Linux
* Remove NuGet.exe from the repo.
On Windows, it will be installed by the Frosting bootstrapper script.
On Unix/macOS, cake has smarts to look for mono- and Linux-specific executables
* tidy up GitVersion logic into a GitVersionRunner class
* apply workaround for osx dotnet restore "too many open files" errors
* update test project references to latest official versions
* doesnt seem to be a reason for overriding the implicit reference
* remove extra whitespace and unused namespace
* add .ruleset back to both Octokit and Octokit.Reactive
* rename Octokit.Core.sln to Octokit.sln
* remove platform-specific solution files
* remove .nuspec files
NuGet packaging information is now in the relevant project.json files
* remove ext folder containing platform-specific assemblies
* update the description of the .ruleset file we use
* Add release notes and bump version to 0.24
* run "build FormatCode" to fix up whitespace/formatting issues
* Fix failing Ssh key tests due to "validation exception". This key must be in use on github (under another user, most likely from these tests failing). Changed to a new SSH key and tweaked tests to reduce chance of a key being created and not destroyed
* Assignee and Assignees cant both be specified on NewIssue. We missed this one in the PR. Marked Assignee as [Obsolete] and fixed tests to use Assignees
* Fix a couple of Reactions tests that were calling the wrong client methods
* Fix timeline tests - looks like the response class has changed shape a bit, it now has an Issue object in the payload and Id field isnt present (leaving Id field there in case other timeline events do use it)
* Fix some following tests that require the test user to follow more than 1 other user
* Unskip these Event tests now because apparently they work!
* add breaking changes notes
* Update ApiErrorMessageSafe to return null for empty and whitespace strings (#1540)
* return null if ApiError.Message is empty or whitespace
* Uncomment test, which now passes
* update release notes to include PR1540
* Add "Bot" AccountType, was causing a deserialization exception when running the integration test "SearchForExcludedLanguage" (#1541)
* Update to include PR1541
* add bullets to make release notes easier to read
* markup additional code mentions in notes
* Fix grammar
fields => field
* [WIP]
* add new method to add assignees for an issue
* added new overloads
* added unit tests
* fixed missed overload calls
* fixed inconsistency in tests
* added integration tests
* fixed errors in tests
* fixed all remarks
* added new overloads
* added unit tests
* added integration tests
* fixed incorrect variable names
* added new overloads
* added unit tests
* added itegration tests
* fixed integration tests
* removed extra empty lines
* fixed errors in unit tests
* added overloads on IObservableReleasesClient and IReleasesClient
* added new unit tests
* added integration tests
* added Task as return value of unit tests
* added Task as return parameter
* added return value ReleasesClientTests
* another try to get tests work
* another one try
* undo prev commit
* fixed errors in tests
* removed extra ThrowsAsync checks
* added new overloads
* added unit tests
* added integration tests
* added integration tests
* Add ApiOptions overloads to IWatchedClient + tests.
* Add ApiOptions overloads to IObservableWatchedClient + tests.
* More tests.
* fixed error in ObservableWatchedClient
* added unit tests
* added integration tests
* added new overloads
* added unit tests
* added integration tests
* renamed "Ensures" methods to deliver more consistency in code
* fixed failed tests
* Add ApiOptions overloads to methods on I(Observable)IssuesLabelsClient (#1329)
* correcting a couple of tests (#1331)
* Add ApiOption overloads to methods on I(Observable)OrganizationsClient (#1324)
* Add ApiOptions overloads to methods on I(Observable)OrganizationMembersClient (#1332)
* fix description
* add new response for IssueAssignees
* add constructor for IssueAssignees
* add debugger display for NewAssignees
* add methods for observable assignees client; new unit tests
* add observable unit tests for add method
* place AddAssignees under IssueClient
* fix description
* [WIP] add generic delete method
* revert add assignees
* add assignees key under issue client
* remove IssueAssignees dependencies
* fix type IssueAssignees
* add remove method for issue assignees; finish generic delete method
* unit tests for remove assignees
* Add Assignees property to NewIssue and UpdateIssue requets
Add Asignees property to Issue response
Removed [SerializeNull] attribute from UpdateIssue.Assignee as this was causing it to remove assignee when none was specified
Add a couple of integration tests to prove Assignees are being deserialised
* rename NewAssignees to AssignessUpdate
* change Assignees key description
* check null Issue.ToUpdate method
* add accept header for IssuesClientTests
* Fix some more unit tests
* add integration test
Check if an assignee was added to an issue
* fix merge conflicts
* resolve conflicts
* implement some hints from @ryangribble
* resolve merge fixes
* clean up
* some more changes
* create new repo
Create a new repo for integrationtest
'CanRetrieveIssuesWithMultipleAssignees()'
* fix merge
* fix conflicts
* fix xml
* change test
* change delete overloads
* Fix tests
* fix xml
* Add helper function RemoveLabel
* Add helper function RemoveAssignee
* Format last commit
* Add integration tests to exercise new Assignees field on IssueUpdate
* GitHub API doesnt allow Assignee and Assignees properties to both be specified - API docs say that Assignee is deprecated so mark it [Obsolete] and dont populate it in Issue.ToUpdate()
* Add Assignees field to PullRequest response object, and integration tests to verify it is populated.
This field is not listed in the API docs but probing the API revealed it is included in payloads
* add a couple of extra tests to verify the IssueUpdate.Labels is working correctly
* Include assignees in ctor for consistency
* fix IssueUpdate test for new Assignees field
* obsolete comment and add ReviewComment
* obsolete PullRequest.Comment and change to ReviewComment
* update ObservablePullRequestClient and interface to use ReviewComment
* fixed formatting issues
have Comment return new ReviewComment