MCPcopy Index your code
hub / github.com/PyGithub/PyGithub / upload_asset

Method upload_asset

github/GitRelease.py:319–344  ·  view source on GitHub ↗

:calls: `POST /repos/{owner}/{repo}/releases/{release_id}/assets `__

(
        self, path: str, label: str = "", content_type: Opt[str] = NotSet, name: Opt[str] = NotSet
    )

Source from the content-addressed store, hash-verified

317 return github.GitRelease.GitRelease(self._requester, headers, data, completed=True)
318
319 def upload_asset(
320 self, path: str, label: str = "", content_type: Opt[str] = NotSet, name: Opt[str] = NotSet
321 ) -> github.GitReleaseAsset.GitReleaseAsset:
322 """
323 :calls: `POST /repos/{owner}/{repo}/releases/{release_id}/assets <https://docs.github.com/en/rest/releases/assets?apiVersion=2022-11-28#upload-a-release-assett>`__
324 """
325 assert isinstance(path, str), path
326 assert isinstance(label, str), label
327 assert name is NotSet or isinstance(name, str), name
328
329 post_parameters: dict[str, Any] = {"label": label}
330 if name is NotSet:
331 post_parameters["name"] = basename(path)
332 else:
333 post_parameters["name"] = name
334 headers: dict[str, Any] = {}
335 if content_type is not NotSet:
336 headers["Content-Type"] = content_type
337 resp_headers, data = self._requester.requestBlobAndCheck(
338 "POST",
339 self.upload_url.split("{?")[0],
340 parameters=post_parameters,
341 headers=headers,
342 input=path,
343 )
344 return github.GitReleaseAsset.GitReleaseAsset(self._requester, resp_headers, data, completed=True)
345
346 def upload_asset_from_memory(
347 self,

Callers 2

testUploadAssetMethod · 0.80

Calls 1

requestBlobAndCheckMethod · 0.80

Tested by

no test coverage detected