示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }