是否可以重命名当前正在进行或已完成的版本?
我尝试使用下面的语法重命名该版本,但它总是抛出一个错误,说“不允许从发布中添加或删除阶段”
var releases = releaseClient.GetReleasesAsync(definitionId: 100, searchtext: "OldReleaseName").Result;
var release = release.FirstOrDefault();
release.Name = "new release name";
releaseClient.UpdateReleaseAsync(release, "projectName", release.Id).Wait();
是的,可以重命名版本。
在这种特殊情况下看到的错误是因为GetReleases API返回了发布的浅表副本,而UpdateRelease API接受了完整的对象。
要修复上面代码中的错误,我们还需要调用GetRelease API来加载完整的发布对象并在Update调用中使用它。
var releases = releaseClient.GetReleasesAsync(definitionId: 100, searchtext: "OldReleaseName").Result;
var release = release.FirstOrDefault();
// Add a null check here? This is to load the complete release object.
release = releaseClient.GetReleaseAsync("projectName", release.Id).Result;
release.Name = "new release name";
releaseClient.UpdateReleaseAsync(release, "projectName", release.Id).Wait();