我们正在为项目使用SonarQube 4.5.1,并计划向最终用户提供规则激活/停用列表。
在Excel中的SonarQube中导出/导入的最佳方法是什么?
质量配置文件中有备份选项,但它没有导出说明。 我直接在数据库中查看了规则表,但由于某些HTML标记,这不适用于以分号分隔。
我还想知道如何为现有规则集添加自定义规则。程序是什么?
答案 0 :(得分:1)
SonarQube界面确实是您用户的最佳参考。根据评论中的信息,我建议使用简单的网络表单,而不是尝试构建电子表格。
知道您可以使用XML配置文件备份中返回的repositoryKey和密钥构建任何规则的URL可能会有所帮助:
http://[server]/coding_rules#rule_key=[repositoryKey]:[key]
E.G。 https://sonarcloud.io/api/rules/search?rule_key=csharpsquid%3AS907
API支持此处记录的许多参数:https://sonarcloud.io/web_api/api/rules/search(单击水平线上方的参数标题以打开说明)。
例如,languages参数可以搜索适用于一种或多种语言的规则(以逗号分隔的列表)。要获取所有C#规则的列表,您可以使用https://sonarcloud.io/api/rules/search?languages=cs
答案 1 :(得分:1)
要以JSON格式导出规则,
对于C ++规则,您可以使用以下网址:
...
# headers and headers for days
with open(output_filename, 'w', newline='') as out_file:
writer = csv.writer(out_file, delimiter=',')
for row in reader:
writer.writerow(row)
对于C规则,您可以使用以下网址:
def get_data(self, input_filename: str, output_filename: str):
import csv
with open(input_filename, 'r', newline='') as in_file, open(output_filename, 'w', newline='') as out_file:
r = csv.reader(in_file, delimiter=',')
w = csv.writer(out_file, delimiter=',')
for line in r:
trim = (field.strip() for field in line)
w.writerow(trim)
input_filename = 'testFile.csv'
output_filename = 'output_testFile.csv'
get_data(self='', input_filename=input_filename, output_filename=output_filename)
答案 2 :(得分:0)
在json文件中保存搜索API的结果后,为了完全覆盖问题,可以使用https://github.com/VBA-tools/VBA-JSON
进行excel中的json结果导入