From ef18af2e9c4f3eca3dbf8989a6a5bc7fef0d7604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Tue, 26 Sep 2023 23:13:52 +0200 Subject: [PATCH] Fix URL used in Team.update_team_repository method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use of string doesn't make sense here unless you know that the `repo` argument here means `{owner}/{repo}`, and not just `{repo}`. If you simply pass repo name you instead get a silent failure that returns 404: ```json {"message":"Not Found","documentation_url":"https://docs.github.com/rest"} ``` Signed-off-by: Jakub SokoĊ‚owski --- github/Team.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/github/Team.py b/github/Team.py index 38b605ed..40672b06 100644 --- a/github/Team.py +++ b/github/Team.py @@ -245,18 +245,14 @@ class Team(CompletableGithubObject): """ :calls: `PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo} `_ """ - assert isinstance(repo, github.Repository.Repository) or isinstance(repo, str), repo + assert isinstance(repo, github.Repository.Repository), repo assert isinstance(permission, str), permission - if isinstance(repo, github.Repository.Repository): - repo_url_param = repo._identity - else: - repo_url_param = repo put_parameters = { "permission": permission, } status, _, _ = self._requester.requestJson( "PUT", - f"{self.organization.url}/teams/{self.slug}/repos/{repo_url_param}", + f"{self.organization.url}/teams/{self.slug}/repos/{repo._identity}", input=put_parameters, ) return status == 204