示例#1
0
def createhook(user, repo, skip_email, yes_i_know):
    """Create the hook in repository for given user.

    USER can be either an email or a user ID.
    REPO can be either the repository name
    (e.g. `some-organization/some-repository`) or its GitHub ID.

    Examples:

      github createhook [email protected] foobar-org/foobar-repo

      github createhook 12345 55555
    """
    user = resolve_user(user)
    repo = resolve_repo(repo)
    if repo.user:
        click.secho('Hook is already installed for {user}'.format(
            user=repo.user), fg='red')
        return

    msg = "Creating a hook for {user} and {repo}. Continue?".format(
        user=user, repo=repo)
    if not (yes_i_know or click.confirm(msg)):
        click.echo('Aborted.')

    gha = GitHubAPI(user_id=user.id)
    if not skip_email:
        verify_email(user)
    gha.create_hook(repo.github_id, repo.name)
    db.session.commit()