我正在尝试执行一个Curl请求,以将一个团队添加到这样的repo中:
curl --user $USERNAME:$TOKEN -X PUT -d "" "https://api.github.com/teams/<team name>/repos/<org>/$REPONAME"
我的变量是正确的,但我一直得到一个消息没有找到错误。有人对如何进行有建议吗?
jk9hmnmh1#
从这里开始的正确端点是:
PUT /teams/:id/repos/:org/:repo
您必须指定团队ID而不是团队名称以下代码将获取Developers团队的团队ID,并执行PUT请求以将repo添加到指定的团队:
Developers
PUT
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"
注意,本例中的JSON解析是使用jq完成的还可以考虑在作用域admin:org中使用Personal access token,而不是您的用户名/密码(然后使用-H "Authorization: Token $TOKEN")
jq
admin:org
-H "Authorization: Token $TOKEN"
sy5wg1nm2#
这个公认的答案现在已经有点过时了。试试这里: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"}'
2条答案
按热度按时间jk9hmnmh1#
从这里开始的正确端点是:
您必须指定团队ID而不是团队名称
以下代码将获取
Developers
团队的团队ID,并执行PUT
请求以将repo添加到指定的团队:注意,本例中的JSON解析是使用
jq
完成的还可以考虑在作用域
admin:org
中使用Personal access token,而不是您的用户名/密码(然后使用-H "Authorization: Token $TOKEN"
)sy5wg1nm2#
这个公认的答案现在已经有点过时了。
试试这里:https://docs.github.com/en/rest/reference/teams#add-or-update-team-repository-permissions