Attaching release notes file to Fabric/Crashlytics deployer step

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 :stuck_out_tongue: so I’d appreciate any pointers on how best to do this.

Thanks

Hi! :slight_smile:

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 :slight_smile:

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

Thanks for sharing! :wink: