【发布时间】:2022-01-11 09:32:03
【问题描述】:
我正在尝试创建一个 azure devops 小部件来提取与项目关联的所有 PR。该小部件正在工作,但只提取一个 PR 数据,而不是全部。下面是我正在使用的小部件代码
VSS.require(["TFS/Dashboards/WidgetHelpers","TFS/VersionControl/GitRestClient"],
function (WidgetHelpers, TFS_Wit_WebApi) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("PRDuration", function () {
var projectId = VSS.getWebContext().project.id;
var getQueryInfo = function (widgetSettings) {
// Get a WIT client to make REST calls to Azure DevOps Services
return TFS_Wit_WebApi.getClient().getPullRequestsByProject(projectId,"status: All ",null,0,100)
.then(function (prs) {
var $list = $('<ul>');
prs.forEach(function(pr) {
//$list.append($('<li>').text("Project ID: " + projectId));
//$list.append($('<li>').text("Pull Request ID: " + pr.pullRequestId));
$list.append($('<li>').text("Pull Request title: " + pr.title));
$list.append($('<li>').text("Pull Request createdBy: " + pr.createdBy))
$list.append($('<li>').text("Pull Request creationDate: " + pr.creationDate));
$list.append($('<li>').text("Pull Request closedDate: " + pr.closedDate));
;
//$list.append($('<li>').text("Query Name: " + query.name));
//$list.append($('<li>').text("Created By: " + (query.createdBy ? query.createdBy.displayName: "<unknown>") ));
})
// Append the list to the query-info-container
var $container = $('#query-info-container');
$container.empty();
$container.append($list);
// Use the widget helper and return success as Widget Status
return WidgetHelpers.WidgetStatusHelper.Success();
}, function (error) {
// Use the widget helper and return failure as Widget Status
return WidgetHelpers.WidgetStatusHelper.Failure(error.message);
});
}
return {
load: function (widgetSettings) {
// Set your title
var $title = $('h2.title');
$title.text('Hello World');
return getQueryInfo(widgetSettings);
}
}
});
VSS.notifyLoadSucceeded();
});
当我使用这个小部件时,它似乎在进行 API 调用并只获取一个结果: https://dev.azure.com/orgname/projectId/_apis/git/pullRequests?searchCriteria=status:All&api-version=6.0
如果我如下更改 api URL,那么我会得到所有结果: https://dev.azure.com/orgname/projectId/_apis/git/pullRequests?searchCriteria.status=All&api-version=6.0
有没有办法可以在函数 getPullRequestsByProject 的搜索条件中解决此问题以获取所有结果?
【问题讨论】:
-
我读过那篇文章,问题在于使用我提到的库时......因为它的翻译 api url 不同
-
azure-devops-extension-api 中函数的搜索条件是必需的。我不能跳过它,我也不能直接在小部件中使用 api URL。
标签: javascript typescript azure azure-devops