xia_engine_gitlab.engine_milestone.GitlabMilestoneEngineClient

class xia_engine_gitlab.engine_milestone.GitlabMilestoneEngineClient(api_host: str, api_token: str, **kwargs)

Bases: GitlabEngineClient

__init__(api_host: str, api_token: str, **kwargs)

Methods

__init__(api_host, api_token, **kwargs)

check_file_exists(project_id, branch, path)

check_response(response)

commit_file(project_id, branch, path, ...[, ...])

create_branch(project_id, branch_name, ref)

create_merge_request(project_id, title, ...)

create_milestone(scope_name, milestone_name, ...)

Create milestone page

delete_branch(project_id, branch_name)

delete_milestone(scope_name, milestone_name)

get_branch_info(project_id, branch_name)

get_default_branch_from_name(api_endpoint, ...)

Get default branch name from the given name

get_file_content(project_id, branch, path[, ...])

Get file content

get_group_id_from_name(api_endpoint, ...)

get_issue_branch_name(issue_name, issue_iid)

get_issue_commit_name(issue_name, issue_iid)

get_issue_iid_from_name(api_endpoint, ...)

get_issue_mr_name(issue_name, issue_iid)

get_merge_request_commits(project_id, title)

get_milestone(scope_name, milestone_name)

Get Milestone

get_milestone_branch_name(milestone_name)

get_milestone_endpoint(scope_name, ...)

get_milestone_id_from_name(api_endpoint, ...)

get_milestone_info_from_issue(api_endpoint, ...)

get_milestone_mr_name(milestone_name)

get_mr_iid_from_branch(api_endpoint, ...[, ...])

get_mr_iid_from_name(api_endpoint, ...)

get_mr_iid_from_title(api_endpoint, ...)

get_project_id_from_name(api_endpoint, ...)

merge_merge_request(project_id, title[, ...])

on_milestone_validated(scope_name, ...[, ...])

Some cleanse should be done when milestone is validated

pipeline_exists(api_endpoint, api_token, ...)

rebase_merge_request(project_id, title)

split_header_body(full_content)

update_milestone(scope_name, milestone_name, ...)

Update milestone page

create_milestone(scope_name: str, milestone_name: str, milestone_content: str, scope_type: str = 'project', stacks: Optional[list] = None)

Create milestone page

Parameters
  • scope_name – Project name

  • milestone_name – Issue Name

  • milestone_content – database content

  • scope_type – Scope Type / Could be project or group

  • stacks – If the scope type is group, should have a list of concerned stack project name

classmethod get_default_branch_from_name(api_endpoint: str, api_token: str, project_id: int) str

Get default branch name from the given name

Parameters
  • api_endpoint

  • api_token

  • project_id

Returns:

get_file_content(project_id, branch: str, path: str, with_encoding: bool = False)

Get file content

Returns

when with_encoding is true and the content is binary, will return base64 string instead binary result

get_milestone(scope_name: str, milestone_name: str) str

Get Milestone

Parameters
  • scope_name – The scoped name, could be project name or group name

  • milestone_name – milestone name

Returns

Milestone content (description)

on_milestone_validated(scope_name: str, milestone_name: str, scope_type: str = 'project', stacks: Optional[list] = None)

Some cleanse should be done when milestone is validated

Parameters
  • scope_name – Scope Name

  • milestone_name – Milestone Name

  • scope_type – could be project or groups

  • stacks – stack settings

update_milestone(scope_name: str, milestone_name: str, milestone_content: str, state_event: str = '', scope_type: str = 'project', **kwargs)

Update milestone page

Parameters
  • scope_name – Project name

  • milestone_name – document id

  • milestone_content – database content

  • state_event – change event, should be one of “close”, “activate”

  • scope_type – Milestone scope, could be project or group