bash - 使用 gh cli 在 github 问题中创建表
问题描述
我正在使用 bash 和 gh cli 创建一个表格,用于汇总报告,该报告涉及新创建的问题。我被困在两个问题上:
- 我希望该表看起来像一个降价表,同样:
严重性 | 类型 | 问题网址 |
---|
但是,特殊字符不会变成问题正文中的表格。相反,我得到了原始输入。也许是因为我曾经<br>
下线?<br>
是唯一有效的方法,\n
\n\r
而其他选项则没有。这是创建的问题的屏幕截图:
2. 我必须运行多次扫描,我想将每个警报严重性收集到一个组中,并在代码末尾将它们全部附加在一起以提高可读性。我的想法是,通过知道什么是SEVERITY
我会将它附加到正确的*_alerts
var 中。我需要帮助使这些行起作用:
"${SEVERITY}_Alerts"="${${SEVERITY}_Alerts} | $SEVERITY | $alertType | URL |<br>"
REPORT="${REPORT}${High_Alerts}${Medium_Alerts}${Low_Alerts}${Informational_Alerts}"
为了更好的背景,这是我到目前为止想出的:
SEVERITY="High"
High_Alerts=''
Medium_Alerts=''
Low_Alerts=''
Informational_Alerts=''
REPORT=$"###Unified zap-scan report ran at $(date) <br><br> | Severity | Type | Issue URL | <br> | ----------- | ----------- | ----------- |<br>"
for ((i = 0; i < ${#BODY[@]}; i++)); do
line=${BODY[$i]}
if [[ $line =~ "Alert\nAlert" ]]; then
line=${line##*#}
line=${line%%A*}
SEVERITY=$line
i=$i+1
line=${BODY[$i]}
alertType="${line%%\\*}"
i=$i+2
REPORT=$"${REPORT} | $SEVERITY | ${alertType} | URL |<br>"
#"${SEVERITY}_Alerts"="${${SEVERITY}_Alerts} | $SEVERITY | $alertType | URL |<br>"
elif [[ $line =~ "\nAlert" ]]; then
i=$i+1
line=${BODY[$i]}
alertType="${line%%\\*}"
i=$i+2
REPORT=$"${REPORT} | $SEVERITY | ${alertType} | URL |<br>"
#"${SEVERITY}_Alerts"="${${SEVERITY}_Alerts} | $SEVERITY | $alertType | URL |<br>"
fi
done
#REPORT="${REPORT}${High_Alerts}${Medium_Alerts}${Low_Alerts}${Informational_Alerts}"
ps
创建问题的命令完美无缺,问题主体的输入是错误的。
解决方案
- 对于表格问题,我将任何更改
<br>
为$'\r\n'
相应的。 - 使用 GH-CLI 收集信息时,它将以 JSON 形式返回,因此,您需要使用
jq
它本身来查询和获取值。同样,该值将带有双引号,因此我使用了替换运算符:
URL=${URL%\"} #remove last double quote
URL=${URL#\"} #remove first double quote
- 正如@Socowi 在评论中提到的,解决数组问题的最佳方法是关联数组。这是一篇非常好的博客文章,对我有帮助
ps
那些双引号破坏了我试图创建的符号链接,所以更好地注意它们
推荐阅读
- xaml - UWP:如何根据内容调整窗口大小?
- php - PHP 的输出作为占位符
- pandas - bin 大小生成的索引错误,
- python - cursor.rowfactory (cx_oracle) 如何以字典格式返回每一行?
- python-3.x - 我迷失在数学运算中
- php - 如何从php中的字符串中删除特定字符和特殊字符
- javascript - 如何在asp.net mvc视图上调用打字稿方法
- javascript - 当我有多个标签时,在 Riot.js 的数组中删除对象
- android - FirebaseRecyclerAdapter 的问题,在删除数据时在空对象引用上
- sql - Oracle 查询到 PostgreSQL 的转换