public static int GetAnyWikiPageId(VssConnection connection, WikiV2 wiki) { string path = GetAnyWikiPagePath(connection, wiki); var wikiClient = connection.GetClient <WikiHttpClient>(); var anyPage = wikiClient.GetPageAsync( project: wiki.ProjectId, wikiIdentifier: wiki.Id, path: path, recursionLevel: VersionControlRecursionType.OneLevel).SyncResult().Page; if (!anyPage.Id.HasValue) { WikiPageCreateOrUpdateParameters parameters = new WikiPageCreateOrUpdateParameters() { Content = "Wiki page content" }; WikiPageResponse wikiPageResponse = wikiClient.CreateOrUpdatePageAsync( parameters, project: wiki.ProjectId, wikiIdentifier: wiki.Id, path: "SamplePage" + new Random().Next(1, 999), Version: null).SyncResult(); Console.WriteLine("Create page '{0}' in wiki '{1}'", wikiPageResponse.Page.Path, wiki.Name); anyPage = wikiPageResponse.Page; } return(anyPage.Id.Value); }
public WikiPageMoveResponse ReorderWikiPage() { VssConnection connection = this.Context.Connection; WikiHttpClient wikiClient = connection.GetClient <WikiHttpClient>(); WikiV2 wiki = Helpers.FindOrCreateProjectWiki(this.Context); var pageCreateParameters = new WikiPageCreateOrUpdateParameters() { Content = "Wiki page content", }; var randomNumber = new Random().Next(1, 999); // First page string firstPagePath = "SamplePage" + randomNumber; WikiPageResponse firstPageResponse = wikiClient.CreateOrUpdatePageAsync( pageCreateParameters, project: wiki.ProjectId, wikiIdentifier: wiki.Name, path: firstPagePath, Version: null).SyncResult(); Context.Log("Created page '{0}' in wiki '{1}'", firstPageResponse.Page.Path, wiki.Name); // Second page string secondPagePath = "SamplePage" + (randomNumber + 1); WikiPageResponse secondPageResponse = wikiClient.CreateOrUpdatePageAsync( pageCreateParameters, project: wiki.ProjectId, wikiIdentifier: wiki.Name, path: secondPagePath, Version: null).SyncResult(); Context.Log("Created page '{0}' in wiki '{1}'", secondPageResponse.Page.Path, wiki.Name); var pageMoveParameters = new WikiPageMoveParameters() { Path = firstPagePath, NewPath = firstPagePath, NewOrder = 0 }; WikiPageMoveResponse pageMoveResponse = wikiClient.CreatePageMoveAsync( pageMoveParameters: pageMoveParameters, project: wiki.ProjectId, wikiIdentifier: wiki.Name).SyncResult(); Context.Log("Page '{0}' moved to order '{1}'", pageMoveResponse.PageMove.Path, pageMoveResponse.PageMove.NewOrder); // Cleanup ClientSampleHttpLogger.SetSuppressOutput(this.Context, true); wikiClient.DeletePageAsync(wiki.ProjectId, wiki.Id, firstPagePath).SyncResult(); wikiClient.DeletePageAsync(wiki.ProjectId, wiki.Id, secondPagePath).SyncResult(); return(pageMoveResponse); }
public void AddToWiki(string pagePath, string pageContent) { var wikiClient = connection.GetClient <Microsoft.TeamFoundation.Wiki.WebApi.WikiHttpClient>(); string wikiId = String.Empty; string version = String.Empty; var wiki = new WikiPageCreateOrUpdateParameters(); wiki.Content = pageContent; var response = wikiClient.CreateOrUpdatePageAsync(wiki, ProjectName, wikiId, pagePath, version); }
public static WikiPageResponse CreatePage(VssConnection connection, WikiV2 wiki, string path) { var wikiClient = connection.GetClient <WikiHttpClient>(); var parameters = new WikiPageCreateOrUpdateParameters { Content = "# Wiki page content" }; WikiPageResponse wikiPageResponse = wikiClient.CreateOrUpdatePageAsync( parameters, project: wiki.ProjectId, wikiIdentifier: wiki.Id, path: path, Version: null).SyncResult(); return(wikiPageResponse); }
public WikiPageResponse EditWikiPage() { VssConnection connection = this.Context.Connection; WikiHttpClient wikiClient = connection.GetClient <WikiHttpClient>(); WikiV2 wiki = Helpers.FindOrCreateProjectWiki(this.Context); string somePagePath = Helpers.GetAnyWikiPagePath(this.Context, wiki); WikiPageResponse pageResponse = wikiClient.GetPageAsync( project: wiki.ProjectId, wikiIdentifier: wiki.Name, path: somePagePath, includeContent: true).SyncResult(); WikiPage somePage = pageResponse.Page; Context.Log("Retrieved page '{0}' as JSON in wiki '{1}' with content '{2}'", somePage.Path, 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.CreateOrUpdatePageAsync( parameters: parameters, project: wiki.ProjectId, wikiIdentifier: wiki.Name, path: somePagePath, 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); }
public static async Task <WikiPageResponse> EditWikiPageById(VssConnection connection, Guid projectId, int pageId, Stream stream) { var wikiClient = connection.GetClient <WikiHttpClient>(); var wiki = Helpers.FindOrCreateProjectWiki(connection, projectId); var pageResponse = await wikiClient.GetPageByIdAsync( project : wiki.ProjectId, wikiIdentifier : wiki.Name, id : pageId, includeContent : true).ConfigureAwait(false); var somePage = pageResponse.Page; Console.WriteLine("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]; using var reader = new StreamReader(stream); var parameters = new WikiPageCreateOrUpdateParameters() { Content = reader.ReadToEnd() }; var editedPageResponse = await wikiClient.UpdatePageByIdAsync( parameters : parameters, project : wiki.ProjectId, wikiIdentifier : wiki.Name, id : pageId, Version : originalVersion).ConfigureAwait(false); var updatedContent = editedPageResponse.Page.Content; var updatedVersion = editedPageResponse.ETag.ToList()[0]; Console.WriteLine("Before editing --> Page path: {0}, version: {1}, content: {2}", somePage.Path, originalVersion, originalContent); Console.WriteLine("After editing --> Page path: {0}, version: {1}, content: {2}", somePage.Path, updatedVersion, updatedContent); return(editedPageResponse); }
public WikiPageResponse CreateWikiPage() { VssConnection connection = this.Context.Connection; WikiHttpClient wikiClient = connection.GetClient <WikiHttpClient>(); WikiV2 wiki = Helpers.FindOrCreateProjectWiki(this.Context); WikiPageCreateOrUpdateParameters parameters = new WikiPageCreateOrUpdateParameters() { Content = "Wiki page content" }; WikiPageResponse wikiPageResponse = wikiClient.CreateOrUpdatePageAsync( parameters, project: wiki.ProjectId, wikiIdentifier: wiki.Id, path: "SamplePage" + new Random().Next(1, 999), Version: null).SyncResult(); Context.Log("Create page '{0}' in wiki '{1}'", wikiPageResponse.Page.Path, wiki.Name); return(wikiPageResponse); }