I’m not sure if I’m missing a trick here, but in situation where I’m uploading bundles, or for that matter pipeline configs, and then using descriptors to define the bundles, it seems like there’s no way to assign a semver version name in the descriptor as the “version” field is required to define the attachment_id.
I’m thinking the “version” field of a shotgun
descriptor should be simply to define the semver of whatever it is you’re releasing. Then, your app would have a valid app.version value that actually reflects the version that you’ve uploaded to SG (eg to reflect he git branch or tag) rather than the rather non-descriptive attachment_id
that it’s actually required to be.
I guess this suggestion is a bit of a moot point as there’s no way that this nomenclature can change now without breaking everyone’s setups.
I was using the descriptor version field to hold semver version definitions when I was defining “dev” descritors and found that to be quite useful, but now I’m moving to uploading bundles, I see I can no longer use this field in this way. I’m sure I can get around this with adding new fields to either my toolkit_bundle entities or attachment entities, but using these in any logic will require additional api calls which I’d prefer to keep to a minimum.
Perhaps if descriptors could receive arbitrary key-value pairs in their definitions that could be quite useful; eg
sgtk:descriptor:shotgun?entity_type=CustomNonProjectEntity02&name=tk-blah&field=sg_uploaded_app&version=196990&semver=v1.2.3
and then in an app, for example, you could get the attachment_id with self.version and the actual version with self.semver.
I’m just thinking out aloud here… and curious to hear your thoughts.