I have a powershell script that does this :
$uri = "$($tfsUri)/$($teamproject)/_apis/build/builds/$($buildID)?api-version=2.0"
$data = @{keepForever = $keepForever} | ConvertTo-Json
$response = $webclient.UploadString($uri,"PATCH", $data)
I'm trying to rewrite this in C#, using a Webclient.
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string reply = client.UploadString(url, "keepForever = true");
Console.WriteLine(reply);
But I get : The remote server returned an error: (401) Unauthorized.
This is TFS 2015 VNext, if that helps.
In order to send a PATCH request you can use
WebClient.UploadData
.You are missing the METHOD in your call to UploadString.
should be:
A 401 is unauthorised, so also see if there is a step before in your Powershell where you are logging in or joining a session, you would need to replicate that in your C#.