def create_build_configuration_process(repository, revision, **kwargs): """ Create a new BuildConfiguration. BuildConfigurations represent the settings and configuration required to run a build of a specific version of the associated Project's source code. If a ProductVersion ID is provided, the BuildConfiguration will have access to artifacts which were produced for that version, but may not have been released yet. :return BPM Task ID of the new BuildConfiguration creation """ if not kwargs.get("dependency_ids"): kwargs["dependency_ids"] = [] if not kwargs.get("build_configuration_set_ids"): kwargs["build_configuration_set_ids"] = [] if kwargs.get("generic_parameters"): kwargs["generic_parameters"] = ast.literal_eval( kwargs.get("generic_parameters")) if not kwargs.get("project"): kwargs["project"] = pnc_api.projects.get_specific( kwargs.get("project_id")).content if not kwargs.get("environment"): kwargs["environment"] = pnc_api.environments.get_specific( kwargs.get("build_environment_id")).content build_configuration = create_build_conf_object(scm_revision=revision, **kwargs) repo_creation = swagger_client.RepositoryCreationUrlAutoRest() repo_creation.scm_url = repository repo_creation.build_configuration_rest = build_configuration response = utils.checked_api_call(pnc_api.bpm, 'start_r_creation_task_with_single_url', body=repo_creation) if response: return response
def create_repository_configuration_raw(repository, no_sync=False): repo_creation = swagger_client.RepositoryCreationUrlAutoRest() repo_creation.scm_url = repository repo_creation.pre_build_sync_enabled = not no_sync repo_creation.build_configuration_rest = None task_id = utils.checked_api_call(pnc_api.bpm, 'start_r_creation_task_with_single_url', body=repo_creation) if task_id and wait_for_repo_creation(task_id): repo = repositoryconfigurations.match_repository_configuration_raw( repository) if repo: return repo