def create_milestone(**kwargs): """ Create a new ProductMilestone """ if not product_version_exists(kwargs.get('product_version_id')): logging.error("No ProductVersion exists with the ID {}.".format( kwargs.get('product_version_id'))) return version = kwargs.get('version') if not utils.is_valid_version(version): logging.error("Version must start with a number, followed by a dot and then a qualifier (e.g ER1).") return base_version = str(productversions_api.get_specific( id=kwargs.get('product_version_id')).content.version) kwargs['version'] = base_version + "." + kwargs.get('version') created_milestone = create_milestone_object(**kwargs) response = utils.checked_api_call( milestones_api, 'create_new', body=created_milestone) if response: return response.content
def create_release(**kwargs): """ Create a new ProductRelease. A ProductRelease represents a build / set of builds that is ready for release to the public. Each ProductRelease is associated with exactly one ProductMilestone and exactly one ProductVersion. Example: ProductVersion: 1.0 ProductMilestone: 1.0.0.CR2 ProductRelease: 1.0.0.GA """ version = kwargs.get('version') if not utils.is_valid_version(version): logging.error("Version must start with a number, followed by a dot and then a qualifier (e.g ER1).") return base_version = productversions_api.get_specific( id=kwargs.get('product_version_id')).content.version kwargs['version'] = base_version + '.' + kwargs.get('version') created_release = create_product_release_object(**kwargs) response = utils.checked_api_call( releases_api, 'create_new', body=created_release) if response: return response.content
def valid_version_update(version): if not utils.is_valid_version(version, '^\d+\.\d+\.\d+\.\w+$'): raise argparse.ArgumentTypeError( "The version should consist of three numeric parts and one alphanumeric qualifier each separated by a dot." ) return version
def valid_version_create(version): if not utils.is_valid_version(version, '^\d+\.\w+$'): raise argparse.ArgumentTypeError( "Version must start with a number, followed by a dot and then a qualifier (e.g ER1)." ) return version
def valid_version_two_digits(version): if not utils.is_valid_version(version, '^\d+\.\d+'): raise argparse.ArgumentTypeError( "Version should consist of two numeric parts separated by a dot.") return version
def valid_version_two_digits(version): if not utils.is_valid_version(version, '^\d+\.\d+'): raise argparse.ArgumentTypeError("Version should consist of two numeric parts separated by a dot.") return version
def valid_version_update(version): if not utils.is_valid_version(version, '^\d+\.\d+\.\d+\.\w+$'): raise argparse.ArgumentTypeError( "The version should consist of three numeric parts and one alphanumeric qualifier each separated by a dot.") return version
def valid_version_create(version): if not utils.is_valid_version(version, '^\d+\.\w+$'): raise argparse.ArgumentTypeError( "Version must start with a number, followed by a dot and then a qualifier (e.g ER1).") return version