Module: JPSClient::API::Project

Included in:
Client
Defined in:
lib/jpsclient/api/project.rb

Overview

项目相关 API 处理 /api/project/* 路径的所有接口

Instance Method Summary collapse

Instance Method Details

#get_project_detail(project_id:, project_name: nil) ⇒ Hash

获取项目详情

Parameters:

  • project_id (String)

    项目ID

  • project_name (String) (defaults to: nil)

    项目名称(可选)

Returns:

  • (Hash)

    响应数据

Raises:



36
37
38
39
40
41
42
43
44
45
# File 'lib/jpsclient/api/project.rb', line 36

def get_project_detail(project_id:, project_name: nil)
  config = @request_config && @request_config["project_detail"]
  raise JPSClient::ExceptionError, "Missing config for project_detail" unless config && config["url"]
  path = config["url"]

  get_params = { projectId: project_id }
  get_params[:projectName] = project_name if project_name

  return request_with_auth(:get, path, params: get_params)
end

#get_project_list(params: nil) ⇒ Hash

获取项目列表

Parameters:

  • params (Hash) (defaults to: nil)

    查询参数

Returns:

  • (Hash)

    响应数据



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/jpsclient/api/project.rb', line 10

def get_project_list(params:nil)
  path = @request_config["project_list"]["url"]

  get_params = {
  orderByColumn: "update_time",
  sort: "DESC",
  pageNo: 1,
  pageSize: 40,
  }

  params.each { |key,value| get_params[key] = value } if params

  # 处理响应数据格式
  response_data = request_with_auth(:get, path, params: get_params)
  if response_data && response_data['data'] && response_data['data']['projects']
    # 新的API格式:返回 projects 数组
    response_data['data'] = response_data['data']['projects']
  end

  return response_data
end