forked from Trustie/forgeplus
77 lines
2.0 KiB
Ruby
77 lines
2.0 KiB
Ruby
class Api::V1::Projects::CodecheckService < ApplicationService
|
|
def initialize(project)
|
|
@project = project
|
|
@client = HuaweiCloud::CodeCheck.new
|
|
end
|
|
|
|
def create_task(branch)
|
|
language = if @project.project_language.present?
|
|
@project.project_language.name.upcase
|
|
else
|
|
"TYPESCRIPT"
|
|
end
|
|
|
|
result = @client.create_task(
|
|
git_url: @project.repository.url,
|
|
git_branch: branch,
|
|
languages: [language],
|
|
username: @project.owner.login,
|
|
access_token: "this is opensource"
|
|
)
|
|
@project.update(huawei_code_check_task_id: result["task_id"])
|
|
end
|
|
|
|
def run_task
|
|
@client.run_task(@project.huawei_code_check_task_id)
|
|
end
|
|
|
|
def query_task
|
|
@client.query_task(@project.huawei_code_check_task_id)
|
|
end
|
|
|
|
def defects_summary(query)
|
|
query = URI.encode_www_form(query)
|
|
@client.defects_summary(@project.huawei_code_check_task_id,query)
|
|
end
|
|
|
|
def defects_detail(query)
|
|
query = URI.encode_www_form(query)
|
|
@client.defects_detail(@project.huawei_code_check_task_id,query)
|
|
end
|
|
|
|
def defects_statistic
|
|
@client.defects_statistic(@project.huawei_code_check_task_id)
|
|
end
|
|
|
|
def metrics_summary
|
|
@client.metrics_summary(@project.huawei_code_check_task_id)
|
|
end
|
|
|
|
def defect_status(query)
|
|
query = URI.encode_www_form(query)
|
|
@client.defect_status(@project.huawei_code_check_task_id,query)
|
|
end
|
|
|
|
def issue_status(body) #更新代码问题状态 post
|
|
@client.issue_status(@project.huawei_code_check_task_id,body)
|
|
end
|
|
|
|
def issue_list_by_filter(body) #获取代码问题状态
|
|
@client.issue_list_by_filter(@project.huawei_code_check_task_id,body)
|
|
end
|
|
|
|
def issue_filter(body) #获取代码问题状态
|
|
@client.issue_filter(@project.huawei_code_check_task_id,body)
|
|
end
|
|
|
|
def defect_metric_trend(query)
|
|
query = URI.encode_www_form(query)
|
|
@client.defect_metric_trend(@project.huawei_code_check_task_id,query)
|
|
end
|
|
def next_status
|
|
@client.next_status(@project.huawei_code_check_task_id)
|
|
end
|
|
|
|
|
|
|
|
end |