diff --git a/Octokit.Reactive/Clients/IObservableReleasesClient.cs b/Octokit.Reactive/Clients/IObservableReleasesClient.cs
index 6c27a8bf..48f76e80 100644
--- a/Octokit.Reactive/Clients/IObservableReleasesClient.cs
+++ b/Octokit.Reactive/Clients/IObservableReleasesClient.cs
@@ -53,10 +53,11 @@ namespace Octokit.Reactive
///
/// The repository's owner
/// The repository's name
+ /// The id of the release
/// A description of the release to edit
/// Thrown when a general API error occurs.
/// The updated .
- IObservable EditRelease(string owner, string name, ReleaseUpdate data);
+ IObservable EditRelease(string owner, string name, int number, ReleaseUpdate data);
///
/// Deletes an existing for the specified repository.
diff --git a/Octokit.Reactive/Clients/ObservableReleasesClient.cs b/Octokit.Reactive/Clients/ObservableReleasesClient.cs
index 051a3d58..1b9d8c27 100644
--- a/Octokit.Reactive/Clients/ObservableReleasesClient.cs
+++ b/Octokit.Reactive/Clients/ObservableReleasesClient.cs
@@ -84,16 +84,17 @@ namespace Octokit.Reactive
///
/// The repository's owner
/// The repository's name
+ /// The id of the release
/// A description of the release to edit
/// Thrown when a general API error occurs.
/// The updated .
- public IObservable EditRelease(string owner, string name, ReleaseUpdate data)
+ public IObservable EditRelease(string owner, string name, int number, ReleaseUpdate data)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
Ensure.ArgumentNotNullOrEmptyString(name, "name");
Ensure.ArgumentNotNull(data, "data");
- return _client.EditRelease(owner, name, data).ToObservable();
+ return _client.EditRelease(owner, name, number, data).ToObservable();
}
///
diff --git a/Octokit.Tests/Clients/ReleasesClientTests.cs b/Octokit.Tests/Clients/ReleasesClientTests.cs
index 196ae0c7..325becd4 100644
--- a/Octokit.Tests/Clients/ReleasesClientTests.cs
+++ b/Octokit.Tests/Clients/ReleasesClientTests.cs
@@ -101,9 +101,9 @@ namespace Octokit.Tests.Clients
var releasesClient = new ReleasesClient(connection);
var data = new ReleaseUpdate("fake-tag");
- releasesClient.EditRelease("fake", "repo", data);
+ releasesClient.EditRelease("fake", "repo", 1, data);
- connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases"), data);
+ connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases/1"), data);
}
[Fact]
@@ -111,11 +111,11 @@ namespace Octokit.Tests.Clients
{
var releasesClient = new ReleasesClient(Substitute.For());
- Assert.Throws(() => releasesClient.EditRelease(null, "name", new ReleaseUpdate("tag")));
- Assert.Throws(() => releasesClient.EditRelease("", "name", new ReleaseUpdate("tag")));
- Assert.Throws(() => releasesClient.EditRelease("owner", null, new ReleaseUpdate("tag")));
- Assert.Throws(() => releasesClient.EditRelease("owner", "", new ReleaseUpdate("tag")));
- Assert.Throws(() => releasesClient.EditRelease("owner", "name", null));
+ Assert.Throws(() => releasesClient.EditRelease(null, "name", 1, new ReleaseUpdate("tag")));
+ Assert.Throws(() => releasesClient.EditRelease("", "name", 1, new ReleaseUpdate("tag")));
+ Assert.Throws(() => releasesClient.EditRelease("owner", null, 1, new ReleaseUpdate("tag")));
+ Assert.Throws(() => releasesClient.EditRelease("owner", "", 1, new ReleaseUpdate("tag")));
+ Assert.Throws(() => releasesClient.EditRelease("owner", "name", 1, null));
}
}
@@ -239,7 +239,7 @@ namespace Octokit.Tests.Clients
client.EditAsset("fake", "repo", 1, 1, data);
- connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases/1/assets/1"),
+ connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases/1/assets/1"),
data);
}
diff --git a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs
index 85fee58b..18702085 100644
--- a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs
+++ b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs
@@ -106,9 +106,9 @@ namespace Octokit.Tests.Reactive
var releasesClient = new ObservableReleasesClient(gitHubClient);
var data = new ReleaseUpdate("fake-tag");
- releasesClient.EditRelease("fake", "repo", data);
+ releasesClient.EditRelease("fake", "repo", 1, data);
- gitHubClient.Release.Received(1).EditRelease("fake", "repo", data);
+ gitHubClient.Release.Received(1).EditRelease("fake", "repo", 1, data);
}
[Fact]
@@ -117,11 +117,11 @@ namespace Octokit.Tests.Reactive
var releasesClient = new ObservableReleasesClient(Substitute.For());
var update = new ReleaseUpdate("tag");
- Assert.Throws(() => releasesClient.EditRelease(null, "name", update));
- Assert.Throws(() => releasesClient.EditRelease("", "name", update));
- Assert.Throws(() => releasesClient.EditRelease("owner", null, update));
- Assert.Throws(() => releasesClient.EditRelease("owner", "", update));
- Assert.Throws(() => releasesClient.EditRelease("owner", "name", null));
+ Assert.Throws(() => releasesClient.EditRelease(null, "name", 1, update));
+ Assert.Throws(() => releasesClient.EditRelease("", "name", 1, update));
+ Assert.Throws(() => releasesClient.EditRelease("owner", null, 1, update));
+ Assert.Throws(() => releasesClient.EditRelease("owner", "", 1, update));
+ Assert.Throws(() => releasesClient.EditRelease("owner", "name", 1, null));
}
}
diff --git a/Octokit/Clients/IReleasesClient.cs b/Octokit/Clients/IReleasesClient.cs
index 136778af..250f1e43 100644
--- a/Octokit/Clients/IReleasesClient.cs
+++ b/Octokit/Clients/IReleasesClient.cs
@@ -61,10 +61,11 @@ namespace Octokit
///
/// The repository's owner
/// The repository's name
+ /// The id of the release
/// A description of the release to edit
/// Thrown when a general API error occurs.
/// The updated .
- Task EditRelease(string owner, string name, ReleaseUpdate data);
+ Task EditRelease(string owner, string name, int number, ReleaseUpdate data);
///
/// Deletes an existing for the specified repository.
diff --git a/Octokit/Clients/ReleasesClient.cs b/Octokit/Clients/ReleasesClient.cs
index 02bfb0c9..1a3af891 100644
--- a/Octokit/Clients/ReleasesClient.cs
+++ b/Octokit/Clients/ReleasesClient.cs
@@ -89,16 +89,17 @@ namespace Octokit
///
/// The repository's owner
/// The repository's name
+ /// The id of the release
/// A description of the release to edit
/// Thrown when a general API error occurs.
/// The updated .
- public Task EditRelease(string owner, string name, ReleaseUpdate data)
+ public Task EditRelease(string owner, string name, int number, ReleaseUpdate data)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
Ensure.ArgumentNotNullOrEmptyString(name, "name");
Ensure.ArgumentNotNull(data, "data");
- var endpoint = ApiUrls.Releases(owner, name);
+ var endpoint = ApiUrls.Releases(owner, name, number);
return ApiConnection.Patch(endpoint, data);
}