:calls: `POST /repos/{owner}/{repo}/releases/{release_id}/assets `__
(
self, path: str, label: str = "", content_type: Opt[str] = NotSet, name: Opt[str] = NotSet
)
| 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, |
no test coverage detected