public WikiPageResponse GetWikiPageByIdAndSubPages() { VssConnection connection = this.Context.Connection; WikiHttpClient wikiClient = connection.GetClient <WikiHttpClient>(); WikiV2 wiki = Helpers.FindOrCreateProjectWiki(this.Context); int somePageId = Helpers.GetAnyWikiPageId(this.Context, wiki); WikiPageResponse rootPageResponse = wikiClient.GetPageByIdAsync( project: wiki.ProjectId, wikiIdentifier: wiki.Id, id: somePageId, recursionLevel: VersionControlRecursionType.OneLevel).SyncResult(); if (rootPageResponse.Page.SubPages.Count() == 0) { WikiPageResponse wikiPageResponse1 = Helpers.CreatePage(this.Context, wiki, rootPageResponse.Page.Path + "/SubPage" + new Random().Next(1, 999)); WikiPageResponse wikiPageResponse2 = Helpers.CreatePage(this.Context, wiki, rootPageResponse.Page.Path + "/SubPage" + new Random().Next(1, 999)); rootPageResponse = wikiClient.GetPageByIdAsync( project: wiki.ProjectId, wikiIdentifier: wiki.Id, id: somePageId, recursionLevel: VersionControlRecursionType.OneLevel).SyncResult(); } Context.Log("Retrieved the following subpages for the root page:"); foreach (WikiPage subPage in rootPageResponse.Page.SubPages) { Context.Log("Sub-page : '{0}'", subPage.Path); } return(rootPageResponse); }
public WikiPageResponse GetWikiPageByIdMetadata() { VssConnection connection = this.Context.Connection; WikiHttpClient wikiClient = connection.GetClient <WikiHttpClient>(); WikiV2 wiki = Helpers.FindOrCreateProjectWiki(this.Context); int somePageId = Helpers.GetAnyWikiPageId(this.Context, wiki); WikiPageResponse somePageResponse = wikiClient.GetPageByIdAsync( project: wiki.ProjectId, wikiIdentifier: wiki.Name, id: somePageId).SyncResult(); Context.Log("Retrieved page with id : '{0}' metadata in wiki '{1}'", somePageId, wiki.Name); return(somePageResponse); }
public WikiPageResponse EditWikiPageById() { VssConnection connection = this.Context.Connection; WikiHttpClient wikiClient = connection.GetClient <WikiHttpClient>(); WikiV2 wiki = Helpers.FindOrCreateProjectWiki(this.Context); int somePageId = Helpers.GetAnyWikiPageId(this.Context, wiki); WikiPageResponse pageResponse = wikiClient.GetPageByIdAsync( project: wiki.ProjectId, wikiIdentifier: wiki.Name, id: somePageId, includeContent: true).SyncResult(); WikiPage somePage = pageResponse.Page; Context.Log("Retrieved page with Id '{0}' as JSON in wiki '{1}' with content '{2}'", somePage.Id, wiki.Name, somePage.Content); var originalContent = somePage.Content; var originalVersion = pageResponse.ETag.ToList()[0]; WikiPageCreateOrUpdateParameters parameters = new WikiPageCreateOrUpdateParameters() { Content = "New content for page" }; WikiPageResponse editedPageResponse = wikiClient.UpdatePageByIdAsync( parameters: parameters, project: wiki.ProjectId, wikiIdentifier: wiki.Name, id: somePageId, Version: originalVersion).SyncResult(); var updatedContent = editedPageResponse.Page.Content; var updatedVersion = editedPageResponse.ETag.ToList()[0]; Context.Log("Before editing --> Page path: {0}, version: {1}, content: {2}", somePage.Path, originalVersion, originalContent); Context.Log("After editing --> Page path: {0}, version: {1}, content: {2}", somePage.Path, updatedVersion, updatedContent); return(editedPageResponse); }