@iflow-mcp/alibabacloud-devops-mcp-server
Version:
MCP Server for using the alibabacloud-devops API: allows AI assistants to directly participate in development collaboration, helping teams optimize development processes and improve efficiency.
49 lines (48 loc) • 1.6 kB
JavaScript
import * as utils from "../../common/utils.js";
import { HostGroupSchema } from "../../common/types.js";
/**
* 获取主机组列表
* @param organizationId 组织ID
* @param options 查询选项
* @returns 主机组列表
*/
export async function listHostGroupsFunc(organizationId, options) {
const baseUrl = `/oapi/v1/flow/organizations/${organizationId}/hostGroups`;
// 构建查询参数
const queryParams = {};
if (options?.ids !== undefined) {
queryParams.ids = options.ids;
}
if (options?.name !== undefined) {
queryParams.name = options.name;
}
if (options?.createStartTime !== undefined) {
queryParams.createStartTime = options.createStartTime;
}
if (options?.createEndTime !== undefined) {
queryParams.createEndTime = options.createEndTime;
}
if (options?.creatorAccountIds !== undefined) {
queryParams.creatorAccountIds = options.creatorAccountIds;
}
if (options?.perPage !== undefined) {
queryParams.perPage = options.perPage;
}
if (options?.page !== undefined) {
queryParams.page = options.page;
}
if (options?.pageSort !== undefined) {
queryParams.pageSort = options.pageSort;
}
if (options?.pageOrder !== undefined) {
queryParams.pageOrder = options.pageOrder;
}
const url = utils.buildUrl(baseUrl, queryParams);
const response = await utils.yunxiaoRequest(url, {
method: "GET",
});
if (!Array.isArray(response)) {
return [];
}
return response.map(item => HostGroupSchema.parse(item));
}