Вот мой фрагмент кода:
/*
* Get Pushes List Doc: https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pushes/list?view=azure-devops-rest-5.1
*/
function getPushesList(){
global $baseUri;
global $organization;
global $project;
global $repositoryId;
global $branch;
global $username;
global $accessToken;
$url = $baseUri . '/' . $organization . '/' . $project . '/_apis/git/repositories/' . $repositoryId . '/pushes?api-version=5.1';
$queryArr = [
'searchCriteria.refName' => $branch,
'searchCriteria.includeRefUpdates' => 'false',
'$top' => 1,
];
$queryStr = http_build_query($queryArr);
$authorization = 'basic ' . base64_encode($username . ':' . $accessToken);
$url .= '&' . urldecode($queryStr);
//$url sample: https://dev.azure.com/kmx3ecup/img_bed/_apis/git/repositories/img_bed/pushes?api-version=5.1&searchCriteria.refName=&searchCriteria.includeRefUpdates=false&$top=1
// echo $url;exit;
$ch = curl_init();
$options = [
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => [
'authorization: ' . $authorization
],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 0,
];
//In case you need a proxy
// $options[CURLOPT_PROXY] = 'http://127.0.0.1:1087';
curl_setopt_array($ch, $options);
$retArr = curl_exec($ch);
if(curl_errno($ch)){
echo 'Error: ' . curl_error($ch);
}
curl_close($ch);
return $retArr;
}
$baseUri = 'https://dev.azure.com';
$organization = '<YOUR_ORGANIZATION>';
$project = '<YOUR_PROJECT_NAME>';
$repositoryId = '<YOUR_REPOSITORY_ID_OR_REPOSITORY_NAME>';
$branch = '';
//Question: if I set $branch to "master", then it returns: {"count":0,"value":[]}, but actually master branch have many files.
//DOC: https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pushes/list?view=azure-devops-rest-5.1
//$branch = 'master';
$username = '<YOUR_USERNAME>';
$accessToken = '<YOUR_ACCESS_TOKEN>';
$reponseJson = getPushesList();
echo $reponseJson;
Вопрос: Если я установлю $branch
на "master", он вернет: {"count": 0, "value": []}, но на самом деле главная ветвь имеет много файлов, и если я установлю $branch
на пустую строку, она вернет нормальный результат, но у меня есть только одна ветвь, то есть ветвь master
, я имею в виду, если я установлю ветку на пустую строку, она все равно получение файлов из ветки по умолчанию (master
ветка), верно?