Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

pygithub

Package Overview
Dependencies
Maintainers
3
Versions
106
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pygithub - npm Package Compare versions

Comparing version
2.3.0
to
2.4.0
+169
github/OrganizationCustomProperty.py
############################ Copyrights and license ############################
# #
# Copyright 2024 Jacky Lam <jacky.lam@r2studiohk.com> #
# #
# This file is part of PyGithub. #
# http://pygithub.readthedocs.io/ #
# #
# PyGithub is free software: you can redistribute it and/or modify it under #
# the terms of the GNU Lesser General Public License as published by the Free #
# Software Foundation, either version 3 of the License, or (at your option) #
# any later version. #
# #
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
# details. #
# #
# You should have received a copy of the GNU Lesser General Public License #
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
# #
################################################################################
from __future__ import annotations
from typing import Any
from github.GithubObject import Attribute, NonCompletableGithubObject, NotSet, Opt, is_optional
class CustomProperty:
"""
This class represents a CustomProperty for an Organization. Use this class to create a new post parameter object.
The reference can be found here
https://docs.github.com/en/rest/orgs/custom-properties#create-or-update-custom-properties-for-an-organization
"""
def __init__(
self,
property_name: str,
value_type: str,
required: Opt[bool] = NotSet,
default_value: Opt[None | str | list[str]] = NotSet,
description: Opt[str | None] = NotSet,
allowed_values: Opt[list[str] | None] = NotSet,
values_editable_by: Opt[str | None] = NotSet,
):
assert isinstance(property_name, str), property_name
assert isinstance(value_type, str), value_type
assert value_type in ["string", "single_select"], value_type
assert is_optional(required, bool), required
assert is_optional(default_value, (type(None), str, list)), default_value
assert is_optional(description, (str, type(None))), description
assert is_optional(allowed_values, (list, type(None))), allowed_values
assert is_optional(values_editable_by, (str, type(None))), values_editable_by
if values_editable_by is not NotSet:
assert values_editable_by in ["org_actors", "org_and_repo_actors"], values_editable_by
self.property_name = property_name
self.value_type = value_type
self.required = required
self.default_value = default_value
self.description = description
self.allowed_values = allowed_values
self.values_editable_by = values_editable_by
def to_dict(self) -> dict[str, Any]:
return NotSet.remove_unset_items(self.__dict__)
class OrganizationCustomProperty(NonCompletableGithubObject):
"""
This class represents a CustomProperty for an Organization.
The reference can be found here
https://docs.github.com/en/rest/orgs/custom-properties
"""
@property
def property_name(self) -> str:
return self._property_name.value
@property
def value_type(self) -> str:
return self._value_type.value
@property
def required(self) -> Opt[bool | None]:
return self._required.value
@property
def default_value(self) -> Opt[str | list[str] | None]:
return self._default_value.value
@property
def description(self) -> Opt[str | None]:
return self._description.value
@property
def allowed_values(self) -> Opt[list[str] | None]:
return self._allowed_values.value
@property
def values_editable_by(self) -> Opt[str | None]:
return self._values_editable_by.value
def _initAttributes(self) -> None:
self._property_name: Attribute[str] = NotSet
self._value_type: Attribute[str] = NotSet
self._required: Attribute[bool] = NotSet
self._default_value: Attribute[str | list[str]] = NotSet
self._description: Attribute[str] = NotSet
self._allowed_values: Attribute[list[str]] = NotSet
self._values_editable_by: Attribute[str] = NotSet
def _useAttributes(self, attributes: dict[str, Any]) -> None:
self._property_name = self._makeStringAttribute(attributes["property_name"])
self._value_type = self._makeStringAttribute(attributes["value_type"])
if "required" in attributes:
self._required = self._makeBoolAttribute(attributes["required"])
if "default_value" in attributes:
self._default_value = self._makeStringAttribute(attributes["default_value"])
if "description" in attributes:
self._description = self._makeStringAttribute(attributes["description"])
if "allowed_values" in attributes:
self._allowed_values = self._makeListOfStringsAttribute(attributes["allowed_values"])
if "values_editable_by" in attributes:
self._values_editable_by = self._makeStringAttribute(attributes["values_editable_by"])
class RepositoryCustomPropertyValues(NonCompletableGithubObject):
"""
This class represents CustomPropertyValues for a Repository.
The reference can be found here
https://docs.github.com/en/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories
"""
@property
def respository_id(self) -> int:
return self._repository_id.value
@property
def repository_name(self) -> str:
return self._repository_name.value
@property
def repository_full_name(self) -> str:
return self._repository_full_name.value
@property
def properties(self) -> dict[str, str]:
return self._properties.value
def _initAttributes(self) -> None:
self._repository_id: Attribute[int] = NotSet
self._repository_name: Attribute[str] = NotSet
self._repository_full_name: Attribute[str] = NotSet
self._properties: Attribute[dict[str, str]] = NotSet
def _useAttributes(self, attributes: dict[str, Any]) -> None:
self._repository_id = self._makeIntAttribute(attributes["repository_id"])
self._repository_name = self._makeStringAttribute(attributes["repository_name"])
self._repository_full_name = self._makeStringAttribute(attributes["repository_full_name"])
properties = {p["property_name"]: p["value"] for p in attributes["properties"]}
self._properties = self._makeDictAttribute(properties)
############################ Copyrights and license ############################
# #
# Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2012 Zearin <zearin@gonk.net> #
# Copyright 2013 AKFish <akfish@gmail.com> #
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2016 Jannis Gebauer <ja.geb@me.com> #
# Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> #
# Copyright 2018 Wan Liuyang <tsfdye@gmail.com> #
# Copyright 2018 sfdye <tsfdye@gmail.com> #
# Copyright 2019 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2019 Wan Liuyang <tsfdye@gmail.com> #
# Copyright 2020 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2021 Mark Walker <mark.walker@realbuzz.com> #
# Copyright 2021 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2023 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2023 Nikolay Yurin <yurinnick93@gmail.com> #
# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Caleb McCombs <caleb@mccombalot.net> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# #
# This file is part of PyGithub. #
# http://pygithub.readthedocs.io/ #
# #
# PyGithub is free software: you can redistribute it and/or modify it under #
# the terms of the GNU Lesser General Public License as published by the Free #
# Software Foundation, either version 3 of the License, or (at your option) #
# any later version. #
# #
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
# details. #
# #
# You should have received a copy of the GNU Lesser General Public License #
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
# #
################################################################################
from typing import Any, Dict
import github.SecurityAndAnalysisFeature
from github.GithubObject import Attribute, NonCompletableGithubObject, NotSet
class SecurityAndAnalysis(NonCompletableGithubObject):
"""
This class represents Security and Analysis Settings.
"""
def _initAttributes(self) -> None:
self._advanced_security: Attribute[github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature] = NotSet
self._dependabot_security_updates: Attribute[
github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature
] = NotSet
self._secret_scanning: Attribute[github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature] = NotSet
self._secret_scanning_non_provider_patterns: Attribute[
github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature
] = NotSet
self._secret_scanning_push_protection: Attribute[
github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature
] = NotSet
self._secret_scanning_validity_checks: Attribute[
github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature
] = NotSet
def __repr__(self) -> str:
repr_attributes = {
"advanced_security": repr(self._advanced_security.value),
"dependabot_security_updates": repr(self._dependabot_security_updates.value),
"secret_scanning": repr(self._secret_scanning.value),
"secret_scanning_non_provider_patterns": repr(self._secret_scanning_non_provider_patterns.value),
"secret_scanning_push_protection": repr(self._secret_scanning_push_protection.value),
"secret_scanning_validity_checks": repr(self._secret_scanning_validity_checks.value),
}
return self.get__repr__(repr_attributes)
@property
def advanced_security(self) -> github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature:
return self._advanced_security.value
@property
def dependabot_security_updates(self) -> github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature:
return self._dependabot_security_updates.value
@property
def secret_scanning(self) -> github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature:
return self._secret_scanning.value
@property
def secret_scanning_non_provider_patterns(self) -> github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature:
return self._secret_scanning_non_provider_patterns.value
@property
def secret_scanning_push_protection(self) -> github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature:
return self._secret_scanning_push_protection.value
@property
def secret_scanning_validity_checks(self) -> github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature:
return self._secret_scanning_validity_checks.value
def _useAttributes(self, attributes: Dict[str, Any]) -> None:
def make_attribute(attribute_name: str) -> None:
if attribute_name in attributes:
setattr(
self,
f"_{attribute_name}",
self._makeClassAttribute(
github.SecurityAndAnalysisFeature.SecurityAndAnalysisFeature, attributes[attribute_name]
),
)
make_attribute("advanced_security")
make_attribute("dependabot_security_updates")
make_attribute("secret_scanning")
make_attribute("secret_scanning_non_provider_patterns")
make_attribute("secret_scanning_push_protection")
make_attribute("secret_scanning_validity_checks")
############################ Copyrights and license ############################
# #
# Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2012 Zearin <zearin@gonk.net> #
# Copyright 2013 AKFish <akfish@gmail.com> #
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2016 Jannis Gebauer <ja.geb@me.com> #
# Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> #
# Copyright 2018 Wan Liuyang <tsfdye@gmail.com> #
# Copyright 2018 sfdye <tsfdye@gmail.com> #
# Copyright 2019 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2019 Wan Liuyang <tsfdye@gmail.com> #
# Copyright 2020 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2023 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Caleb McCombs <caleb@mccombalot.net> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# #
# This file is part of PyGithub. #
# http://pygithub.readthedocs.io/ #
# #
# PyGithub is free software: you can redistribute it and/or modify it under #
# the terms of the GNU Lesser General Public License as published by the Free #
# Software Foundation, either version 3 of the License, or (at your option) #
# any later version. #
# #
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
# details. #
# #
# You should have received a copy of the GNU Lesser General Public License #
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
# #
################################################################################
from typing import Any, Dict
from github.GithubObject import Attribute, NonCompletableGithubObject, NotSet
class SecurityAndAnalysisFeature(NonCompletableGithubObject):
"""
This class represents a Security and Analysis feature status.
"""
def _initAttributes(self) -> None:
self._status: Attribute[str] = NotSet
def __repr__(self) -> str:
return self.get__repr__({"status": self._status.value})
@property
def status(self) -> str:
return self._status.value
def _useAttributes(self, attributes: Dict[str, Any]) -> None:
if "status" in attributes: # pragma no branch
self._status = self._makeStringAttribute(attributes["status"])
https
GET
api.github.com
None
/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a?per_page=1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 05 Apr 2024 12:24:56 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"da87e7c05666ad0fc39ed4ca3c27dcde63a172cf5d6e1fa42a85947a9277b320"'), ('Last-Modified', 'Wed, 09 May 2012 16:22:33 GMT'), ('X-OAuth-Scopes', 'admin:org, project, repo, workflow, write:discussion'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4995'), ('X-RateLimit-Reset', '1712323495'), ('X-RateLimit-Used', '5'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '8482:23E254:4A48AF2:4A968B7:660FED98')]
{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","node_id":"MDY6Q29tbWl0MzU0NDQ5MDoxMjkyYmYwZTIyYzc5NmU5MWNjM2Q2ZTI0YjU0NGFlY2U4YzIxZjJh","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2012-05-09T16:22:33Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2012-05-09T16:22:33Z"},"message":"Remove completion functions from GitAuthor","tree":{"sha":"4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab","url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees/4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab"},"url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","comment_count":9,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null}},"url":"https://api.github.com/repos/PyGithub/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/PyGithub/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments","author":{"login":"jacquev6","id":327146,"node_id":"MDQ6VXNlcjMyNzE0Ng==","avatar_url":"https://avatars.githubusercontent.com/u/327146?v=4","gravatar_id":"","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"node_id":"MDQ6VXNlcjMyNzE0Ng==","avatar_url":"https://avatars.githubusercontent.com/u/327146?v=4","gravatar_id":"","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","url":"https://api.github.com/repos/PyGithub/PyGithub/commits/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","html_url":"https://github.com/PyGithub/PyGithub/commit/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae"}],"stats":{"total":20,"additions":0,"deletions":20},"files":[{"sha":"ca6a3c616fc1367b6d01d04a7cf6ee27cf216f26","filename":"github/GithubObjects/GitAuthor.py","status":"modified","additions":0,"deletions":20,"changes":20,"blob_url":"https://github.com/PyGithub/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github%2FGithubObjects%2FGitAuthor.py","raw_url":"https://github.com/PyGithub/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github%2FGithubObjects%2FGitAuthor.py","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/github%2FGithubObjects%2FGitAuthor.py?ref=1292bf0e22c796e91cc3d6e24b544aece8c21f2a","patch":"@@ -14,44 +14,24 @@ def __init__( self, requester, attributes, lazy ):\n self.__completed = False\n self.__initAttributes()\n self.__useAttributes( attributes )\n- if not lazy:\n- self.__complete()\n \n @property\n def date( self ):\n- self.__completeIfNeeded( self.__date )\n return self.__date\n \n @property\n def email( self ):\n- self.__completeIfNeeded( self.__email )\n return self.__email\n \n @property\n def name( self ):\n- self.__completeIfNeeded( self.__name )\n return self.__name\n \n def __initAttributes( self ):\n self.__date = None\n self.__email = None\n self.__name = None\n \n- def __completeIfNeeded( self, testedAttribute ):\n- if not self.__completed and testedAttribute is None:\n- self.__complete()\n-\n- # @todo Do not generate __complete if type has no url attribute\n- def __complete( self ):\n- status, headers, data = self.__requester.request(\n- \"GET\",\n- self.__url,\n- None,\n- None\n- )\n- self.__useAttributes( data )\n- self.__completed = True\n-\n def __useAttributes( self, attributes ):\n #@todo No need to check if attribute is in attributes when attribute is mandatory\n if \"date\" in attributes and attributes[ \"date\" ] is not None:"}]}
https
POST
api.github.com
None
/graphql
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"query": "mutation MinimizeComment($input: MinimizeCommentInput!) { minimizeComment(input: $input) { minimizedComment { isMinimized } } }", "variables": {"input": {"subjectId": "IC_kwDOGpsAJ86Gecc_", "classifier": "OUTDATED"}}}
200
[('Server', 'GitHub.com'), ('Date', 'Mon, 29 Jul 2024 14:43:44 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('github-authentication-token-expiration', '2024-08-28 16:30:05 +0200'), ('X-GitHub-Media-Type', 'github.v4; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4991'), ('X-RateLimit-Reset', '1722267171'), ('X-RateLimit-Used', '9'), ('X-RateLimit-Resource', 'graphql'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'C08C:1A4F2F:3A882EB:3B486EE:66A7AAA0')]
{"data":{"minimizeComment":{"minimizedComment":{"isMinimized":true}}}}
https
POST
api.github.com
None
/graphql
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"query": "mutation UnminimizeComment($input: UnminimizeCommentInput!) { unminimizeComment(input: $input) { unminimizedComment { isMinimized } } }", "variables": {"input": {"subjectId": "IC_kwDOGpsAJ86Gecc_"}}}
200
[('Server', 'GitHub.com'), ('Date', 'Mon, 29 Jul 2024 14:43:55 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('github-authentication-token-expiration', '2024-08-28 16:30:05 +0200'), ('X-GitHub-Media-Type', 'github.v4; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4990'), ('X-RateLimit-Reset', '1722267171'), ('X-RateLimit-Used', '10'), ('X-RateLimit-Resource', 'graphql'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'C064:1A4F2F:3A8AFE1:3B4B457:66A7AAAB')]
{"data":{"unminimizeComment":{"unminimizedComment":{"isMinimized":false}}}}
https
DELETE
api.github.com
None
/notifications/threads/397777914
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
204
[('Server', 'GitHub.com'), ('Date', 'Thu, 18 Oct 2018 18:46:59 GMT'), ('Content-Type', 'text/plain;charset=utf-8'), ('Content-Length', '0'), ('Status', '204 No Content'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4983'), ('X-RateLimit-Reset', '1539890344'), ('X-OAuth-Scopes', 'admin:gpg_key, admin:public_key, admin:repo_hook, gist, notifications, repo, user, write:discussion'), ('X-Accepted-OAuth-Scopes', 'notifications, repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'B14A:4C25:2AC483C:58CB194:5BC8D523')]
https
PATCH
api.github.com
None
/orgs/BeaverSoftware/properties/schema
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"properties": [{"property_name": "property_1", "value_type": "string", "required": false, "description": "description", "values_editable_by": "org_actors"}, {"property_name": "property_2", "value_type": "single_select", "required": true, "default_value": "bar", "description": "Lorem ipsum", "allowed_values": ["foo", "bar"], "values_editable_by": "org_and_repo_actors"}]}
200
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:33:15 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"3d31331d3fa84370e751e90afbe5f289af6035258b6504dad42bb3cfd77ae983"'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=admin'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4947'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '53'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CGNJ:L42SB3:M0O1IW:JEHZ3G:SUHX0TC4')]
[{"property_name":"property_1","value_type":"string","required":false,"description":"description","values_editable_by":"org_actors"},{"property_name":"property_2","value_type":"single_select","required":true,"default_value":"bar","description":"Lorem ipsum","allowed_values":["foo","bar"],"values_editable_by":"org_and_repo_actors"}]
https
PUT
api.github.com
None
/orgs/BeaverSoftware/properties/schema/property_1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"value_type": "string", "required": true, "default_value": "foo", "description": "description"}
200
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:48:36 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"85f9f5056a1f868d95ddd3b9af888bb6d9b20766264873fd18db63866be695e8"'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=admin'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4868'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '132'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CT01:4KADUD:WQ26U5:4BTORI:Z419HYMJ')]
{"property_name":"property_1","value_type":"string","required":true,"default_value":"foo","description":"description","values_editable_by":"org_actors"}
https
PATCH
api.github.com
None
/orgs/BeaverSoftware/properties/values
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"repository_names": ["TestPyGithub"], "properties": [{"property_name": "property_1", "value": "bar"}]}
204
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:48:37 GMT'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=write'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4866'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '134'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'CT01:4KADUD:WQ26U5:4BTORI:Z419HYMJ')]
https
GET
api.github.com
None
/orgs/BeaverSoftware/properties/schema
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:34:24 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"b2b84abdf13e6be86f79dac5de7b63b2ca0ff254cf371ca5f470ef363039b6b2"'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=read'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4937'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '63'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CNX7:4XSRH1:841616:AKM292:60LGFYTX')]
[{"property_name":"property_1","value_type":"string","required":true,"default_value":"foo","description":"description","values_editable_by":"org_actors"},{"property_name":"property_2","value_type":"single_select","required":true,"default_value":"bar","description":"Lorem ipsum","allowed_values":["foo","bar"],"values_editable_by":"org_and_repo_actors"}]
https
GET
api.github.com
None
/orgs/BeaverSoftware/properties/schema/property_1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:35:45 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"ae384eec183637d8dd394cae7448eb8e6b8ce7437ce222bc156816cafea54111"'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=read'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4932'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '68'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CNX7:4XSRH1:841616:AKM292:60LGFYTX')]
{"property_name":"property_1","value_type":"string","required":true,"default_value":"foo","description":"description","values_editable_by":"org_actors"}
https
GET
api.github.com
None
/orgs/BeaverSoftware/properties/values?repository_query=repo%3ABeaverSoftware%2FTestPyGithub
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:48:37 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"41a390c81a11644bf754e25767f1d7720567ca8a8d6e9ac11f1ee1f5be6313b5"'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=read'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4865'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '135'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CTDD:9BZ2B7:ELXM6L:AE6Q1F:3SBURNLR')]
[{"repository_id":494563892,"repository_name":"TestPyGithub","repository_full_name":"BeaverSoftware/TestPyGithub","properties":[{"property_name":"property_1","value":"bar"},{"property_name":"property_2","value":"foo"}]}]
https
DELETE
api.github.com
None
/orgs/BeaverSoftware/properties/schema/property_1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
204
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:48:40 GMT'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=admin'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4863'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '137'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'C0OP:9CEOMD:IWG8B5:KRYM7K:C7R0QBUG')]
https
GET
api.github.com
None
/orgs/BeaverSoftware/properties/schema/property_1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
404
[('Server', 'GitHub.com'), ('Date', 'Sat, 01 Jun 2024 07:48:40 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('github-authentication-token-expiration', '2024-06-08 02:45:21 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'organization_custom_properties=read'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4862'), ('X-RateLimit-Reset', '1717228808'), ('X-RateLimit-Used', '138'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CKA9:TRENBZ:J9SO0F:XVXBKD:IH67CQF3')]
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/orgs/custom-properties#get-a-custom-property-for-an-organization"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"9e7706dfd919e04e9df872052add55475df9953d3b9c0d20df34fdeb8effc446"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4971'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '29'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFDC:379D:155E19:322526:5FD3F001')]
{"name":"revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","_links":{"self":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","html":"https://github.com/austinsasko/PyGithub/tree/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing"},"protected":false,"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}},"protection_url":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing/protection"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/pulls?head=revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing&per_page=1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '2'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', '"5b0893a1da6bb8cfc57acf8d3216d8751325252d4a5750cede94ca1dd53c6a54"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4970'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '30'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'FFDD:43CF:26E97C:578F6F:5FD3F002')]
[]
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:38 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"50d4d8f24500a45face48f0774778f2df511639264b29745fc3a3dd0880943a6"'), ('Last-Modified', 'Fri, 11 Dec 2020 22:17:23 GMT'), ('X-Poll-Interval', '300'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4969'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '31'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFDE:5324:70192:13F750:5FD3F002')]
{"ref":"refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","node_id":"MDM6UmVmMzIwNjYxMzYwOnJlZnMvaGVhZHMvcmV2ZXJ0LTIwLXJldmVydC0xOS1yZXZlcnQtMTgtcmV2ZXJ0LTE2LXJldmVydC0xNS1yZXZlcnQtMTQtcmV2ZXJ0LTEzLXJldmVydC0xMi1yZXZlcnQtMTEtcmV2ZXJ0LTEwLXJldmVydC05LXJldmVydC04LXJldmVydC03LXJldmVydC02LXJldmVydC01LXJldmVydC00LXJldmVydC0zLXJldmVydC0yLXJldmVydC0xLXRlc3Rpbmc=","url":"https://api.github.com/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","object":{"sha":"adf76c80c6d28dc2d47b1a22622082786192c887","type":"commit","url":"https://api.github.com/repos/austinsasko/PyGithub/git/commits/adf76c80c6d28dc2d47b1a22622082786192c887"}}
https
DELETE
api.github.com
None
/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
204
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:38 GMT'), ('Status', '204 No Content'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4968'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '32'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'FFDF:110B:3EC696:68A9AE:5FD3F002')]
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
404
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:39 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '404 Not Found'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4967'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '33'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFE0:5E4B:63459:11BB67:5FD3F002')]
{"message":"Branch not found","documentation_url":"https://docs.github.com/rest/reference/repos#get-a-branch"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"9e7706dfd919e04e9df872052add55475df9953d3b9c0d20df34fdeb8effc446"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4986'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '14'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFC4:33B9:DB37:25D2D:5FD3EFEF')]
{"name":"revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","_links":{"self":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","html":"https://github.com/austinsasko/PyGithub/tree/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing"},"protected":false,"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}},"protection_url":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing/protection"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/pulls/21/merge
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
404
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '404 Not Found'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4985'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '15'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFC5:0453:C83EB:15ECA5:5FD3EFEF')]
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged"}
https
PUT
api.github.com
None
/repos/austinsasko/PyGithub/pulls/21/merge
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{}
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"4e99368280fe2d1151de99cd9df354bad64f5a295f99e0413890ad16101409b8"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4984'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '16'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFC6:5F02:72996:10253D:5FD3EFEF')]
{"sha":"40abf8b68f4c86d0001cc9a03f19cf8f1bd018e1","merged":true,"message":"Pull Request successfully merged"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/pulls?head=revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing&per_page=1
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '2'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', '"5b0893a1da6bb8cfc57acf8d3216d8751325252d4a5750cede94ca1dd53c6a54"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4983'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '17'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'FFC7:21A6:23BA5:5F231:5FD3EFF1')]
[]
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:21 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"50d4d8f24500a45face48f0774778f2df511639264b29745fc3a3dd0880943a6"'), ('Last-Modified', 'Fri, 11 Dec 2020 22:14:24 GMT'), ('X-Poll-Interval', '300'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4982'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '18'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFC8:66F6:9F63D:16684A:5FD3EFF1')]
{"ref":"refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","node_id":"MDM6UmVmMzIwNjYxMzYwOnJlZnMvaGVhZHMvcmV2ZXJ0LTIwLXJldmVydC0xOS1yZXZlcnQtMTgtcmV2ZXJ0LTE2LXJldmVydC0xNS1yZXZlcnQtMTQtcmV2ZXJ0LTEzLXJldmVydC0xMi1yZXZlcnQtMTEtcmV2ZXJ0LTEwLXJldmVydC05LXJldmVydC04LXJldmVydC03LXJldmVydC02LXJldmVydC01LXJldmVydC00LXJldmVydC0zLXJldmVydC0yLXJldmVydC0xLXRlc3Rpbmc=","url":"https://api.github.com/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","object":{"sha":"adf76c80c6d28dc2d47b1a22622082786192c887","type":"commit","url":"https://api.github.com/repos/austinsasko/PyGithub/git/commits/adf76c80c6d28dc2d47b1a22622082786192c887"}}
https
DELETE
api.github.com
None
/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
204
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:21 GMT'), ('Status', '204 No Content'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4981'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '19'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'FFC9:6734:71C11:1089E6:5FD3EFF1')]
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/pulls/21/merge
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
204
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:22 GMT'), ('Status', '204 No Content'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4980'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '20'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'FFCA:10F6:76E0E:10E80D:5FD3EFF2')]
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
404
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:22 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '404 Not Found'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4979'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '21'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFCF:79F1:D0D25:16D5FD:5FD3EFF2')]
{"message":"Branch not found","documentation_url":"https://docs.github.com/rest/reference/repos#get-a-branch"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:16:28 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"9e7706dfd919e04e9df872052add55475df9953d3b9c0d20df34fdeb8effc446"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4997'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '3'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFA0:6731:124B3:367DC:5FD3EFBC')]
{"name":"revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","_links":{"self":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","html":"https://github.com/austinsasko/PyGithub/tree/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing"},"protected":false,"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}},"protection_url":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing/protection"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:16:29 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"50d4d8f24500a45face48f0774778f2df511639264b29745fc3a3dd0880943a6"'), ('Last-Modified', 'Fri, 11 Dec 2020 22:14:24 GMT'), ('X-Poll-Interval', '300'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4996'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '4'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFA1:76B4:3F2D8:A2CD4:5FD3EFBC')]
{"ref":"refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","node_id":"MDM6UmVmMzIwNjYxMzYwOnJlZnMvaGVhZHMvcmV2ZXJ0LTIwLXJldmVydC0xOS1yZXZlcnQtMTgtcmV2ZXJ0LTE2LXJldmVydC0xNS1yZXZlcnQtMTQtcmV2ZXJ0LTEzLXJldmVydC0xMi1yZXZlcnQtMTEtcmV2ZXJ0LTEwLXJldmVydC05LXJldmVydC04LXJldmVydC03LXJldmVydC02LXJldmVydC01LXJldmVydC00LXJldmVydC0zLXJldmVydC0yLXJldmVydC0xLXRlc3Rpbmc=","url":"https://api.github.com/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","object":{"sha":"adf76c80c6d28dc2d47b1a22622082786192c887","type":"commit","url":"https://api.github.com/repos/austinsasko/PyGithub/git/commits/adf76c80c6d28dc2d47b1a22622082786192c887"}}
https
DELETE
api.github.com
None
/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
204
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:16:29 GMT'), ('Status', '204 No Content'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4995'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '5'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'FFA2:3778:6FA05:FC2B3:5FD3EFBD')]
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
404
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:16:29 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '404 Not Found'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4994'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '6'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFA3:30F5:D60A4:1711DC:5FD3EFBD')]
{"message":"Branch not found","documentation_url":"https://docs.github.com/rest/reference/repos#get-a-branch"}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
404
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:26 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '404 Not Found'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4976'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '24'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFD4:76B6:DE30A:17C8D0:5FD3EFF6')]
{"message":"Branch not found","documentation_url":"https://docs.github.com/rest/reference/repos#get-a-branch"}
https
POST
api.github.com
None
/repos/austinsasko/PyGithub/git/refs
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"ref": "refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing", "sha": "adf76c80c6d28dc2d47b1a22622082786192c887"}
201
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:27 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '959'), ('Status', '201 Created'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', '"50d4d8f24500a45face48f0774778f2df511639264b29745fc3a3dd0880943a6"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', 'repo'), ('Location', 'https://api.github.com/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4975'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '25'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'FFD5:79FB:DA378:17B0EA:5FD3EFF6')]
{"ref":"refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","node_id":"MDM6UmVmMzIwNjYxMzYwOnJlZnMvaGVhZHMvcmV2ZXJ0LTIwLXJldmVydC0xOS1yZXZlcnQtMTgtcmV2ZXJ0LTE2LXJldmVydC0xNS1yZXZlcnQtMTQtcmV2ZXJ0LTEzLXJldmVydC0xMi1yZXZlcnQtMTEtcmV2ZXJ0LTEwLXJldmVydC05LXJldmVydC04LXJldmVydC03LXJldmVydC02LXJldmVydC01LXJldmVydC00LXJldmVydC0zLXJldmVydC0yLXJldmVydC0xLXRlc3Rpbmc=","url":"https://api.github.com/repos/austinsasko/PyGithub/git/refs/heads/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","object":{"sha":"adf76c80c6d28dc2d47b1a22622082786192c887","type":"commit","url":"https://api.github.com/repos/austinsasko/PyGithub/git/commits/adf76c80c6d28dc2d47b1a22622082786192c887"}}
https
GET
api.github.com
None
/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Fri, 11 Dec 2020 22:17:27 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Status', '200 OK'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"9e7706dfd919e04e9df872052add55475df9953d3b9c0d20df34fdeb8effc446"'), ('X-OAuth-Scopes', 'public_repo, read:user, repo:status'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4974'), ('X-RateLimit-Reset', '1607728588'), ('X-RateLimit-Used', '26'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'FFD6:76B6:DE386:17C99E:5FD3EFF7')]
{"name":"revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","_links":{"self":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing","html":"https://github.com/austinsasko/PyGithub/tree/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing"},"protected":false,"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}},"protection_url":"https://api.github.com/repos/austinsasko/PyGithub/branches/revert-20-revert-19-revert-18-revert-16-revert-15-revert-14-revert-13-revert-12-revert-11-revert-10-revert-9-revert-8-revert-7-revert-6-revert-5-revert-4-revert-3-revert-2-revert-1-testing/protection"}
https
GET
api.github.com
None
/repos/jacquev6/PyGithub/properties/values
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Mon, 13 May 2024 21:00:49 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"d39e9221ff0274e6b4260ebe01423943de3f09687620a4b62d299d462060d53b"'), ('github-authentication-token-expiration', '2024-05-14 21:59:19 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'metadata=read'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4977'), ('X-RateLimit-Reset', '1715634908'), ('X-RateLimit-Used', '23'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', '83D4:892338:DB7F23C:718CED3:8FDE46FA')]
[{"property_name":"foo","value":"bar"}]
https
PATCH
api.github.com
None
/repos/jacquev6/PyGithub/properties/values
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python', 'Content-Type': 'application/json'}
{"properties": [{"property_name": "foo", "value": "bar"}]}
204
[('Server', 'GitHub.com'), ('Date', 'Mon, 13 May 2024 21:14:43 GMT'), ('github-authentication-token-expiration', '2024-05-14 21:59:19 +0100'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-accepted-github-permissions', 'repository_custom_properties=write'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4966'), ('X-RateLimit-Reset', '1715634908'), ('X-RateLimit-Used', '34'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Vary', 'Accept-Encoding, Accept, X-Requested-With'), ('X-GitHub-Request-Id', 'E3E1:217A23:4C86BFF:5DECCFD:9E22D3D7')]
https
GET
api.github.com
None
/repos/transmission-web-control/transmission-web-control
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Thu, 01 Jun 2023 09:00:25 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"60d4519044dda2b5c9593f4aa02b569a78ec686f39aa039dd00455707d723d9f"'), ('Last-Modified', 'Thu, 01 Jun 2023 07:39:48 GMT'), ('X-OAuth-Scopes', 'delete:packages, gist, read:discussion, read:org, repo, workflow, write:packages'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4680'), ('X-RateLimit-Reset', '1685613199'), ('X-RateLimit-Used', '320'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'EB88:1556:436041:46EAA0:64785E28')]
{"id":631628708,"node_id":"R_kgDOJaXjpA","name":"transmission-web-control","full_name":"transmission-web-control/transmission-web-control","private":false,"owner":{"login":"transmission-web-control","id":131607464,"node_id":"O_kgDOB9grqA","avatar_url":"https://avatars.githubusercontent.com/u/131607464?v=4","gravatar_id":"","url":"https://api.github.com/users/transmission-web-control","html_url":"https://github.com/transmission-web-control","followers_url":"https://api.github.com/users/transmission-web-control/followers","following_url":"https://api.github.com/users/transmission-web-control/following{/other_user}","gists_url":"https://api.github.com/users/transmission-web-control/gists{/gist_id}","starred_url":"https://api.github.com/users/transmission-web-control/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/transmission-web-control/subscriptions","organizations_url":"https://api.github.com/users/transmission-web-control/orgs","repos_url":"https://api.github.com/users/transmission-web-control/repos","events_url":"https://api.github.com/users/transmission-web-control/events{/privacy}","received_events_url":"https://api.github.com/users/transmission-web-control/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/transmission-web-control/transmission-web-control","description":"maintained fork of ronggang/transmission-web-control","fork":false,"url":"https://api.github.com/repos/transmission-web-control/transmission-web-control","forks_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/forks","keys_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/keys{/key_id}","collaborators_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/teams","hooks_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/hooks","issue_events_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/issues/events{/number}","events_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/events","assignees_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/assignees{/user}","branches_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/branches{/branch}","tags_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/tags","blobs_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/git/refs{/sha}","trees_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/git/trees{/sha}","statuses_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/statuses/{sha}","languages_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/languages","stargazers_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/stargazers","contributors_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/contributors","subscribers_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/subscribers","subscription_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/subscription","commits_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/commits{/sha}","git_commits_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/git/commits{/sha}","comments_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/comments{/number}","issue_comment_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/issues/comments{/number}","contents_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/contents/{+path}","compare_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/compare/{base}...{head}","merges_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/merges","archive_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/downloads","issues_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/issues{/number}","pulls_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/pulls{/number}","milestones_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/milestones{/number}","notifications_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/labels{/name}","releases_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/releases{/id}","deployments_url":"https://api.github.com/repos/transmission-web-control/transmission-web-control/deployments","created_at":"2023-04-23T16:14:17Z","updated_at":"2023-06-01T07:39:48Z","pushed_at":"2023-05-31T22:12:53Z","git_url":"git://github.com/transmission-web-control/transmission-web-control.git","ssh_url":"git@github.com:transmission-web-control/transmission-web-control.git","clone_url":"https://github.com/transmission-web-control/transmission-web-control.git","svn_url":"https://github.com/transmission-web-control/transmission-web-control","homepage":"","size":28072,"stargazers_count":79,"watchers_count":79,"language":"CSS","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":6,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":9,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["transmission","transmission-web-control"],"visibility":"public","forks":6,"open_issues":9,"watchers":79,"default_branch":"master","permissions":{"admin":true,"maintain":true,"push":true,"triage":true,"pull":true},"temp_clone_token":"","allow_squash_merge":true,"allow_merge_commit":false,"allow_rebase_merge":false,"allow_auto_merge":false,"delete_branch_on_merge":true,"allow_update_branch":true,"use_squash_pr_title_as_default":true,"squash_merge_commit_message":"BLANK","squash_merge_commit_title":"PR_TITLE","merge_commit_message":"PR_TITLE","merge_commit_title":"MERGE_MESSAGE","organization":{"login":"transmission-web-control","id":131607464,"node_id":"O_kgDOB9grqA","avatar_url":"https://avatars.githubusercontent.com/u/131607464?v=4","gravatar_id":"","url":"https://api.github.com/users/transmission-web-control","html_url":"https://github.com/transmission-web-control","followers_url":"https://api.github.com/users/transmission-web-control/followers","following_url":"https://api.github.com/users/transmission-web-control/following{/other_user}","gists_url":"https://api.github.com/users/transmission-web-control/gists{/gist_id}","starred_url":"https://api.github.com/users/transmission-web-control/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/transmission-web-control/subscriptions","organizations_url":"https://api.github.com/users/transmission-web-control/orgs","repos_url":"https://api.github.com/users/transmission-web-control/repos","events_url":"https://api.github.com/users/transmission-web-control/events{/privacy}","received_events_url":"https://api.github.com/users/transmission-web-control/received_events","type":"Organization","site_admin":false},"security_and_analysis": {"advanced_security": {"status": "disabled"}, "secret_scanning": {"status": "disabled"}, "secret_scanning_push_protection": {"status": "disabled"}, "dependabot_security_updates": {"status": "disabled"}, "secret_scanning_non_provider_patterns": {"status": "disabled"}, "secret_scanning_validity_checks": {"status": "disabled"}},"network_count":6,"subscribers_count":3}
https
GET
api.github.com
None
/repos/PyGithub/PyGithub/actions/runs/3881497935
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Date', 'Tue, 30 Jul 2024 21:36:34 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"446287674f36f42b0bb440f6c063fe60735b3a9259a44fabc067d624156ec6af"'), ('X-OAuth-Scopes', 'admin:enterprise, admin:org, admin:repo_hook, codespace, copilot, delete:packages, delete_repo, gist, read:project, repo, user, workflow, write:packages'), ('X-Accepted-OAuth-Scopes', ''), ('github-authentication-token-expiration', '2024-09-05 20:23:57 UTC'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4947'), ('X-RateLimit-Reset', '1722377635'), ('X-RateLimit-Used', '53'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('Transfer-Encoding', 'chunked'), ('Server', 'github.com'), ('X-GitHub-Request-Id', '7FC2:149E48:12F6AFC:14113DA:66A95CE2')]
{"id":3881497935,"name":"CI","node_id":"WFR_kwLOMdOCzc8AAAACXiiEpg","head_branch":"main","head_sha":"9268749d34be56976fbc1fedd1a72aad057ab751","path":".github/workflows/ci.yml","display_title":"Create ci.yml","run_number":1,"event":"push","status":"completed","conclusion":"failure","workflow_id":110005609,"check_suite_id":26611160426,"check_suite_node_id":"CS_kwDOMdOCzc8AAAAGMiYVag","url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935","html_url":"https://github.com/PyGithub/PyGithub/actions/runs/3881497935","pull_requests":[],"created_at":"2024-07-30T20:58:42Z","updated_at":"2024-07-30T21:36:21Z","actor":{"login":"chrisgavin","id":5584439,"node_id":"MDQ6VXNlcjU1ODQ0Mzk=","avatar_url":"https://avatars.githubusercontent.com/u/5584439?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisgavin","html_url":"https://github.com/chrisgavin","followers_url":"https://api.github.com/users/chrisgavin/followers","following_url":"https://api.github.com/users/chrisgavin/following{/other_user}","gists_url":"https://api.github.com/users/chrisgavin/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisgavin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisgavin/subscriptions","organizations_url":"https://api.github.com/users/chrisgavin/orgs","repos_url":"https://api.github.com/users/chrisgavin/repos","events_url":"https://api.github.com/users/chrisgavin/events{/privacy}","received_events_url":"https://api.github.com/users/chrisgavin/received_events","type":"User","site_admin":true},"run_attempt":2,"referenced_workflows":[],"run_started_at":"2024-07-30T21:36:08Z","triggering_actor":{"login":"chrisgavin","id":5584439,"node_id":"MDQ6VXNlcjU1ODQ0Mzk=","avatar_url":"https://avatars.githubusercontent.com/u/5584439?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisgavin","html_url":"https://github.com/chrisgavin","followers_url":"https://api.github.com/users/chrisgavin/followers","following_url":"https://api.github.com/users/chrisgavin/following{/other_user}","gists_url":"https://api.github.com/users/chrisgavin/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisgavin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisgavin/subscriptions","organizations_url":"https://api.github.com/users/chrisgavin/orgs","repos_url":"https://api.github.com/users/chrisgavin/repos","events_url":"https://api.github.com/users/chrisgavin/events{/privacy}","received_events_url":"https://api.github.com/users/chrisgavin/received_events","type":"User","site_admin":true},"jobs_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935/jobs","logs_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935/logs","check_suite_url":"https://api.github.com/repos/PyGithub/PyGithub/check-suites/26611160426","artifacts_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935/artifacts","cancel_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935/cancel","rerun_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935/rerun","previous_attempt_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/runs/3881497935/attempts/1","workflow_url":"https://api.github.com/repos/PyGithub/PyGithub/actions/workflows/110005609","head_commit":{"id":"9268749d34be56976fbc1fedd1a72aad057ab751","tree_id":"e41340d7709ded8b3dc4c82683bc2112115d80e7","message":"Create ci.yml","timestamp":"2024-07-30T20:58:37Z","author":{"name":"Chris Gavin","email":"chris@chrisgavin.me"},"committer":{"name":"GitHub","email":"noreply@github.com"}},"repository":{"id":835945165,"node_id":"R_kgDOMdOCzQ","name":"workflow-rerun-test","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":106371861,"node_id":"O_kgDOBlcbFQ","avatar_url":"https://avatars.githubusercontent.com/u/106371861?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":null,"fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments"},"head_repository":{"id":835945165,"node_id":"R_kgDOMdOCzQ","name":"workflow-rerun-test","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":106371861,"node_id":"O_kgDOBlcbFQ","avatar_url":"https://avatars.githubusercontent.com/u/106371861?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":null,"fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments"}}
https
POST
api.github.com
None
/repos/PyGithub/PyGithub/actions/runs/3881497935/rerun-failed-jobs
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
201
[('Date', 'Tue, 30 Jul 2024 21:36:34 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '2'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With'), ('ETag', '"225009617840f2ecf458d50358d8c01565f3c55bfbcbedba0438385489d37bef"'), ('X-OAuth-Scopes', 'admin:enterprise, admin:org, admin:repo_hook, codespace, copilot, delete:packages, delete_repo, gist, read:project, repo, user, workflow, write:packages'), ('X-Accepted-OAuth-Scopes', ''), ('github-authentication-token-expiration', '2024-09-05 20:23:57 UTC'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4946'), ('X-RateLimit-Reset', '1722377635'), ('X-RateLimit-Used', '54'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Server', 'github.com'), ('X-GitHub-Request-Id', '7FC3:3A1F3A:143AC2:15676A:66A95CE2')]
{}
############################ Copyrights and license ############################
# #
# Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2012 Zearin <zearin@gonk.net> #
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> #
# Copyright 2018 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2018 sfdye <tsfdye@gmail.com> #
# Copyright 2019 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2019 TechnicalPirate <35609336+TechnicalPirate@users.noreply.github.com>#
# Copyright 2019 Wan Liuyang <tsfdye@gmail.com> #
# Copyright 2020 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2021 Steve Kowalik <steven@wedontsleep.org> #
# Copyright 2021 karsten-wagner <39054096+karsten-wagner@users.noreply.github.com>#
# Copyright 2023 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Caleb McCombs <caleb@mccombalot.net> #
# #
# This file is part of PyGithub. #
# http://pygithub.readthedocs.io/ #
# #
# PyGithub is free software: you can redistribute it and/or modify it under #
# the terms of the GNU Lesser General Public License as published by the Free #
# Software Foundation, either version 3 of the License, or (at your option) #
# any later version. #
# #
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
# details. #
# #
# You should have received a copy of the GNU Lesser General Public License #
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
# #
################################################################################
from . import Framework
class SecurityAndAnalysis(Framework.TestCase):
def setUp(self):
super().setUp()
self.repo = self.g.get_repo("transmission-web-control/transmission-web-control")
self.maxDiff = None
def testRepoSecurityAndAnalysisAttributes(self):
self.assertEqual(self.repo.security_and_analysis.advanced_security.status, "disabled")
self.assertEqual(self.repo.security_and_analysis.dependabot_security_updates.status, "disabled")
self.assertEqual(self.repo.security_and_analysis.secret_scanning.status, "disabled")
self.assertEqual(self.repo.security_and_analysis.secret_scanning_push_protection.status, "disabled")
self.assertEqual(self.repo.security_and_analysis.secret_scanning_non_provider_patterns.status, "disabled")
self.assertEqual(self.repo.security_and_analysis.secret_scanning_validity_checks.status, "disabled")
def testRepoSecurityAndAnalysisRepresentation(self):
self.assertEqual(
repr(self.repo.security_and_analysis),
"SecurityAndAnalysis("
'secret_scanning_validity_checks="SecurityAndAnalysisFeature(status="disabled")", '
'secret_scanning_push_protection="SecurityAndAnalysisFeature(status="disabled")", '
'secret_scanning_non_provider_patterns="SecurityAndAnalysisFeature(status="disabled")", '
'secret_scanning="SecurityAndAnalysisFeature(status="disabled")", '
'dependabot_security_updates="SecurityAndAnalysisFeature(status="disabled")", '
'advanced_security="SecurityAndAnalysisFeature(status="disabled")")',
)
+9
-3

@@ -23,4 +23,4 @@ name: CI

matrix:
# keep it sync with tox.ini [gh-actions] section
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12-dev"]
# keep in sync with tox.ini [gh-actions] section
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
os: ["ubuntu-latest"]

@@ -50,8 +50,14 @@ os-label: ["Ubuntu"]

name: "Test success"
if: always()
runs-on: ubuntu-latest
needs: [test]
steps:
- name: "Noop"
- name: "Success"
if: needs.test.result == 'success'
run: true
shell: bash
- name: "Failure"
if: needs.test.result != 'success'
run: false
shell: bash

@@ -58,0 +64,0 @@ draft:

@@ -18,2 +18,4 @@ ############################ Copyrights and license ############################

# Copyright 2024 Aiden Grossman <agrossman154@yahoo.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jacky Lam <jacky.lam@r2studiohk.com> #
# #

@@ -38,2 +40,4 @@ # This file is part of PyGithub. #

.DS_Store
*.pyc

@@ -40,0 +44,0 @@ .eggs/

@@ -20,3 +20,3 @@ default_language_version:

- id: pyupgrade
args: ["--py37-plus"]
args: ["--py38-plus"]

@@ -23,0 +23,0 @@ - repo: https://github.com/astral-sh/ruff-pre-commit

@@ -119,2 +119,4 @@ Authentication

.. code-block:: python
>>> g = Github()

@@ -130,2 +132,4 @@ >>> app = g.get_oauth_application(client_id, client_secret)

.. code-block:: python
>>> g = Github()

@@ -137,2 +141,4 @@ >>> app = g.get_oauth_application(client_id, client_secret)

.. code-block:: python
>>> auth = app.get_app_user_auth(token)

@@ -139,0 +145,0 @@ >>> g = Github(auth=auth)

@@ -22,2 +22,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -24,0 +25,0 @@ # #

@@ -8,2 +8,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -10,0 +11,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -8,2 +8,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -10,0 +11,0 @@ # #

@@ -24,2 +24,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -26,0 +27,0 @@ # #

@@ -9,2 +9,3 @@ ############################ Copyrights and license ############################

# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Jonathan Kliem <jonathan.kliem@gmail.com> #
# #

@@ -77,3 +78,19 @@ # This file is part of PyGithub. #

def authentication(self, headers: dict) -> None:
"""
Add authorization to the headers.
"""
headers["Authorization"] = f"{self.token_type} {self.token}"
def mask_authentication(self, headers: dict) -> None:
"""
Mask header, e.g. for logging.
"""
headers["Authorization"] = self._masked_token
@property
def _masked_token(self) -> str:
return "(unknown auth removed)"
class HTTPBasicAuth(Auth, abc.ABC):

@@ -102,3 +119,7 @@ @property

@property
def _masked_token(self) -> str:
return "Basic (login and password removed)"
class Login(HTTPBasicAuth):

@@ -149,3 +170,7 @@ """

@property
def _masked_token(self) -> str:
return "token (oauth token removed)"
class JWT(Auth, ABC):

@@ -348,3 +373,7 @@ """

@property
def _masked_token(self) -> str:
return "token (oauth token removed)"
class AppUserAuth(Auth, WithRequester["AppUserAuth"]):

@@ -468,3 +497,7 @@ """

@property
def _masked_token(self) -> str:
return "Bearer (jwt removed)"
class NetrcAuth(HTTPBasicAuth, WithRequester["NetrcAuth"]):

@@ -471,0 +504,0 @@ """

@@ -50,2 +50,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 chantra <chantra@users.noreply.github.com> #
# Copyright 2024 Chris Wells <ping@cwlls.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #

@@ -571,2 +572,3 @@ # Copyright 2024 Oskar Jansson <56458534+janssonoskar@users.noreply.github.com>#

has_projects: Opt[bool] = NotSet,
has_discussions: Opt[bool] = NotSet,
auto_init: Opt[bool] = NotSet,

@@ -591,2 +593,3 @@ license_template: Opt[str] = NotSet,

assert is_optional(has_projects, bool), has_projects
assert is_optional(has_discussions, bool), has_discussions
assert is_optional(auto_init, bool), auto_init

@@ -609,2 +612,3 @@ assert is_optional(license_template, str), license_template

"has_projects": has_projects,
"has_discussions": has_discussions,
"auto_init": auto_init,

@@ -611,0 +615,0 @@ "license_template": license_template,

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -10,2 +10,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -12,0 +13,0 @@ # #

@@ -8,2 +8,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -10,0 +11,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -10,2 +10,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -12,0 +13,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -7,2 +7,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -9,0 +10,0 @@ # #

@@ -7,2 +7,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -9,0 +10,0 @@ # #

@@ -8,2 +8,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -10,0 +11,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -24,3 +24,5 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 iarspider <iarspider@gmail.com> #
# #

@@ -89,3 +91,2 @@ # This file is part of PyGithub. #

self._committer: Attribute[NamedUser] = NotSet
self._files: Attribute[list[File]] = NotSet
self._html_url: Attribute[str] = NotSet

@@ -120,6 +121,17 @@ self._parents: Attribute[list[Commit]] = NotSet

# This should be a method, but this used to be a property and cannot be changed without breaking user code
# TODO: remove @property on version 3
@property
def files(self) -> list[File]:
self._completeIfNotSet(self._files)
return self._files.value
def files(self) -> PaginatedList[File]:
return PaginatedList(
github.File.File,
self._requester,
self.url,
{},
None,
"files",
"total_files",
self.raw_data,
self.raw_headers,
)

@@ -295,4 +307,2 @@ @property

self._committer = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["committer"])
if "files" in attributes: # pragma no branch
self._files = self._makeListOfClassesAttribute(github.File.File, attributes["files"])
if "html_url" in attributes: # pragma no branch

@@ -299,0 +309,0 @@ self._html_url = self._makeStringAttribute(attributes["html_url"])

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -24,2 +24,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -26,0 +27,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 YugoHino <henom06@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 alson <git@alm.nufan.net> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -7,2 +7,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 alson <git@alm.nufan.net> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -9,0 +10,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 alson <git@alm.nufan.net> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 alson <git@alm.nufan.net> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -24,2 +24,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -26,0 +27,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -10,2 +10,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 chantra <chantra@users.noreply.github.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -12,0 +13,0 @@ # #

@@ -29,2 +29,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -31,0 +32,0 @@ # #

@@ -7,2 +7,4 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Austin Sasko <austintyler0239@yahoo.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -88,3 +90,3 @@ # #

def increment(
def increment( # type: ignore[override]
self,

@@ -91,0 +93,0 @@ method: Optional[str] = None,

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -36,2 +36,4 @@ ############################ Copyrights and license ############################

# Copyright 2023 Wojciech Barczyński <104033489+WojciechBarczynski@users.noreply.github.com>#
# Copyright 2024 Benjamin K <53038537+treee111@users.noreply.github.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -65,3 +67,3 @@ # #

import github.NamedUser
from github.GithubObject import Attribute, CompletableGithubObject, NotSet, Opt
from github.GithubObject import Attribute, CompletableGithubObject, NotSet, Opt, is_optional
from github.PaginatedList import PaginatedList

@@ -185,3 +187,3 @@

"""
:calls: `DELETE /repos/{owner}/{repo}/releases/{release_id} <https://docs.github.com/en/rest/reference/repos#delete-a-release>`_
:calls: `DELETE /repos/{owner}/{repo}/releases/{release_id} <https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#delete-a-release>`_
"""

@@ -198,10 +200,8 @@ headers, data = self._requester.requestJsonAndCheck("DELETE", self.url)

target_commitish: Opt[str] = NotSet,
make_latest: Opt[str] = NotSet,
discussion_category_name: Opt[str] = NotSet,
) -> GitRelease:
"""
:calls: `PATCH /repos/{owner}/{repo}/releases/{release_id} <https://docs.github.com/en/rest/reference/repos#update-a-release>`_
:calls: `PATCH /repos/{owner}/{repo}/releases/{release_id} <https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#update-a-release>`_
"""
assert tag_name is NotSet or isinstance(tag_name, str), "tag_name must be a str/unicode object"
assert target_commitish is NotSet or isinstance(
target_commitish, str
), "target_commitish must be a str/unicode object"
assert isinstance(name, str), name

@@ -211,2 +211,7 @@ assert isinstance(message, str), message

assert isinstance(prerelease, bool), prerelease
assert is_optional(tag_name, str), "tag_name must be a str/unicode object"
assert is_optional(target_commitish, str), "target_commitish must be a str/unicode object"
assert make_latest in ["true", "false", "legacy", NotSet], make_latest
assert is_optional(discussion_category_name, str), discussion_category_name
# default tag_name with instance attribute if not given to the method
if tag_name is NotSet:

@@ -225,2 +230,6 @@ tag_name = self.tag_name

post_parameters["target_commitish"] = target_commitish
if make_latest is not NotSet:
post_parameters["make_latest"] = make_latest
if discussion_category_name is not NotSet:
post_parameters["discussion_category_name"] = discussion_category_name
headers, data = self._requester.requestJsonAndCheck("PATCH", self.url, input=post_parameters)

@@ -233,3 +242,3 @@ return github.GitRelease.GitRelease(self._requester, headers, data, completed=True)

"""
:calls: `POST https://<upload_url>/repos/{owner}/{repo}/releases/{release_id}/assets <https://docs.github.com/en/rest/reference/repos#upload-a-release-asset>`_
:calls: `POST https://<upload_url>/repos/{owner}/{repo}/releases/{release_id}/assets <https://docs.github.com/en/rest/releases/assets?apiVersion=2022-11-28#upload-a-release-assett>`_
"""

@@ -294,3 +303,3 @@ assert isinstance(path, str), path

"""
:calls: `GET /repos/{owner}/{repo}/releases/{release_id}/assets <https://docs.github.com/en/rest/reference/repos#list-release-assets>`_
:calls: `GET /repos/{owner}/{repo}/releases/{release_id}/assets <https://docs.github.com/en/rest/releases/assets?apiVersion=2022-11-28#get-a-release-asset>`_
"""

@@ -297,0 +306,0 @@ return github.PaginatedList.PaginatedList(

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -7,2 +7,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -9,0 +10,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -15,2 +15,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -17,0 +18,0 @@ # #

@@ -17,2 +17,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -19,0 +20,0 @@ # #

@@ -15,2 +15,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -17,0 +18,0 @@ # #

@@ -22,2 +22,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -24,0 +25,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -25,2 +25,4 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Arash Kadkhodaei <arash77.kad@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -75,2 +77,3 @@ # #

self._issue_url: Attribute[str] = NotSet
self._node_id: Attribute[str] = NotSet
self._updated_at: Attribute[datetime] = NotSet

@@ -106,2 +109,7 @@ self._url: Attribute[str] = NotSet

@property
def node_id(self) -> str:
self._completeIfNotSet(self._node_id)
return self._node_id.value
@property
def updated_at(self) -> datetime:

@@ -191,2 +199,34 @@ self._completeIfNotSet(self._updated_at)

def minimize(self, reason: str = "OUTDATED") -> bool:
"""
:calls: `POST /graphql <https://docs.github.com/en/graphql>`_ with a mutation to minimize comment
<https://docs.github.com/en/graphql/reference/mutations#minimizecomment>
"""
assert isinstance(reason, str), reason
variables = {
"subjectId": self.node_id,
"classifier": reason,
}
_, data = self._requester.graphql_named_mutation(
mutation_name="minimize_comment",
variables={"input": NotSet.remove_unset_items(variables)},
output="minimizedComment { isMinimized }",
)
return data["data"]["minimizeComment"]["minimizedComment"]["isMinimized"] is True
def unminimize(self) -> bool:
"""
:calls: `POST /graphql <https://docs.github.com/en/graphql>`_ with a mutation to unminimize comment
<https://docs.github.com/en/graphql/reference/mutations#unminimizecomment>
"""
variables = {
"subjectId": self.node_id,
}
_, data = self._requester.graphql_named_mutation(
mutation_name="unminimize_comment",
variables={"input": NotSet.remove_unset_items(variables)},
output="unminimizedComment { isMinimized }",
)
return data["data"]["unminimizeComment"]["unminimizedComment"]["isMinimized"] is False
def _useAttributes(self, attributes: dict[str, Any]) -> None:

@@ -201,2 +241,4 @@ if "body" in attributes: # pragma no branch

self._issue_url = self._makeStringAttribute(attributes["issue_url"])
if "node_id" in attributes: # pragma no branch
self._node_id = self._makeStringAttribute(attributes["node_id"])
if "updated_at" in attributes: # pragma no branch

@@ -203,0 +245,0 @@ self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"])

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -16,2 +16,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -18,0 +19,0 @@ # #

@@ -22,2 +22,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -24,0 +25,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -72,2 +72,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 chantra <chantra@users.noreply.github.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -74,0 +75,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -25,2 +25,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -27,0 +28,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -5,2 +5,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 YugoHino <henom06@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -7,0 +8,0 @@ # #

@@ -34,2 +34,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -36,0 +37,0 @@ # #

@@ -22,3 +22,5 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Matthias Bilger <matthias@bilger.info> #
# #

@@ -133,2 +135,11 @@ # This file is part of PyGithub. #

def mark_as_done(self) -> None:
"""
:calls: `DELETE /notifications/threads/{id} <https://docs.github.com/en/rest/reference/activity#notifications>`_
"""
headers, data = self._requester.requestJsonAndCheck(
"DELETE",
self.url,
)
def get_pull_request(self) -> github.PullRequest.PullRequest:

@@ -135,0 +146,0 @@ headers, data = self._requester.requestJsonAndCheck("GET", self.subject.url)

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -5,2 +5,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Mauricio Alejandro Martínez Pacheco <mauricio.martinez@premise.com>#
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -7,0 +8,0 @@ # Copyright 2024 Thomas Crowley <15927917+thomascrowley@users.noreply.github.com>#

@@ -5,2 +5,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Mauricio Alejandro Martínez Pacheco <mauricio.martinez@premise.com>#
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -7,0 +8,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -26,2 +26,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -28,0 +29,0 @@ # #

@@ -25,2 +25,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -27,0 +28,0 @@ # #

@@ -28,2 +28,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -30,0 +31,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -47,3 +47,6 @@ ############################ Copyrights and license ############################

# Copyright 2023 vanya20074 <vanya20074@gmail.com> #
# Copyright 2024 Austin Sasko <austintyler0239@yahoo.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Kobbi Gal <85439776+kgal-pan@users.noreply.github.com> #
# #

@@ -104,2 +107,3 @@ # This file is part of PyGithub. #

if TYPE_CHECKING:
from github.GitRef import GitRef
from github.NamedUser import NamedUser

@@ -767,2 +771,20 @@

def restore_branch(self) -> GitRef:
"""
Convenience function that calls :meth:`Repository.create_git_ref` :rtype: :class:`github.GitRef.GitRef`
"""
return self.head.repo.create_git_ref(f"refs/heads/{self.head.ref}", sha=self.head.sha)
def delete_branch(self, force: bool = False) -> None:
"""
Convenience function that calls :meth:`GitRef.delete` :rtype: bool.
"""
if not force:
remaining_pulls = self.head.repo.get_pulls(head=self.head.ref)
if remaining_pulls.totalCount > 0:
raise RuntimeError(
"This branch is referenced by open pull requests, set force=True to delete this branch."
)
return self.head.repo.get_git_ref(f"heads/{self.head.ref}").delete()
def enable_automerge(

@@ -802,3 +824,3 @@ self,

mutation_name="enable_pull_request_auto_merge",
variables=NotSet.remove_unset_items(variables),
variables={"input": NotSet.remove_unset_items(variables)},
output="actor { avatarUrl login resourcePath url } clientMutationId",

@@ -827,3 +849,3 @@ )

mutation_name="disable_pull_request_auto_merge",
variables=NotSet.remove_unset_items(variables),
variables={"input": NotSet.remove_unset_items(variables)},
output="actor { avatarUrl login resourcePath url } clientMutationId",

@@ -839,2 +861,3 @@ )

sha: Opt[str] = NotSet,
delete_branch: bool = False,
) -> github.PullRequestMergeStatus.PullRequestMergeStatus:

@@ -852,2 +875,5 @@ """

headers, data = self._requester.requestJsonAndCheck("PUT", f"{self.url}/merge", input=post_parameters)
if delete_branch:
self.delete_branch()
return github.PullRequestMergeStatus.PullRequestMergeStatus(self._requester, headers, data, completed=True)

@@ -854,0 +880,0 @@

@@ -26,2 +26,4 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Den Stroebel <stroebs@users.noreply.github.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -81,2 +83,3 @@ # #

self._pull_request_url: Attribute[str] = NotSet
self._pull_request_review_id: Attribute[int] = NotSet
self._updated_at: Attribute[datetime] = NotSet

@@ -141,2 +144,7 @@ self._url: Attribute[str] = NotSet

@property
def pull_request_review_id(self) -> int:
self._completeIfNotSet(self._pull_request_review_id)
return self._pull_request_review_id.value
@property
def pull_request_url(self) -> str:

@@ -255,2 +263,4 @@ self._completeIfNotSet(self._pull_request_url)

self._position = self._makeIntAttribute(attributes["position"])
if "pull_request_review_id" in attributes: # pragma no branch
self._pull_request_review_id = self._makeIntAttribute(attributes["pull_request_review_id"])
if "pull_request_url" in attributes: # pragma no branch

@@ -257,0 +267,0 @@ self._pull_request_url = self._makeStringAttribute(attributes["pull_request_url"])

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -25,3 +25,5 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Ramiro Morales <ramiro@users.noreply.github.com> #
# #

@@ -62,5 +64,7 @@ # This file is part of PyGithub. #

def _initAttributes(self) -> None:
self._added_by: Attribute[str] = NotSet
self._created_at: Attribute[datetime] = NotSet
self._id: Attribute[int] = NotSet
self._key: Attribute[str] = NotSet
self._last_used: Attribute[datetime] = NotSet
self._title: Attribute[str] = NotSet

@@ -75,2 +79,7 @@ self._url: Attribute[str] = NotSet

@property
def added_by(self) -> str:
self._completeIfNotSet(self._added_by)
return self._added_by.value
@property
def created_at(self) -> datetime:

@@ -91,2 +100,7 @@ self._completeIfNotSet(self._created_at)

@property
def last_used(self) -> datetime:
self._completeIfNotSet(self._last_used)
return self._last_used.value
@property
def title(self) -> str:

@@ -118,2 +132,4 @@ self._completeIfNotSet(self._title)

def _useAttributes(self, attributes: Dict[str, Any]) -> None:
if "added_by" in attributes: # pragma no branch
self._added_by = self._makeStringAttribute(attributes["added_by"])
if "created_at" in attributes: # pragma no branch

@@ -125,2 +141,5 @@ self._created_at = self._makeDatetimeAttribute(attributes["created_at"])

self._key = self._makeStringAttribute(attributes["key"])
if "last_used" in attributes: # pragma no branch
assert attributes["last_used"] is None or isinstance(attributes["last_used"], str), attributes["last_used"]
self._last_used = self._makeDatetimeAttribute(attributes["last_used"])
if "title" in attributes: # pragma no branch

@@ -127,0 +146,0 @@ self._title = self._makeStringAttribute(attributes["title"])

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -57,2 +57,4 @@ ############################ Copyrights and license ############################

# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Jonathan Kliem <jonathan.kliem@gmail.com> #
# Copyright 2024 Kobbi Gal <85439776+kgal-pan@users.noreply.github.com> #
# #

@@ -458,3 +460,3 @@ # This file is part of PyGithub. #

@staticmethod
# replace with str.removesuffix once support for Python 3.7 is dropped
# replace with str.removesuffix once support for Python 3.8 is dropped
def remove_suffix(string: str, suffix: str) -> str:

@@ -577,3 +579,3 @@ if string.endswith(suffix):

"""
input_ = {"query": query, "variables": {"input": variables}}
input_ = {"query": query, "variables": variables}

@@ -801,3 +803,3 @@ response_headers, data = self.requestJsonAndCheck("POST", self.graphql_url, input=input_)

if self.__auth is not None:
requestHeaders["Authorization"] = f"{self.__auth.token_type} {self.__auth.token}"
self.__auth.authentication(requestHeaders)
requestHeaders["User-Agent"] = self.__userAgent

@@ -992,13 +994,4 @@

headersForRequest = requestHeaders.copy()
if "Authorization" in requestHeaders:
if requestHeaders["Authorization"].startswith("Basic"):
headersForRequest["Authorization"] = "Basic (login and password removed)"
elif requestHeaders["Authorization"].startswith("token"):
headersForRequest["Authorization"] = "token (oauth token removed)"
elif requestHeaders["Authorization"].startswith("Bearer"):
headersForRequest["Authorization"] = "Bearer (jwt removed)"
else: # pragma no cover (Cannot happen, but could if we add an authentication method => be prepared)
headersForRequest[
"Authorization"
] = "(unknown auth removed)" # pragma no cover (Cannot happen, but could if we add an authentication method => be prepared)
if self.__auth:
self.__auth.mask_authentication(headersForRequest)
self._logger.debug(

@@ -1005,0 +998,0 @@ "%s %s://%s%s %s %s ==> %i %s %s",

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -13,2 +13,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -15,0 +16,0 @@ # #

@@ -22,2 +22,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -24,0 +25,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -20,0 +21,0 @@ # #

@@ -16,2 +16,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -18,0 +19,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -23,0 +24,0 @@ # #

@@ -24,2 +24,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -26,0 +27,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

@@ -6,2 +6,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Mauricio Alejandro Martínez Pacheco <mauricio.martinez@premise.com>#
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -8,0 +9,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -21,0 +22,0 @@ # #

@@ -23,2 +23,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 sd-kialo <138505487+sd-kialo@users.noreply.github.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -25,0 +26,0 @@ # #

@@ -7,2 +7,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -9,0 +10,0 @@ # Copyright 2024 Xavi Vega <xabi1309@gmail.com> #

@@ -13,2 +13,4 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Chris Gavin <chris@chrisgavin.me> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -262,2 +264,9 @@ # #

def rerun_failed_jobs(self) -> bool:
"""
:calls: `POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs <https://docs.github.com/en/rest/reference/actions#workflow-runs>`_
"""
status, _, _ = self._requester.requestJson("POST", f"{self.url}/rerun-failed-jobs")
return status == 201
def timing(self) -> TimingData:

@@ -264,0 +273,0 @@ """

@@ -20,2 +20,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -22,0 +23,0 @@ # #

Metadata-Version: 2.1
Name: PyGithub
Version: 2.3.0
Version: 2.4.0
Summary: Use the full Github API v3

@@ -17,3 +17,2 @@ Author-email: Vincent Jacques <vincent@vincent-jacques.net>

Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8

@@ -23,4 +22,5 @@ Classifier: Programming Language :: Python :: 3.9

Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Requires-Python: >=3.7
Requires-Python: >=3.8
Description-Content-Type: text/markdown

@@ -100,3 +100,3 @@ License-File: COPYING

[CONTRIBUTING.md]: /CONTRIBUTING.md
[CONTRIBUTING.md]: https://github.com/PyGithub/PyGithub/blob/main/CONTRIBUTING.md

@@ -103,0 +103,0 @@ ### Maintainership

Metadata-Version: 2.1
Name: PyGithub
Version: 2.3.0
Version: 2.4.0
Summary: Use the full Github API v3

@@ -17,3 +17,2 @@ Author-email: Vincent Jacques <vincent@vincent-jacques.net>

Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8

@@ -23,4 +22,5 @@ Classifier: Programming Language :: Python :: 3.9

Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Requires-Python: >=3.7
Requires-Python: >=3.8
Description-Content-Type: text/markdown

@@ -100,3 +100,3 @@ License-File: COPYING

[CONTRIBUTING.md]: /CONTRIBUTING.md
[CONTRIBUTING.md]: https://github.com/PyGithub/PyGithub/blob/main/CONTRIBUTING.md

@@ -103,0 +103,0 @@ ### Maintainership

@@ -145,2 +145,3 @@ .git-blame-ignore-revs

github/Organization.py
github/OrganizationCustomProperty.py
github/OrganizationDependabotAlert.py

@@ -174,2 +175,4 @@ github/OrganizationSecret.py

github/Secret.py
github/SecurityAndAnalysis.py
github/SecurityAndAnalysisFeature.py
github/SelfHostedActionsRunner.py

@@ -321,2 +324,3 @@ github/SourceImport.py

tests/Search.py
tests/SecurityAndAnalysis.py
tests/SelfHostedActionsRunner.py

@@ -472,2 +476,3 @@ tests/SourceImport.py

tests/ReplayData/Commit.setUp.txt
tests/ReplayData/Commit.testAttributes.txt
tests/ReplayData/Commit.testCreateComment.txt

@@ -715,2 +720,4 @@ tests/ReplayData/Commit.testCreateCommentOnFileLine.txt

tests/ReplayData/IssueComment.testGetReactions.txt
tests/ReplayData/IssueComment.testMinimize.txt
tests/ReplayData/IssueComment.testUnminimize.txt
tests/ReplayData/IssueEvent.setUp.txt

@@ -775,2 +782,3 @@ tests/ReplayData/Label.setUp.txt

tests/ReplayData/Notification.setUp.txt
tests/ReplayData/Notification.testMarkAsDone.txt
tests/ReplayData/Notification.testMarkAsRead.txt

@@ -781,2 +789,5 @@ tests/ReplayData/Organization.setUp.txt

tests/ReplayData/Organization.testCreateActionsSecret.txt
tests/ReplayData/Organization.testCreateCustomProperties.txt
tests/ReplayData/Organization.testCreateCustomProperty.txt
tests/ReplayData/Organization.testCreateCustomPropertyValues.txt
tests/ReplayData/Organization.testCreateDependabotSecret.txt

@@ -803,2 +814,4 @@ tests/ReplayData/Organization.testCreateDependabotSecretSelected.txt

tests/ReplayData/Organization.testEditWithoutArguments.txt
tests/ReplayData/Organization.testGetCustomProperties.txt
tests/ReplayData/Organization.testGetCustomProperty.txt
tests/ReplayData/Organization.testGetDependabotAlerts.txt

@@ -834,2 +847,3 @@ tests/ReplayData/Organization.testGetDependabotAlertsWithAllArguments.txt

tests/ReplayData/Organization.testIssue2030CreateProject.txt
tests/ReplayData/Organization.testListCustomPropertyValues.txt
tests/ReplayData/Organization.testMembers.txt

@@ -841,2 +855,3 @@ tests/ReplayData/Organization.testOrgGetSecretAssertion.txt

tests/ReplayData/Organization.testPublicMembers.txt
tests/ReplayData/Organization.testRemoveCustomProperty.txt
tests/ReplayData/Organization1437.setUp.txt

@@ -923,2 +938,4 @@ tests/ReplayData/Organization1437.testCreateProject.txt

tests/ReplayData/PullRequest.testDeleteAndSetLabelsWithStringArguments.txt
tests/ReplayData/PullRequest.testDeleteBranch.txt
tests/ReplayData/PullRequest.testDeleteOnMerge.txt
tests/ReplayData/PullRequest.testDisableAutomerge.txt

@@ -930,2 +947,3 @@ tests/ReplayData/PullRequest.testEditWithAllArguments.txt

tests/ReplayData/PullRequest.testEnableAutomergeError.txt
tests/ReplayData/PullRequest.testForceDeleteBranch.txt
tests/ReplayData/PullRequest.testGetComments.txt

@@ -941,2 +959,3 @@ tests/ReplayData/PullRequest.testGetCommits.txt

tests/ReplayData/PullRequest.testMergeWithCommitMessage.txt
tests/ReplayData/PullRequest.testRestoreBranch.txt
tests/ReplayData/PullRequest.testReviewRequests.txt

@@ -1061,2 +1080,3 @@ tests/ReplayData/PullRequest.testUpdateBranch.txt

tests/ReplayData/Repository.testGetContributors.txt
tests/ReplayData/Repository.testGetCustomProperties.txt
tests/ReplayData/Repository.testGetDeployments.txt

@@ -1126,2 +1146,3 @@ tests/ReplayData/Repository.testGetDownloads.txt

tests/ReplayData/Repository.testUnsubscribePubSubHubbub.txt
tests/ReplayData/Repository.testUpdateCustomProperties.txt
tests/ReplayData/Repository.testUpdateFile.txt

@@ -1170,2 +1191,3 @@ tests/ReplayData/RepositoryAdvisory.setUp.txt

tests/ReplayData/Search.testUrlquotingOfQuery.txt
tests/ReplayData/SecurityAndAnalysis.setUp.txt
tests/ReplayData/SelfHostedActionsRunner.setUp.txt

@@ -1218,3 +1240,4 @@ tests/ReplayData/SelfHostedActionsRunner.testAttributes.txt

tests/ReplayData/WorkflowRun.test_rerun.txt
tests/ReplayData/WorkflowRun.test_rerun_failed_jobs.txt
tests/ReplayData/WorkflowRun.test_rerun_with_successful_run.txt
tests/ReplayData/WorkflowRun.test_timing.txt

@@ -15,3 +15,2 @@ [build-system]

"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",

@@ -21,2 +20,3 @@ "Programming Language :: Python :: 3.9",

"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development",

@@ -28,3 +28,3 @@ ]

readme = "README.md"
requires-python = ">=3.7"
requires-python = ">=3.8"

@@ -59,3 +59,3 @@ dynamic = ["version"]

[tool.mypy]
python_version = '3.7'
python_version = '3.8'
ignore_missing_imports = true

@@ -62,0 +62,0 @@ namespace_packages = true

@@ -64,3 +64,3 @@ # PyGitHub

[CONTRIBUTING.md]: /CONTRIBUTING.md
[CONTRIBUTING.md]: https://github.com/PyGithub/PyGithub/blob/main/CONTRIBUTING.md

@@ -67,0 +67,0 @@ ### Maintainership

@@ -21,2 +21,3 @@ #!/usr/bin/env python

# Copyright 2023 Trim21 <trim21.me@gmail.com> #
# Copyright 2024 Jacky Lam <jacky.lam@r2studiohk.com> #
# #

@@ -77,2 +78,8 @@ # This file is part of PyGithub. #

),
"dict": (
"dict[" + attributeClassType + "]",
None,
'self._makeDictAttribute(attributes["' + attributeName + '"])',
"dict[" + attributeClassType + "]",
),
"class": (

@@ -79,0 +86,0 @@ ":class:`" + attributeClassType + "`",

@@ -143,3 +143,3 @@ #!/usr/bin/env python

dirs.remove(dir)
for excluded in ["developer.github.com", "build", "venv", "PyGithub.egg-info", "requirements"]:
for excluded in ["developer.github.com", "build", "venv", "PyGithub.egg-info", "requirements", "pre-commit"]:
if excluded in dirs:

@@ -146,0 +146,0 @@ dirs.remove(excluded)

@@ -31,2 +31,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Chris Wells <ping@cwlls.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #

@@ -369,2 +370,3 @@ # Copyright 2024 Oskar Jansson <56458534+janssonoskar@users.noreply.github.com>#

has_wiki=False,
has_discussions=False,
has_downloads=False,

@@ -371,0 +373,0 @@ allow_squash_merge=False,

@@ -21,2 +21,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 chantra <chantra@users.noreply.github.com> #
# Copyright 2024 Jonathan Kliem <jonathan.kliem@gmail.com> #
# #

@@ -45,2 +46,3 @@ # This file is part of PyGithub. #

from unittest import mock
from unittest.mock import Mock

@@ -50,2 +52,3 @@ import jwt

import github
from github.Auth import Auth

@@ -335,1 +338,30 @@ from . import Framework

g.get_user().name
def testAddingCustomHeaders(self):
requester = github.Github(auth=CustomAuth())._Github__requester
def requestRaw(cnx, verb, url, requestHeaders, encoded_input):
self.modifiedHeaders = requestHeaders
return Mock(), {}, Mock()
requester._Requester__requestRaw = requestRaw
requestHeaders = {"Custom key": "secret"}
requester._Requester__requestEncode(None, "GET", "http://github.com", None, requestHeaders, None, Mock())
self.assertEqual("Custom token", self.modifiedHeaders["Custom key"])
class CustomAuth(Auth):
@property
def token_type(self) -> str:
return "custom auth"
@property
def token(self) -> str:
return "Custom token"
def authentication(self, headers):
headers["Custom key"] = self.token
def mask_authentication(self, headers):
headers["Custom key"] = "Masked custom header"

@@ -16,2 +16,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 iarspider <iarspider@gmail.com> #
# #

@@ -105,3 +106,3 @@ # This file is part of PyGithub. #

with self.assertRaises(github.BadAttributeException) as raisedexp:
commit.files
commit.parents
self.assertEqual(raisedexp.exception.actual_value, [42])

@@ -108,0 +109,0 @@ self.assertEqual(raisedexp.exception.expected_type, [dict])

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 iarspider <iarspider@gmail.com> #
# #

@@ -54,3 +55,4 @@ # This file is part of PyGithub. #

self.assertEqual(self.commit.committer.login, "jacquev6")
self.assertEqual(len(self.commit.files), 1)
self.assertEqual(len(list(self.commit.files)), 1)
self.assertEqual(self.commit.files.totalCount, 1)
self.assertEqual(self.commit.files[0].additions, 0)

@@ -57,0 +59,0 @@ self.assertEqual(

@@ -5,2 +5,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Joseph Henrich <crimsonknave@gmail.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jirka Borovec <6035284+Borda@users.noreply.github.com> #

@@ -7,0 +8,0 @@ # #

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Malik Shahzad Muzaffar <shahzad.malik.muzaffar@cern.ch> #
# Copyright 2024 Arash Kadkhodaei <arash77.kad@gmail.com> #
# #

@@ -50,2 +51,3 @@ # This file is part of PyGithub. #

def testAttributes(self):
self.assertEqual(self.comment.node_id, "IC_kwDOGpsAJ86Gecc_")
self.assertEqual(self.comment.body, "Comment created by PyGithub")

@@ -98,5 +100,8 @@ self.assertEqual(

def testDelete(self):
self.comment.delete()
def testMinimize(self):
self.assertTrue(self.comment.minimize())
def testUnminimize(self):
self.assertTrue(self.comment.unminimize())
def testGetReactions(self):

@@ -114,1 +119,5 @@ reactions = self.comment.get_reactions()

self.assertTrue(self.comment.delete_reaction(85743754))
# this should be the last test as this deletes the comment used above.
def testDelete(self):
self.comment.delete()

@@ -18,2 +18,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Jonathan Kliem <jonathan.kliem@gmail.com> #
# #

@@ -41,2 +42,3 @@ # This file is part of PyGithub. #

from . import Framework
from .Authentication import CustomAuth

@@ -220,1 +222,15 @@

self.assertEqual(requestHeaders["Authorization"], "thisisnotatoken")
def testMaskingOfCustomAuthHeader(self):
requestHeaders = {"Custom key": "secret"}
responseHeaders = {"status": "200 OK"}
github.Github(auth=CustomAuth())._Github__requester._Requester__log(
"GET",
"http://example.com",
requestHeaders,
None,
200,
responseHeaders,
None,
)
self.assertEqual({"Custom key": "Masked custom header"}, self.logger.requestHeaders)

@@ -15,2 +15,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Matthias Bilger <matthias@bilger.info> #
# #

@@ -45,1 +46,4 @@ # This file is part of PyGithub. #

self.notification.mark_as_read()
def testMarkAsDone(self):
self.notification.mark_as_done()

@@ -41,2 +41,3 @@ ############################ Copyrights and license ############################

# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Jacky Lam <jacky.lam@r2studiohk.com> #
# Copyright 2024 Mohamed Mostafa <112487260+mohy01@users.noreply.github.com> #

@@ -69,2 +70,3 @@ # Copyright 2024 Oskar Jansson <56458534+janssonoskar@users.noreply.github.com>#

import github
from github.OrganizationCustomProperty import CustomProperty

@@ -634,1 +636,74 @@ from . import Framework

self.assertEqual(str(exc.exception), "secret_type should be actions or dependabot")
def testCreateCustomProperties(self):
properties = [
CustomProperty(
property_name="property_1",
value_type="string",
required=False,
description="description",
values_editable_by="org_actors",
),
CustomProperty(
property_name="property_2",
value_type="single_select",
required=True,
default_value="bar",
description="Lorem ipsum",
allowed_values=["foo", "bar"],
values_editable_by="org_and_repo_actors",
),
]
properties = self.org.create_custom_properties(properties)
properties_map = {p.property_name: p for p in properties}
property_1 = properties_map["property_1"]
self.assertEqual(property_1.value_type, "string")
property_2 = properties_map["property_2"]
self.assertEqual(property_2.description, "Lorem ipsum")
def testCreateCustomProperty(self):
custom_property = CustomProperty(
property_name="property_1",
value_type="string",
required=True,
default_value="foo",
description="description",
)
created_property = self.org.create_custom_property(custom_property)
self.assertEqual(created_property.property_name, "property_1")
self.assertEqual(created_property.value_type, "string")
self.assertEqual(created_property.required, True)
self.assertEqual(created_property.default_value, "foo")
self.assertEqual(created_property.description, "description")
self.assertEqual(created_property.values_editable_by, "org_actors")
def testGetCustomProperties(self):
properties = self.org.get_custom_properties()
properties_map = {p.property_name: p for p in properties}
self.assertIn("property_1", properties_map)
self.assertIn("property_2", properties_map)
def testGetCustomProperty(self):
custom_property = self.org.get_custom_property("property_1")
self.assertEqual(custom_property.property_name, "property_1")
self.assertEqual(custom_property.value_type, "string")
self.assertEqual(custom_property.required, True)
self.assertEqual(custom_property.default_value, "foo")
self.assertEqual(custom_property.description, "description")
self.assertEqual(custom_property.values_editable_by, "org_actors")
def testCreateCustomPropertyValues(self):
self.org.create_custom_property_values(["TestPyGithub"], {"property_1": "bar"})
self.testListCustomPropertyValues()
def testListCustomPropertyValues(self):
repos = list(self.org.list_custom_property_values("repo:BeaverSoftware/TestPyGithub"))
repos_map = {r.repository_name: r for r in repos}
self.assertIn("TestPyGithub", repos_map)
self.assertIn("property_1", repos_map["TestPyGithub"].properties)
self.assertEqual(repos_map["TestPyGithub"].properties["property_1"], "bar")
def testRemoveCustomProperty(self):
self.org.remove_custom_property("property_1")
with self.assertRaises(github.UnknownObjectException):
self.org.get_custom_property("property_1")

@@ -28,2 +28,4 @@ ############################ Copyrights and license ############################

# Copyright 2023 vanya20074 <vanya20074@gmail.com> #
# Copyright 2024 Austin Sasko <austintyler0239@yahoo.com> #
# Copyright 2024 Den Stroebel <stroebs@users.noreply.github.com> #
# #

@@ -52,3 +54,3 @@ # This file is part of PyGithub. #

from github import GithubException
import github

@@ -73,2 +75,5 @@ from . import Framework

self.delete_restore_repo = self.g.get_repo("austinsasko/PyGithub")
self.delete_restore_pull = self.delete_restore_repo.get_pull(21)
def testAttributesIssue256(self):

@@ -259,2 +264,3 @@ self.assertEqual(

self.assertListKeyEqual(comments, lambda c: c.id, [197784357, 1580134])
self.assertListKeyEqual(comments, lambda c: c.pull_request_review_id, [131593233, None])

@@ -454,2 +460,60 @@ def testReviewRequests(self):

def testDeleteOnMerge(self):
self.assertTrue(self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref))
self.assertFalse(self.delete_restore_pull.is_merged())
status = self.delete_restore_pull.merge(delete_branch=True)
self.assertTrue(status.merged)
self.assertTrue(self.delete_restore_pull.is_merged())
with self.assertRaises(github.GithubException) as raisedexp:
self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref)
self.assertEqual(
raisedexp.exception.data,
{
"documentation_url": "https://docs.github.com/rest/reference/repos#get-a-branch",
"message": "Branch not found",
},
)
def testRestoreBranch(self):
with self.assertRaises(github.GithubException) as raisedexp:
self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref)
self.assertEqual(raisedexp.exception.status, 404)
self.assertEqual(
raisedexp.exception.data,
{
"documentation_url": "https://docs.github.com/rest/reference/repos#get-a-branch",
"message": "Branch not found",
},
)
self.assertTrue(self.delete_restore_pull.restore_branch())
self.assertTrue(self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref))
def testDeleteBranch(self):
self.assertTrue(self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref))
self.delete_restore_pull.delete_branch(force=False)
with self.assertRaises(github.GithubException) as raisedexp:
self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref)
self.assertEqual(raisedexp.exception.status, 404)
self.assertEqual(
raisedexp.exception.data,
{
"documentation_url": "https://docs.github.com/rest/reference/repos#get-a-branch",
"message": "Branch not found",
},
)
def testForceDeleteBranch(self):
self.assertTrue(self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref))
self.assertEqual(self.delete_restore_pull.delete_branch(force=True), None)
with self.assertRaises(github.GithubException) as raisedexp:
self.delete_restore_repo.get_branch(self.delete_restore_pull.head.ref)
self.assertEqual(raisedexp.exception.status, 404)
self.assertEqual(
raisedexp.exception.data,
{
"documentation_url": "https://docs.github.com/rest/reference/repos#get-a-branch",
"message": "Branch not found",
},
)
def testEnableAutomerge(self):

@@ -491,3 +555,3 @@ # To reproduce this, the PR repository need to have the "Allow auto-merge" option enabled

# To reproduce this, the PR repository need to have the "Allow auto-merge" option disabled
with pytest.raises(GithubException) as error:
with pytest.raises(github.GithubException) as error:
self.pull.enable_automerge()

@@ -494,0 +558,0 @@

@@ -7,5 +7,5 @@ https

{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
{"has_wiki": false, "name": "TestPyGithub", "has_downloads": false, "private": false, "has_issues": false, "homepage": "http://foobar.com", "description": "Repo created by PyGithub", "has_projects": false, "allow_squash_merge": false, "allow_merge_commit": false, "allow_rebase_merge": true, "delete_branch_on_merge": false}
{"has_wiki": false, "name": "TestPyGithub", "has_downloads": false, "private": false, "has_issues": false, "homepage": "http://foobar.com", "description": "Repo created by PyGithub", "has_projects": false, "allow_squash_merge": false, "allow_merge_commit": false, "allow_rebase_merge": true, "delete_branch_on_merge": false, "has_discussions": false}
201
[('status', '201 Created'), ('x-ratelimit-remaining', '4979'), ('content-length', '1111'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1c6473a60481c33b28a926041f763fce"'), ('date', 'Sat, 26 May 2012 09:55:27 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/TestPyGithub')]
{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"git_url":"git://github.com/jacquev6/TestPyGithub.git","updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub", "has_projects": false, "allow_squash_merge": false, "allow_merge_commit": false, "allow_rebase_merge": true, "delete_branch_on_merge": false}
{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"git_url":"git://github.com/jacquev6/TestPyGithub.git","updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub", "has_projects": false, "allow_squash_merge": false, "allow_merge_commit": false, "allow_rebase_merge": true, "delete_branch_on_merge": false, "has_discussions": false}

@@ -10,2 +10,2 @@ https

[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '205eb9ed-a173-47a2-b670-16ec266adef5'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '6111'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 01 May 2013 19:03:50 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"50a14a79f7095a8d4fed16d05a4b1412"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 09:09:25 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378980564')]
{"sha":"38d9082a898d0822b5ccdfd78f3a536e2efa6c26","commit":{"author":{"name":"Kevin L. Mitchell","email":"kevin.mitchell@rackspace.com","date":"2013-05-01T19:03:50Z"},"committer":{"name":"Kevin L. Mitchell","email":"kevin.mitchell@rackspace.com","date":"2013-05-01T19:03:50Z"},"message":"Ignore empty configuration values for extra database arguments\n\nTurnstile's functionality to allow the control daemon and the\ncompactor daemon to use different Redis configuration provides\none problem: values that are set in the \"[redis]\" section are\ninherited by all sections, even when that is not desired. To\ncombat this, we now allow an empty value to completely delete\nthe key from the redis configuration in Config.get_database().","tree":{"sha":"83b8ab73bedb67846b47533d1bac7767ac325dc8","url":"https://api.github.com/repos/klmitch/turnstile/git/trees/83b8ab73bedb67846b47533d1bac7767ac325dc8"},"url":"https://api.github.com/repos/klmitch/turnstile/git/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","comment_count":0},"url":"https://api.github.com/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","html_url":"https://github.com/klmitch/turnstile/commit/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","comments_url":"https://api.github.com/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26/comments","author":{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"committer":{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"parents":[{"sha":"e649bcaa580248de40ef6c126fe446a3da514312","url":"https://api.github.com/repos/klmitch/turnstile/commits/e649bcaa580248de40ef6c126fe446a3da514312","html_url":"https://github.com/klmitch/turnstile/commit/e649bcaa580248de40ef6c126fe446a3da514312"}],"stats":{"total":9,"additions":7,"deletions":2},"files":[42]}
{"sha":"38d9082a898d0822b5ccdfd78f3a536e2efa6c26","commit":{"author":{"name":"Kevin L. Mitchell","email":"kevin.mitchell@rackspace.com","date":"2013-05-01T19:03:50Z"},"committer":{"name":"Kevin L. Mitchell","email":"kevin.mitchell@rackspace.com","date":"2013-05-01T19:03:50Z"},"message":"Ignore empty configuration values for extra database arguments\n\nTurnstile's functionality to allow the control daemon and the\ncompactor daemon to use different Redis configuration provides\none problem: values that are set in the \"[redis]\" section are\ninherited by all sections, even when that is not desired. To\ncombat this, we now allow an empty value to completely delete\nthe key from the redis configuration in Config.get_database().","tree":{"sha":"83b8ab73bedb67846b47533d1bac7767ac325dc8","url":"https://api.github.com/repos/klmitch/turnstile/git/trees/83b8ab73bedb67846b47533d1bac7767ac325dc8"},"url":"https://api.github.com/repos/klmitch/turnstile/git/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","comment_count":0},"url":"https://api.github.com/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","html_url":"https://github.com/klmitch/turnstile/commit/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","comments_url":"https://api.github.com/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26/comments","author":{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"committer":{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"parents":[42],"stats":{"total":9,"additions":7,"deletions":2},"files":[]}

@@ -43,2 +43,2 @@ https

[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4fa1a8e8e534bcc93123ea6ee8fd4284"'), ('date', 'Sun, 20 May 2012 11:50:56 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311,"html_url":"https://github.com/jacquev6/PyGithub/issues/28#issuecomment-5808311","reactions":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311/reactions","total_count":2,"+1":1,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}}
{"node_id": "IC_kwDOGpsAJ86Gecc_","updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311,"html_url":"https://github.com/jacquev6/PyGithub/issues/28#issuecomment-5808311","reactions":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311/reactions","total_count":2,"+1":1,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}}

@@ -21,2 +21,2 @@ https

[('status', '200 OK'), ('x-ratelimit-remaining', '4911'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1a93ec821b0bd7094340a9fc34017aa0"'), ('date', 'Sun, 27 May 2012 07:17:09 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","deployments_url":"https://api.github.com/repos/jacquev6/PyGithub/deployments","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}","updated_at":"2012-05-27T06:55:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_pages":false,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T06:00:28Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub", "use_squash_pr_title_as_default": true, "squash_merge_commit_title": "PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "PR_TITLE", "merge_commit_message": "PR_BODY", "web_commit_signoff_required": true, "license": {"key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "spdx_id": "LGPL-3.0", "url": "https://api.github.com/licenses/lgpl-3.0", "node_id": "MDc6TGljZW5zZTEy"}}
{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","deployments_url":"https://api.github.com/repos/jacquev6/PyGithub/deployments","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}","updated_at":"2012-05-27T06:55:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_pages":false,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T06:00:28Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub", "use_squash_pr_title_as_default": true, "squash_merge_commit_title": "PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "PR_TITLE", "merge_commit_message": "PR_BODY", "web_commit_signoff_required": true, "license": {"key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "spdx_id": "LGPL-3.0", "url": "https://api.github.com/licenses/lgpl-3.0", "node_id": "MDc6TGljZW5zZTEy"},"custom_properties": {"foo": "bar"}, "has_discussions": false}

@@ -7,6 +7,6 @@ https

{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
{"has_wiki": false, "name": "PyGithub", "has_issues": true, "homepage": "http://vincent-jacques.net/PyGithub", "private": true, "description": "Description edited by PyGithub", "has_projects": false, "allow_auto_merge": true, "allow_update_branch": true, "allow_forking": true, "allow_squash_merge": true, "allow_merge_commit": true, "allow_rebase_merge": true, "delete_branch_on_merge": true, "is_template": true, "use_squash_pr_title_as_default": true, "squash_merge_commit_title": "PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "PR_TITLE", "merge_commit_message": "PR_BODY", "web_commit_signoff_required": true}
{"has_wiki": false, "name": "PyGithub", "has_issues": true, "homepage": "http://vincent-jacques.net/PyGithub", "private": true, "description": "Description edited by PyGithub", "has_projects": false, "allow_auto_merge": true, "allow_update_branch": true, "allow_forking": true, "allow_squash_merge": true, "allow_merge_commit": true, "allow_rebase_merge": true, "delete_branch_on_merge": true, "is_template": true, "use_squash_pr_title_as_default": true, "squash_merge_commit_title": "PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "PR_TITLE", "merge_commit_message": "PR_BODY", "web_commit_signoff_required": true, "has_discussions": false}
200
[('status', '200 OK'), ('x-ratelimit-remaining', '4953'), ('content-length', '1109'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"749313ec2d171323deb61f9f4c85e84f"'), ('date', 'Sat, 26 May 2012 11:22:13 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"clone_url":"https://github.com/jacquev6/PyGithub.git","watchers":13,"updated_at":"2012-05-26T11:22:13Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"open_issues":16,"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Description edited by PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub", "has_projects": false, "allow_auto_merge": true, "allow_update_branch": true, "allow_forking": true, "allow_squash_merge": true, "allow_merge_commit": true, "allow_rebase_merge": true, "delete_branch_on_merge": true, "is_template": true, "use_squash_pr_title_as_default": true, "squash_merge_commit_title": "PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "PR_TITLE", "merge_commit_message": "PR_BODY", "web_commit_signoff_required": true}
{"clone_url":"https://github.com/jacquev6/PyGithub.git","watchers":13,"updated_at":"2012-05-26T11:22:13Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"open_issues":16,"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Description edited by PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub", "has_projects": false, "allow_auto_merge": true, "allow_update_branch": true, "allow_forking": true, "allow_squash_merge": true, "allow_merge_commit": true, "allow_rebase_merge": true, "delete_branch_on_merge": true, "is_template": true, "use_squash_pr_title_as_default": true, "squash_merge_commit_title": "PR_TITLE", "squash_merge_commit_message": "COMMIT_MESSAGES", "merge_commit_title": "PR_TITLE", "merge_commit_message": "PR_BODY", "web_commit_signoff_required": true, "has_discussions": false}

@@ -22,2 +22,2 @@ https

[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c1328d95af7d85267acb5754968b2c0b"'), ('date', 'Sat, 26 May 2012 11:22:13 GMT'), ('content-type', 'application/json; charset=utf-8')]
{"clone_url":"https://github.com/jacquev6/PyGithub.git","watchers":13,"updated_at":"2012-05-26T11:22:13Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"}
{"clone_url":"https://github.com/jacquev6/PyGithub.git","watchers":13,"updated_at":"2012-05-26T11:22:13Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub", "has_discussions": false}

@@ -32,2 +32,13 @@ https

[('content-length', '563'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a6882e5cd2513376cb9481dbcd83f3a2'), ('x-oauth-scopes', 'admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete_repo, gist, notifications, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"6ed85d5716042ec092f92407b0bdc2c6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'D0B3:615F:8D1E3F1:A96D742:58AD4916'), ('last-modified', 'Wed, 22 Feb 2017 08:16:23 GMT'), ('date', 'Wed, 22 Feb 2017 08:17:26 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1487754126')]
{"id":21870881,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLOoLSVPwG1OSgVSeEXNbfIofYdxR5zs3u4PryhnamfFPYwi2vZW3ZxeI1oRcDh2VEdwGvlN5VUduKJNoOWMVzV2jSyR8CeDHH+I0soQCC7kfJVodU96HcPMzZ6MuVwSfD4BFGvKMXyCnBUqzo28BGHFwVQG8Ya9gL6/cTbuWywgM4xaJgMHv1OVcESXBtBkrqOneTJuOgeEmP0RfUnIAK/3/wbg9mfiBq7JV4cmWAg1xNE8GJoAbci59Tdx1dQgVuuqdQGk5jzNusOVneyMtGEB+p7UpPLJsGBW29rsMt7ITUbXM/kl9v11vPtWb+oOUThoFsDYmsWy7fGGP9YAFB","url":"https://api.github.com/repos/lra/mackup/keys/21870881","title":"PyGithub Test Key","verified":true,"created_at":"2017-02-22T08:16:23Z","read_only":true}
{"id":21870881,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLOoLSVPwG1OSgVSeEXNbfIofYdxR5zs3u4PryhnamfFPYwi2vZW3ZxeI1oRcDh2VEdwGvlN5VUduKJNoOWMVzV2jSyR8CeDHH+I0soQCC7kfJVodU96HcPMzZ6MuVwSfD4BFGvKMXyCnBUqzo28BGHFwVQG8Ya9gL6/cTbuWywgM4xaJgMHv1OVcESXBtBkrqOneTJuOgeEmP0RfUnIAK/3/wbg9mfiBq7JV4cmWAg1xNE8GJoAbci59Tdx1dQgVuuqdQGk5jzNusOVneyMtGEB+p7UpPLJsGBW29rsMt7ITUbXM/kl9v11vPtWb+oOUThoFsDYmsWy7fGGP9YAFB","url":"https://api.github.com/repos/lra/mackup/keys/21870881","title":"PyGithub Test Key","verified":true,"created_at":"2017-02-22T08:16:23Z","read_only":true,"last_used":"2024-04-13T10:00:21Z","added_by":"key-admin-user"}
https
GET
api.github.com
None
/repos/lra/mackup/keys/98051552
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
None
200
[('Server', 'GitHub.com'), ('Date', 'Sat, 13 Apr 2024 10:25:13 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"5b9679b5020736bf39e0b6e78338333c755f1a12988553a672ef7ed8ce33d50a"'), ('Last-Modified', 'Sat, 13 Apr 2024 10:00:21 GMT'), ('X-OAuth-Scopes', 'repo'), ('X-Accepted-OAuth-Scopes', ''), ('github-authentication-token-expiration', '2024-07-12 09:49:57 UTC'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('x-github-api-version-selected', '2022-11-28'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4944'), ('X-RateLimit-Reset', '1713006347'), ('X-RateLimit-Used', '56'), ('X-RateLimit-Resource', 'core'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'CF76:296021:13CBA617:13E4E368:661A5D89')]
{"id":98051552,"key":"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOXEPB9eqJ2DwZepFxrPwCDczIReVeWOOt3NMs8KOn3h","url":"https://api.github.com/repos/lra/mackup/keys/98051552","title":"PyGithub Unused Test Key","verified":true,"created_at":"2019-02-22T08:16:23Z","read_only":true,"last_used":null,"added_by":"key-admin-user"}

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Jirka Borovec <6035284+Borda@users.noreply.github.com> #
# Copyright 2024 Ramiro Morales <ramiro@users.noreply.github.com> #
# #

@@ -49,3 +50,5 @@ # This file is part of PyGithub. #

# Github and update it here.
self.key = self.g.get_user("lra").get_repo("mackup").get_key(21870881)
repo = self.g.get_user("lra").get_repo("mackup")
self.key = repo.get_key(21870881)
self.yet_unused_key = repo.get_key(98051552)

@@ -67,4 +70,17 @@ def testAttributes(self):

self.assertEqual(repr(self.key), 'RepositoryKey(title="PyGithub Test Key", id=21870881)')
self.assertEqual(self.key.added_by, "key-admin-user")
self.assertEqual(
self.key.last_used,
datetime(2024, 4, 13, 10, 0, 21, tzinfo=timezone.utc),
)
def testYetUnusedKey(self):
self.assertEqual(self.yet_unused_key.id, 98051552)
self.assertEqual(
self.yet_unused_key.key,
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOXEPB9eqJ2DwZepFxrPwCDczIReVeWOOt3NMs8KOn3h",
)
self.assertEqual(self.yet_unused_key.last_used, None)
def testDelete(self):
self.key.delete()

@@ -19,2 +19,3 @@ ############################ Copyrights and license ############################

# Copyright 2024 Benjamin K <53038537+treee111@users.noreply.github.com> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# #

@@ -21,0 +22,0 @@ # This file is part of PyGithub. #

@@ -5,2 +5,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Jeppe Fihl-Pearson <tenzer@tenzer.dk> #
# Copyright 2024 Enrico Minack <github@enrico.minack.dev> #
# Copyright 2024 Xavi Vega <xabi1309@gmail.com> #

@@ -7,0 +8,0 @@ # #

@@ -10,2 +10,3 @@ ############################ Copyrights and license ############################

# Copyright 2023 Sasha Chung <50770626+nuang-ee@users.noreply.github.com> #
# Copyright 2024 Chris Gavin <chris@chrisgavin.me> #
# #

@@ -131,2 +132,6 @@ # This file is part of PyGithub. #

def test_rerun_failed_jobs(self):
wr = self.repo.get_workflow_run(3881497935)
self.assertTrue(wr.rerun_failed_jobs())
def test_rerun_with_successful_run(self):

@@ -133,0 +138,0 @@ wr = self.repo.get_workflow_run(3881497935)

[tox]
envlist =
lint,
py{37,38,39,310,311},
py{38,39,310,311,312},
docs

@@ -11,3 +11,2 @@

python =
3.7: py37
3.8: py38

@@ -17,2 +16,3 @@ 3.9: py39

3.11: py311
3.12: py312

@@ -19,0 +19,0 @@ [testenv]

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display