I’m currently using the crashlytics deployer step to send out bleeding edge internal builds - but have so far been unable to attach meaningful release notes. We already bundle a Changelog.md
file in our repository and I would love to post these directly to the deployer step.
I’ve tried digging into the source here:
Under the Release Notes
property in Bitrise Workflow Editor for the step, I’ve tried:
< Changelog.md
cat Changelog.md
These, however, just send the above as a string literal.
Unfortunately my scripting knowledge is pretty scarce
so I’d appreciate any pointers on how best to do this.
Thanks
Hi! 
So, the thing is, you can’t use commands in inputs, only environment variables.
This means that if you have a release note as a file, you have to read that and expose it as an environment variable to be able to include it in an input value.
Fortunately doing this with a Script
step is really simple. As you can see it here http://devcenter.bitrise.io/tips-and-tricks/expose-environment-variable/ you can use envman (part of the Bitrise CLI) to expose environment variables, and it does have a mode to expose the content of a file as an environment variable:
#!/bin/bash
set -ex
envman add --key MY_RELEASE_NOTE --valuefile ./some/file/path
After this, subsequent steps can use MY_RELEASE_NOTE
just like any other environment variable.
To include it in the Crashlytics step’s Release Notes
input simply include $MY_RELEASE_NOTE
. That’s all 
Note: the Release Notes
input can be multi line too, so if you want to decorate the release notes you can specify something like this as the Release Note too:
Related Bitrise.io Build: $BITRISE_BUILD_URL
The Release Notes:
$MY_RELEASE_NOTE
Thanks, my changelog file turned out to be rather large so for completeness I opted for:
#!/bin/bash
set -ex
head -50 Changelog.md | envman add --key RELEASE_NOTES
2 Likes