我正在尝试将Curl请求添加到像这样的回购中:
curl --user $USERNAME:$TOKEN -X PUT -d "" "https://api.github.com/teams/<team name>/repos/<org>/$REPONAME"
我的变量是正确的,但我一直收到错误消息。有人建议如何继续吗?
答案 0 :(得分:2)
来自here的正确终点是:
PUT /teams/:id/repos/:org/:repo
您必须指定团队ID而不是团队名称
以下内容将获取Developers
小组的小组ID,并执行PUT
请求以将repo添加到指定的小组:
username=your_user
password=your_password
org=your_org
repo=your_repo
team=Developers
teamid=$(curl -s --user $username:$password "https://api.github.com/orgs/$org/teams" | \
jq --arg team "$team" '.[] | select(.name==$team) | .id')
curl -v --user $username:$password -d "" -X PUT "https://api.github.com/teams/$teamid/repos/$org/$repo"
请注意,此示例使用jq
另请考虑使用范围为admin:org
的{{3}}而不是您的用户名/密码(然后使用-H "Authorization: Token $TOKEN"
)
答案 1 :(得分:2)
接受的答案现在有点过时了。
试试这里:https://docs.github.com/en/rest/reference/teams#add-or-update-team-repository-permissions
put /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token ......." \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/repos/ORG/REPO \
-d '{"permission":"permission"}'