Der Versuch, die zuletzt eingecheckten Informationen mithilfe der Klasse TfvcHttpClient
aus einem bestimmten Ordner in Team Foundation Server mithilfe seiner Client-API aus einer Konsolenanwendung abzurufen.Abruf der zuletzt eingecheckten Informationen mithilfe von TfvcHttpClient Clas
Bitte helfen, wie kann ich es erreichen? Ich habe persönliche Zugriffstoken und unten erwähnt ist in der Lage, indem Sie es verbinden:
Code:
string uri = _uri;
string personalAccessToken = _personalAccessToken;
string project = _project;
string credentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "", personalAccessToken)));
//create wiql object
var wiql = new
{
query = "Select [State], [Title] " +
"From WorkItems " +
"Where [Work Item Type] = 'Bug' " +
"And [System.TeamProject] = '" + project + "' " +
"And [System.State] <> 'Closed' " +
"Order By [State] Asc, [Changed Date] Desc"
};
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(uri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
//serialize the wiql object into a json string
var postValue = new StringContent(JsonConvert.SerializeObject(wiql), Encoding.UTF8, "application/json"); //mediaType needs to be application/json for a post call
//send query to REST endpoint to return list of id's from query
var method = new HttpMethod("POST");
var httpRequestMessage = new HttpRequestMessage(method, uri + "/_apis/wit/wiql?api-version=2.2") { Content = postValue };
var httpResponseMessage = client.SendAsync(httpRequestMessage).Result;
}
habe ich versucht, Code unten erwähnt zu erreichen:
VssConnection connection = new VssConnection(serverUrl, new
VssBasicCredential(string.Empty, _personalAccessToken));
var buildServer = connection.GetClient<BuildHttpClient>(); // connect to the build server subpart
var sourceControlServer = connection.GetClient<Microsoft.TeamFoundation.SourceControl.WebApi.TfvcHttpClient>(); // connect to the TFS source control subpart
var changesets = buildServer.GetChangesBetweenBuildsAsync("client-rsa", 1, 5).Result;
foreach (var changeset in changesets)
{
var csDetail = sourceControlServer.GetChangesetAsync("client-rsa", Convert.ToInt32(changeset.Id.Replace("C", string.Empty).Trim()), includeDetails: true).Result;
var checkinNote = csDetail.CheckinNotes?.FirstOrDefault(_ => _.Name == "My check-in note");
if (checkinNote != null)
{
Console.WriteLine("{0}: {1}", changeset.Id, changeset.Message);
Console.WriteLine("Check-in note: {0}", checkinNote.Value);
}
else
Console.WriteLine("Warning: {0} has no check-in note", changeset.Id);
}
Welches Problem haben Sie? Das von Ihnen bereitgestellte Codebeispiel interagiert in keiner Weise mit der Versionskontrolle. Hast du die Dokumentation gelesen? –
Daniel der Code, den ich gepostet habe Ich benutze es um Arbeitsinformationen zu erhalten und ich möchte Hilfe zum Abrufen der neuesten eingecheckten Informationen mit TfvcHttpClient Klasse aus einem bestimmten Ordner in TeamFoundationServer mit seinem Client HTTP API – Veejay
Okay, und was haben Sie versucht, und was funktioniert nicht mit dem Code, den du geschrieben hast? –