myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Entwicklungs- und Laufzeitumgebung (Infrastruktur) » History aka System.Rev + System.Reason auf Azure Devops ist leer (WorkItemTrackingHttpClient)
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

History aka System.Rev + System.Reason auf Azure Devops ist leer (WorkItemTrackingHttpClient)

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
dr4g0n76
myCSharp.de-Poweruser/ Experte

avatar-1768.jpg


Dabei seit: 07.07.2005
Beiträge: 2.880
Entwicklungsumgebung: SharpDevelop/VS.NET
Herkunft: Deutschland


dr4g0n76 ist offline

History aka System.Rev + System.Reason auf Azure Devops ist leer (WorkItemTrackingHttpClient)

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich versuche mit folgender Methode WorkItems von Azure Devops auszulesen.
Was soweit auch funktioniert.

Allerdings ist dann die History leer.

Ich habe schon herausgefunden, wie das z.B mit Rest API (WIT) für Azure Devops funktioniert.

Aber in dem Beispiel hier, wollte ich - falls das möglich ist - nicht mehrere Dinge mischen. Sondern einfach nur die normale WebApi aus eben diesem Namespace benutzen.
Bisher habe ich aber keinen Befehl gefunden der funktioniert.

C#-Code:
public async Task<List<WorkItem>> RunQuery(string query, params string[] fields)
{
        var uri = Connect(out var project, out var credentials);

        //create a wiql object and build our query
        Wiql wiql = new Wiql()
        {
            Query = query
        };

        //create instance of work item tracking http client
        using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(uri, credentials))
        {
            //execute the query to get the list of work items in the results
            WorkItemQueryResult workItemQueryResult = await workItemTrackingHttpClient.QueryByWiqlAsync(wiql);

            //some error handling                
            if (workItemQueryResult.WorkItems.Count() != 0)
            {
                //need to get the list of our work item ids and put them into an array
                List<int> list = new List<int>();
                foreach (var item in workItemQueryResult.WorkItems)
                {
                    list.Add(item.Id);
                }
                int[] resultArray = list.ToArray();

                //build a list of the fields we want to see
                //get work items for the ids found in query
                var workItems = await workItemTrackingHttpClient.GetWorkItemsAsync(resultArray, fields, workItemQueryResult.AsOf);
                return workItems;
            }

            return null;
        }
}

Weiss jemand von euch zufällig, wie man das machen kann?

Weil ansonsten gäbe es scheinbar noch die Möglichkeit für Fields System.Rev auszulesen und dann für jede Revision einfach System.Reason abzufragen.

d.h. wenn es 10 Revisionen gäbe,
wäre es 10 mal:

Pseudo Code:

C#-Code:
string historyText = null;
for(int foractualrev=0;foractualrev<System.Rev;foractualrev++)
{
    historyText += Read(System.Reason, foractualrev) + Environment.NewLine;
}

Aber ich weigere mich momentan noch zu glauben, dass ich 10 Zugriffe hierfür extra brauchen würde.

Bestimmt habe ich einfach nur die Funktion (die ebenfalls auch NICHT-obsolet ist) übersehen.

P.S.: Wenn ich es selbst rausfinde, poste ich natürlich die Antwort hier.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von dr4g0n76 am 09.07.2019 11:43.

Neuer Beitrag 28.06.2019 14:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegt mehr als ein Monat.
dr4g0n76
myCSharp.de-Poweruser/ Experte

avatar-1768.jpg


Dabei seit: 07.07.2005
Beiträge: 2.880
Entwicklungsumgebung: SharpDevelop/VS.NET
Herkunft: Deutschland

Themenstarter Thema begonnen von dr4g0n76

dr4g0n76 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich werds jetzt einfach mit einem anderen Befehlsset aus der Documentation von Microsoft lösen. Welches weiss ich noch nicht. Aber die Möglichkeiten sind ja da.

Deswegen kann das Thema als gelöst betrachtet werden.
Neuer Beitrag 08.08.2019 08:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.08.2019 07:31