Allow full json file/format to avoid having to supply multiple assets-links parameters
The name --assets-link
implies only a single asset is allowed to be used. This is slightly inconvenient from a scripting point of view, meaning that we would have loop over something and generate the arguments to release-cli, rather then just pass a json array, containing multiple entries, e.g.
[
{'assets-link1'},
{'assets-link2'},
{}
]
(the empty entry is probably needed from a scripting pov to deal with the trailing comma that may not be allowed on the last item)
Furthermore, if the supplied argument is not a string, but a (json) file, it would make life even easier, as we can then save a json file in jobA, and simply use the json in the release job. While #59 (closed) would address this in part, it doesn't solve it if the user has a different work-flow. E.g. binaries are located else-where for example, or the release process is a 2 stage process, or the user does not wish to use artifacts to pass the binaries from one job to the other due to size (and thus speed).
Steps to reproduce
Create a json file and supply that to --assets-link(s) and see it not work. Supply an array, and see it not work.
Output of checks
This bug happens on GitLab.com
Proposal
Have --assets-link
to take a single JSON object which can either take a single asset (current behavior) or an array of assets (new behaviour)
So the following command should be valid
release-cli create --name "My Release" --description "Awesome release" --tag-name v1.2.3 \
--assets-link "{\"name\":\"asset-1\",\"url\":\"\https://example.com/url1\"}" \
--assets-link "[{\"name\":\"asset-2\",\"url\":\"\https://example.com/url2\"}", "{\"name\":\"asset-3\",\"url\":\"\https://example.com/url3\"}]"
This change would only be available for standalone release-cli users and no changes are planned to support this in the release
keyword of the .gitlab-ci.yml
file.