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

Method create_secret

github/Repository.py:2004–2033  ·  view source on GitHub ↗

:calls: `PUT /repos/{owner}/{repo}/actions/secrets/{secret_name} `_ :calls: `PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name} `

(
        self,
        secret_name: str,
        unencrypted_value: str,
        secret_type: str = "actions",
    )

Source from the content-addressed store, hash-verified

2002 return status == 204
2003
2004 def create_secret(
2005 self,
2006 secret_name: str,
2007 unencrypted_value: str,
2008 secret_type: str = "actions",
2009 ) -> github.Secret.Secret:
2010 """
2011 :calls: `PUT /repos/{owner}/{repo}/actions/secrets/{secret_name} <https://docs.github.com/en/rest/actions/secrets#get-a-repository-secret>`_
2012 :calls: `PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name} <https://docs.github.com/en/rest/actions/secrets#get-a-repository-secret>`_
2013 :param secret_type: string options actions or dependabot
2014 """
2015 assert isinstance(secret_name, str), secret_name
2016 assert isinstance(unencrypted_value, str), unencrypted_value
2017 assert secret_type in ["actions", "dependabot"], "secret_type should be actions or dependabot"
2018
2019 quoted_secret_name = urllib.parse.quote(secret_name, safe="")
2020 url = f"{self.url}/{secret_type}/secrets/{quoted_secret_name}"
2021 public_key = self.get_public_key(secret_type=secret_type)
2022 payload = public_key.encrypt(unencrypted_value)
2023 put_parameters = {
2024 "key_id": public_key.key_id,
2025 "encrypted_value": payload,
2026 }
2027 self._requester.requestJsonAndCheck("PUT", url, input=put_parameters)
2028 return github.Secret.Secret(
2029 self._requester,
2030 url=url,
2031 attributes={"name": secret_name},
2032 completed=False,
2033 )
2034
2035 def get_secrets(
2036 self,

Calls 3

get_public_keyMethod · 0.95
encryptMethod · 0.80
requestJsonAndCheckMethod · 0.80

Tested by

no test coverage detected