管理资产版本

如何管理资产版本和版本标签

阅读时间5分钟

开始之前

要访问任何资产,请确保应用程序具有正确的权限。有关更多信息,请参阅管理身份用例

提交或冻结资产版本

当您看到资产版本已完成时,要冻结特定版本,请使用资产版本信息和变更日志调用freeze_asset_version

unity_cloud.assets.freeze_asset_version(
      org_id = "012345678912",
        project_id = "1234abcd-ab12-cd34-ef56-123456abcdef",
        asset_id = "0123456789abcdefghijklmn",
        asset_version = '1234abcd-ab12-cd34-ef56-123456abcdef',
        changelog = "Initial version")

创建一个新的未冻结版本

要从冻结版本创建新的未冻结版本,请使用冻结版本信息调用create_unfrozen_asset_version

new_version = unity_cloud.assets.create_unfrozen_asset_version(
  org_id = "012345678912",
  project_id = "1234abcd-ab12-cd34-ef56-123456abcdef",
  asset_id = "0123456789abcdefghijklmn",
  asset_version = '1234abcd-ab12-cd34-ef56-123456abcdef')

搜索资产的版本

要搜索资产的版本,请执行以下步骤

  1. 创建字典或对象作为过滤器,其中将包含条件。
  2. 创建一个数组,其中包含要查找的集合。将数组留空以搜索所有集合和未链接到集合的资产版本。
  3. 使用组织 ID、项目 ID、过滤器、any_filter中所需的匹配数量、集合以及可选的要返回的最大结果数和要跳过的数量(用于分页目的)调用search_versions_in_asset
include_filter = dict()
exclude_filter = dict()
any_filter = dict()

include_filter[SearchableProperties.NAME] = StringFilter(StringLookUpTypes.REGEX, "asset\-.*")

collections = []

search_result = unity_cloud.assets.search_versions_in_asset(org_id, project_id, asset_id, include_filter=include_filter, exclude_filter=exclude_filter, any_filter=any_filter, any_query_minimum_match=1, collections=collections, limit_to=10, skip=0)

创建版本标签

要创建版本标签,请执行以下步骤

  1. 通过传递名称、描述和将在仪表板中显示的十六进制代码颜色来创建LabelCreation对象。
  2. 使用组织 ID 和之前创建的LabelCreation调用create_label

label_creation = LabelCreation(name="my new version label", description="label_description", color="#FFFFFF")
label = unity_cloud.assets.create_label(org_id="1234567890", label=label_creation)

更新版本标签

要更新版本标签,请执行以下步骤

  1. 创建LabelUpdate对象,并传递名称、新描述和将在仪表板中显示的新十六进制代码颜色。
  2. 使用组织 ID 和之前创建的LabelUpdate调用update_label
    label_update = LabelUpdate(name=label.name, description= "new description", color="#000000")

    unity_cloud.assets.update_label(org_id="1234567890", label=label_update)

获取版本标签

要获取单个版本标签,请使用组织 ID 和版本标签的名称调用get_label

label = unity_cloud.assets.get_label(org_id="1234567890", name="the name")

列出组织中的所有版本标签

要列出组织中创建的所有版本标签,请使用组织 ID 和是否要查看已存档标签或未存档标签调用list_organization_labels

labels = unity_cloud.assets.list_organization_labels(org_id="1234567890", is_archived=False)

存档或取消存档版本标签

要存档或取消存档版本标签,请使用组织 ID 和标签的名称调用archive_labelunarchive_label

unity_cloud.assets.archive_label(org_id="1234567890", name="label name")
unity_cloud.assets.unarchive_label(org_id="1234567890", name="label name")

将版本标签分配或取消分配到资产版本

创建版本标签后,要将其分配或取消分配到特定资产版本,请使用资产版本信息和包含要分配或取消分配的版本标签名称的数组调用assign_labelsunassign_labels

unity_cloud.assets.assign_labels(
  org_id = "012345678912",
  project_id = "1234abcd-ab12-cd34-ef56-123456abcdef",
  asset_id = "0123456789abcdefghijklmn",
  asset_version = '1234abcd-ab12-cd34-ef56-123456abcdef',
  labels = ["label1", "label2"])

  unity_cloud.assets.unassign_labels(
  org_id = "012345678912",
  project_id = "1234abcd-ab12-cd34-ef56-123456abcdef",
  asset_id = "0123456789abcdefghijklmn",
  asset_version = '1234abcd-ab12-cd34-ef56-123456abcdef',
  labels = ["label1", "label2"])

列出分配给资产版本的版本标签

将标签分配给资产版本后,要列出它们,请使用资产版本信息和是否要查看已存档版本标签或未存档版本调用list_asset_labels。您也可以使用 limit 和 skip 参数用于分页目的。

asset_labels_names = unity_cloud.assets.list_asset_labels(
  org_id = "012345678912",
  project_id = "1234abcd-ab12-cd34-ef56-123456abcdef",
  asset_id = "0123456789abcdefghijklmn",
  asset_version = '1234abcd-ab12-cd34-ef56-123456abcdef',
  is_archived = false,
  limit = 100,
  skip = 0
)