Создание нового WorkItem в TFS с использованием инструмента командной строки TFPT с разрывами строк в поле Description - PullRequest
5 голосов
/ 01 ноября 2011

Как добавить разрыв строки в поле описания нового WorkItem с помощью утилиты командной строки TFS 2010 Power Tools TFPT? Я пробовал это:

Z:\>tfpt workitem /new "Project Ipsum\Issue" /collection:http://myserver:8080/tfs/test /fields:"Title=Testing Command Line 3;Description=Description of issue goes here<br /><br />I'd like to have line breaks too"

и это:

Z:\>tfpt workitem /new "Project Ipsum\Issue" /collection:http://myserver:8080/tfs/test /fields:"Title=Testing Command Line 3;Description=Description of issue goes here\r\nI'd like to have line breaks too"

безрезультатно.

Есть предложения?

============================

Один из обходных путей, который я реализовал, - это создание нового (фактически расширенного) рабочего элемента со свойствами, которые я изначально встраивал в длинное описание. Итак, теперь я разбил их на отдельные поля, такие как:

Z:\>tfpt workitem /new "Project Ipsum\Issue" /collection:http://myserver:8080/tfs/test /fields:"Title=Testing Command Line 3;Description=Description of issue goes here;Field1=more info;Field2=even more data"

Затем я создал поля формы (новую группу вкладок) для их отображения. Так или иначе, так чище.

Еще было бы интересно определить, как добавить разрывы строк с помощью TFPT.

Спасибо.

Ответы [ 3 ]

1 голос
/ 03 ноября 2011

Я не знаю, как помочь вам с помощью tfpt.
Вы можете создать небольшое консольное приложение, которое использует вместо этого TFS-SDK, и выполнить работу следующим образом:

using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;

namespace GenerateWorkItem
{
    class Program
    {
        static void Main(string[] args)
        {
            TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://myserver:8080"));
            WorkItemStore workItemStore = (WorkItemStore)tpc.GetService(typeof(WorkItemStore));

            Project teamProject = workItemStore.Projects["Ipsum"];
            WorkItemType workItemType = teamProject.WorkItemTypes["Issue"];

            WorkItem Issue = new WorkItem(workItemType)
            {
                Title = "Testing Command Line 3",
                Description = "Description of issue goes here \n I'd like to have line breaks too"
            }
            ;
            Issue.Save();
        }
    }
}

Это делает работу. Теперь, если вы сделаете так, чтобы это зависело от вашего string[] args, я ожидаю, что представленный метод @Ludwo будет применим.

Вышеуказанные базы на это .

1 голос
/ 02 ноября 2011

Попробуйте это . В вашем случае:

    Z:\>set NLM=^
    Z:\>set NL=^^^%NLM%%NLM%^%NLM%%NLM%
    Z:\>tfpt workitem /new "Project Ipsum\Issue" /collection:http://myserver:8080/tfs/test /fields:"Title=Testing Command Line 3;Description=Description of issue goes here%NL%I'd like to have line breaks too"

ОБНОВЛЕНИЕ: См. эту ссылку . Поиск решения TobyKraft. Он обнаружил, что история в формате HTML. Сначала необходимо добавить новый рабочий элемент, а затем обновить историю рабочих элементов с помощью строки в формате html, используя теги
.

0 голосов
/ 03 ноября 2011

Ненавижу отмечать этот ответ, но я добавил обходной путь, который работал для меня.Хотя я добавил «решение» своей проблемы в свой ОП.Вот для наглядности (спасибо за понятие pantelif )

Один из обходных путей, который я реализовал, - это создание нового (фактически расширенного) рабочего элемента со свойствами, которые я изначально встраивал в длинныйописание.Итак, теперь я разбил их на отдельные поля, такие как:

Z:\>tfpt workitem /new "Project Ipsum\Issue" /collection:http://myserver:8080/tfs/test /fields:"Title=Testing Command Line 3;Description=Description of issue goes here;Field1=more info;Field2=even more data"

Затем я создал поля формы (новая группа вкладок) для их отображения.В любом случае, это чище.

Было бы интересно определить, как добавить разрывы строк с помощью TFPT.

...