diff --git a/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs b/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs
index 05a8563c..9ccf2107 100644
--- a/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs
+++ b/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs
@@ -324,6 +324,14 @@ namespace Octokit.Reactive
///
IObservableRepositoryCommitsClient Commit { get; }
+ ///
+ /// Access GitHub's Releases API.
+ ///
+ ///
+ /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/
+ ///
+ IObservableReleasesClient Release { get; }
+
///
/// Client for managing pull requests.
///
diff --git a/Octokit.Reactive/Clients/ObservableReleasesClient.cs b/Octokit.Reactive/Clients/ObservableReleasesClient.cs
index 67e40ac0..8c687af1 100644
--- a/Octokit.Reactive/Clients/ObservableReleasesClient.cs
+++ b/Octokit.Reactive/Clients/ObservableReleasesClient.cs
@@ -14,7 +14,7 @@ namespace Octokit.Reactive
{
Ensure.ArgumentNotNull(client, "client");
- _client = client.Release;
+ _client = client.Repository.Release;
_connection = client.Connection;
}
diff --git a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs
index bad46c87..0ee0fb24 100644
--- a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs
+++ b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs
@@ -37,6 +37,7 @@ namespace Octokit.Reactive
Commits = new ObservableRepositoryCommitsClient(client);
#pragma warning restore CS0618 // Type or member is obsolete
Commit = new ObservableRepositoryCommitsClient(client);
+ Release = new ObservableReleasesClient(client);
DeployKeys = new ObservableRepositoryDeployKeysClient(client);
Content = new ObservableRepositoryContentsClient(client);
Merging = new ObservableMergingClient(client);
@@ -469,6 +470,14 @@ namespace Octokit.Reactive
///
public IObservableRepositoryCommitsClient Commit { get; private set; }
+ ///
+ /// Access GitHub's Releases API.
+ ///
+ ///
+ /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/
+ ///
+ public IObservableReleasesClient Release { get; private set; }
+
///
/// Client for managing pull requests.
///
diff --git a/Octokit.Reactive/IObservableGitHubClient.cs b/Octokit.Reactive/IObservableGitHubClient.cs
index 2aac01d1..717ae82a 100644
--- a/Octokit.Reactive/IObservableGitHubClient.cs
+++ b/Octokit.Reactive/IObservableGitHubClient.cs
@@ -15,6 +15,7 @@ namespace Octokit.Reactive
IObservablePullRequestsClient PullRequest { get; }
IObservableRepositoriesClient Repository { get; }
IObservableGistsClient Gist { get; }
+ [Obsolete("Use Repository.Release instead")]
IObservableReleasesClient Release { get; }
IObservableSshKeysClient SshKey { get; }
IObservableUsersClient User { get; }
diff --git a/Octokit.Reactive/ObservableGitHubClient.cs b/Octokit.Reactive/ObservableGitHubClient.cs
index 51fbbc87..9cbaccb4 100644
--- a/Octokit.Reactive/ObservableGitHubClient.cs
+++ b/Octokit.Reactive/ObservableGitHubClient.cs
@@ -42,7 +42,6 @@ namespace Octokit.Reactive
Repository = new ObservableRepositoriesClient(gitHubClient);
SshKey = new ObservableSshKeysClient(gitHubClient);
User = new ObservableUsersClient(gitHubClient);
- Release = new ObservableReleasesClient(gitHubClient);
Git = new ObservableGitDatabaseClient(gitHubClient);
Gist = new ObservableGistsClient(gitHubClient);
Search = new ObservableSearchClient(gitHubClient);
@@ -62,7 +61,8 @@ namespace Octokit.Reactive
public IObservablePullRequestsClient PullRequest { get; private set; }
public IObservableRepositoriesClient Repository { get; private set; }
public IObservableGistsClient Gist { get; private set; }
- public IObservableReleasesClient Release { get; private set; }
+ [Obsolete("Use Repository.Release instead")]
+ public IObservableReleasesClient Release { get { return Repository.Release; } }
public IObservableSshKeysClient SshKey { get; private set; }
public IObservableUsersClient User { get; private set; }
public IObservableNotificationsClient Notification { get; private set; }
diff --git a/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs b/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs
index e57ac229..13665523 100644
--- a/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs
+++ b/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs
@@ -20,7 +20,7 @@ public class ReleasesClientTests
public TheGetReleasesMethod()
{
var github = Helper.GetAuthenticatedClient();
- _releaseClient = github.Release;
+ _releaseClient = github.Repository.Release;
_context = github.CreateRepositoryContext("public-repo").Result;
}
@@ -84,7 +84,7 @@ public class ReleasesClientTests
public TheEditMethod()
{
_github = Helper.GetAuthenticatedClient();
- _releaseClient = _github.Release;
+ _releaseClient = _github.Repository.Release;
_context = _github.CreateRepositoryContext("public-repo").Result;
}
@@ -143,7 +143,7 @@ public class ReleasesClientTests
public TheUploadAssetMethod()
{
_github = Helper.GetAuthenticatedClient();
- _releaseClient = _github.Release;
+ _releaseClient = _github.Repository.Release;
_context = _github.CreateRepositoryContext("public-repo").Result;
}
diff --git a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs
index e17f2a38..3bec9c74 100644
--- a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs
+++ b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs
@@ -52,7 +52,7 @@ namespace Octokit.Tests.Reactive
client.Get("fake", "repo", 1);
- gitHubClient.Release.Received(1).Get("fake", "repo", 1);
+ gitHubClient.Repository.Release.Received(1).Get("fake", "repo", 1);
}
[Fact]
@@ -78,7 +78,7 @@ namespace Octokit.Tests.Reactive
releasesClient.Create("fake", "repo", data);
- gitHubClient.Release.Received(1).Create("fake", "repo", data);
+ gitHubClient.Repository.Release.Received(1).Create("fake", "repo", data);
}
[Fact]
@@ -105,7 +105,7 @@ namespace Octokit.Tests.Reactive
releasesClient.Edit("fake", "repo", 1, data);
- gitHubClient.Release.Received(1).Edit("fake", "repo", 1, data);
+ gitHubClient.Repository.Release.Received(1).Edit("fake", "repo", 1, data);
}
[Fact]
@@ -132,7 +132,7 @@ namespace Octokit.Tests.Reactive
client.Delete("fake", "repo", 1);
- gitHubClient.Release.Received(1).Delete("fake", "repo", 1);
+ gitHubClient.Repository.Release.Received(1).Delete("fake", "repo", 1);
}
[Fact]
@@ -186,7 +186,7 @@ namespace Octokit.Tests.Reactive
releasesClient.UploadAsset(release, upload);
- gitHubClient.Release.Received(1).UploadAsset(release, upload);
+ gitHubClient.Repository.Release.Received(1).UploadAsset(release, upload);
}
[Fact]
@@ -212,7 +212,7 @@ namespace Octokit.Tests.Reactive
client.GetAsset("fake", "repo", 1);
- gitHubClient.Release.Received(1).GetAsset("fake", "repo", 1);
+ gitHubClient.Repository.Release.Received(1).GetAsset("fake", "repo", 1);
}
[Fact]
@@ -238,7 +238,7 @@ namespace Octokit.Tests.Reactive
client.EditAsset("fake", "repo", 1, data);
- gitHubClient.Release.Received(1).EditAsset("fake", "repo", 1, data);
+ gitHubClient.Repository.Release.Received(1).EditAsset("fake", "repo", 1, data);
}
[Fact]
diff --git a/Octokit/Clients/IRepositoriesClient.cs b/Octokit/Clients/IRepositoriesClient.cs
index 321691a3..654a4231 100644
--- a/Octokit/Clients/IRepositoriesClient.cs
+++ b/Octokit/Clients/IRepositoriesClient.cs
@@ -270,6 +270,14 @@ namespace Octokit
///
IRepositoryCommitsClient Commit { get; }
+ ///
+ /// Access GitHub's Releases API.
+ ///
+ ///
+ /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/
+ ///
+ IReleasesClient Release { get; }
+
///
/// Client for GitHub's Repository Merging API
///
diff --git a/Octokit/Clients/RepositoriesClient.cs b/Octokit/Clients/RepositoriesClient.cs
index 6b30dfc1..8360a970 100644
--- a/Octokit/Clients/RepositoriesClient.cs
+++ b/Octokit/Clients/RepositoriesClient.cs
@@ -40,6 +40,7 @@ namespace Octokit
Commits = new RepositoryCommitsClient(apiConnection);
#pragma warning restore CS0618 // Type or member is obsolete
Commit = new RepositoryCommitsClient(apiConnection);
+ Release = new ReleasesClient(apiConnection);
DeployKeys = new RepositoryDeployKeysClient(apiConnection);
Merging = new MergingClient(apiConnection);
Content = new RepositoryContentsClient(apiConnection);
@@ -390,6 +391,14 @@ namespace Octokit
///
public IRepositoryCommitsClient Commit { get; private set; }
+ ///
+ /// Access GitHub's Releases API.
+ ///
+ ///
+ /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/
+ ///
+ public IReleasesClient Release { get; private set; }
+
///
/// Client for GitHub's Repository Merging API
///
diff --git a/Octokit/GitHubClient.cs b/Octokit/GitHubClient.cs
index c26d54bd..b59830a6 100644
--- a/Octokit/GitHubClient.cs
+++ b/Octokit/GitHubClient.cs
@@ -92,7 +92,6 @@ namespace Octokit
PullRequest = new PullRequestsClient(apiConnection);
Repository = new RepositoriesClient(apiConnection);
Gist = new GistsClient(apiConnection);
- Release = new ReleasesClient(apiConnection);
User = new UsersClient(apiConnection);
SshKey = new SshKeysClient(apiConnection);
Git = new GitDatabaseClient(apiConnection);
@@ -215,14 +214,17 @@ namespace Octokit
///
public IGistsClient Gist { get; private set; }
- // TODO: this should be under Repositories to align with the API docs
///
/// Access GitHub's Releases API.
///
///
/// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/
///
- public IReleasesClient Release { get; private set; }
+ [Obsolete("Use Repository.Release instead")]
+ public IReleasesClient Release
+ {
+ get { return Repository.Release; }
+ }
// TODO: this should be under Users to align with the API docs
// TODO: this should be named PublicKeys to align with the API docs
diff --git a/Octokit/IGitHubClient.cs b/Octokit/IGitHubClient.cs
index 2d1cee63..d5b97ad4 100644
--- a/Octokit/IGitHubClient.cs
+++ b/Octokit/IGitHubClient.cs
@@ -2,7 +2,7 @@
namespace Octokit
{
- ///
+ ///
/// A Client for the GitHub API v3. You can read more about the api here: http://developer.github.com.
///
public interface IGitHubClient : IApiInfoProvider
@@ -91,6 +91,7 @@ namespace Octokit
///
/// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/
///
+ [Obsolete("Use Repository.Release instead")]
IReleasesClient Release { get; }
// TODO: this should be under Users to align with the API docs