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

Method create_environment

github/Repository.py:4462–4507  ·  view source on GitHub ↗

:calls: `PUT /repos/{owner}/{repo}/environments/{environment_name} `_ :param environment_name: string :param wait_timer: int :param reviewers: List[:class:github.EnvironmentDeploym

(
        self,
        environment_name: str,
        wait_timer: int = 0,
        reviewers: list[ReviewerParams] = [],
        prevent_self_review: bool = False,
        deployment_branch_policy: EnvironmentDeploymentBranchPolicyParams | None = None,
    )

Source from the content-addressed store, hash-verified

4460 return github.Environment.Environment(self._requester, url=url)
4461
4462 def create_environment(
4463 self,
4464 environment_name: str,
4465 wait_timer: int = 0,
4466 reviewers: list[ReviewerParams] = [],
4467 prevent_self_review: bool = False,
4468 deployment_branch_policy: EnvironmentDeploymentBranchPolicyParams | None = None,
4469 ) -> Environment:
4470 """
4471 :calls: `PUT /repos/{owner}/{repo}/environments/{environment_name} <https://docs.github.com/en/rest/reference/deployments#create-or-update-an-environment>`_
4472 :param environment_name: string
4473 :param wait_timer: int
4474 :param reviewers: List[:class:github.EnvironmentDeploymentBranchPolicy.EnvironmentDeploymentBranchPolicyParams]
4475 :param prevent_self_review: bool
4476 :param deployment_branch_policy: Optional[:class:github.EnvironmentDeploymentBranchPolicy.EnvironmentDeploymentBranchPolicyParams`]
4477 :rtype: :class:`github.Environment.Environment`
4478 """
4479 assert isinstance(environment_name, str), environment_name
4480 assert isinstance(wait_timer, int)
4481 assert isinstance(reviewers, list)
4482 assert isinstance(prevent_self_review, bool)
4483 assert all(
4484 [isinstance(reviewer, github.EnvironmentProtectionRuleReviewer.ReviewerParams) for reviewer in reviewers]
4485 )
4486 assert (
4487 isinstance(
4488 deployment_branch_policy,
4489 github.EnvironmentDeploymentBranchPolicy.EnvironmentDeploymentBranchPolicyParams,
4490 )
4491 or deployment_branch_policy is None
4492 )
4493 environment_name = urllib.parse.quote(environment_name, safe="")
4494
4495 put_parameters = {
4496 "wait_timer": wait_timer,
4497 "reviewers": [reviewer._asdict() for reviewer in reviewers],
4498 "prevent_self_review": prevent_self_review,
4499 "deployment_branch_policy": deployment_branch_policy._asdict() if deployment_branch_policy else None,
4500 }
4501
4502 headers, data = self._requester.requestJsonAndCheck(
4503 "PUT", f"{self.url}/environments/{environment_name}", input=put_parameters
4504 )
4505 if "url" not in data:
4506 data["url"] = f"{self.url}/environments/{environment_name}"
4507 return github.Environment.Environment(self._requester, headers, data, completed=True)
4508
4509 def delete_environment(self, environment_name: str) -> None:
4510 """

Callers 6

testCreateEnvironmentMethod · 0.80
testUpdateEnvironmentMethod · 0.80
testEnvironmentSecretMethod · 0.80

Calls 2

requestJsonAndCheckMethod · 0.80
_asdictMethod · 0.45

Tested by

no test coverage detected