api/project

Examples

setup gerrit client and retrieve one project instance:

from gerrit import GerritClient
client = GerritClient(base_url="https://yourgerrit", username='******', password='xxxxx')

project = client.projects.get('python-sonarqube-api')

Retrieves the description of a project.:

description = project.get_description()

Sets the description of a project.:

input_ = {
    "description": "Plugin for Gerrit that handles the replication.",
    "commit_message": "Update the project description"
}
result = project.set_description(input_)

Deletes the description of a project.:

project.delete_description()

Delete the project, requires delete-project plugin:

project.delete()

Sets the configuration of a project.:

input_ = {
    "description": "demo project",
    "use_contributor_agreements": "FALSE",
    "use_content_merge": "INHERIT",
    "use_signed_off_by": "INHERIT",
    "create_new_change_for_all_not_in_target": "INHERIT",
    "enable_signed_push": "INHERIT",
    "require_signed_push": "INHERIT",
    "reject_implicit_merges": "INHERIT",
    "require_change_id": "TRUE",
    "max_object_size_limit": "10m",
    "submit_type": "REBASE_IF_NECESSARY",
    "state": "ACTIVE"
}
result = project.set_config(input_)

Lists the access rights for a single project.:

access_rights = project.get_access_rights()

Create Change for review. support this method since v3.3.0:

input_ = {
    "subject": "Let's support 100% Gerrit workflow direct in browser",
    "branch": "stable",
    "topic": "create-change-in-browser",
    "status": "NEW"
}

result = project.create_change(input_)

List the branches of a project.:

branches = project.branches.list()

get a branch by ref:

branch = project.branches.get('refs/heads/stable')

Creates a new branch.:

input_ = {
    'revision': '76016386a0d8ecc7b6be212424978bb45959d668'
}
new_branch = project.branches.create('stable', input_)

Delete a branch.:

branch.delete()

Retrieves a commit of a project.:

commit = project.get_commit('c641ab4dd180b4184f2663bd28277aa796b36417')

Retrieves the branches and tags in which a change is included.:

result = commit.get_include_in()

Gets the content of a file from a certain commit.:

content = commit.get_file_content('sonarqube/community/components.py')

Cherry-picks a commit of a project to a destination branch.:

input_ = {
    "message": "Test Cherry Pick",
    "destination": "stable"
}

commit.cherry_pick(input_)

Lists the files that were modified, added or deleted in a commit.:

result = commit.list_change_files()