如何将受让人列表传递给curl命令?
assignees=("user1","user2")
issue_response=$(curl
-X POST
-u :"$GH_TOKEN"
-H "Accept: application/vnd.github.v3+json"
"$GITHUB_API_ENDPOINT"
-d '{"title": "'"$issue_title"'", "body": "'"$issue_subject"'", "labels":["failure"], "assignees":["'"$assignees"'"]}')
echo "$issue_response"
当我跟踪这个POST请求时,我发现了以下问题,它不是一个有效的列表。
"assignees":["user1,user2"]
理想情况下,它应该是
"assignees":["user1","user2"]
有人能告诉我如何解决这个问题吗?
数组赋值assignees=("user1","user2")
创建一个数组,但通过与,
字符串联的字符串将user1和user2放在第一位。
为了将这两个项都插入到数组中,您应该在它们之间留出一个空格。
assignees=("user1" "user2")
然后您可以通过${assignees[0]} and ${assignees[1]}
访问每个项目
要将项目动态地放入curl命令中,您必须在如下的for循环中构建字符串:
assignees=("user1" "user2" "user3")
for i in "${!assignees[@]}"
do outputvar+=""${assignees[$i]}"" # Add assignee to variable
if [ $i -lt $(expr ${#assignees[@]} - 1) ] # Add comma unless it's the last item
then outputvar+=","
fi done
echo $outputvar