shell 使用GitHub REST API自动向多个团队添加多个成员的Bash脚本

i34xakig  于 2023-01-26  发布在  Shell
关注(0)|答案(1)|浏览(149)

我使用下面的命令来添加或删除GitHub团队中的用户。其中用户名、组织名、团队名和角色作为参数传递。

gh api \
  --method PUT \
  -H "Accept: application/vnd.github+json" \
  /orgs/$orgname/teams/$teamname/memberships/$membername \
  -f role='$role'

我怎样才能使这个脚本运行为多个组名和多个用户名.我想到pass他们作为参数在rundeck作业
我尝试使用for循环,但无法同时为多个团队和多个用户运行

2w2cym1i

2w2cym1i1#

teams=$(jq -r '.teams[]' $json_file)
users=$(jq -r '.users[]' $json_file)

for team in "${teams[@]}"

do
  for user in "${users[@]}"
    do
      gh api \
      --method PUT \
      -H "Accept: application/vnd.github+json" \
      /orgs/$orgname/teams/$team/memberships/$user \
      -f role='$role'
     done
  done

在Rundeck作业参数中将所有团队名称和用户名作为一个JSON文件传递,使用jq解析JSON并提取团队名称和用户名,然后使用for循环迭代团队名称和用户名数组。

相关问题