As an effort to improve NUKE and to provide you with a better, more tailored experience, we include a telemetry feature that collects anonymous usage data and enables us to make more informed decisions for the future.
We want you to be fully aware about telemetry, which is why the global tool will show a disclosure notice on first start. In addition, every build project requires to define a
We will increase the telemetry version whenever we add or change significant data points. With every version change and after updating the
Nuke.Common package, you will be prompted again for confirmation.
NUKE will display a prompt similar to the following when executing a build project without the
NukeTelemetryVersion property being set or when executing the global tool for the first time.
NUKE collects anonymous usage data in order to help us improve your experience.
Read more about scope, data points, and opt-out: https://nuke.build/telemetry
Once you confirm the notice, NUKE will either:
- Create an awareness cookie under
~/.nuke/telemetry-awareness/v1for the respective global tool, or
- Add the
NukeTelemetryVersionproperty to the project file.
As a global tool and library, NUKE has multiple events where telemetry is collected:
BuildStarted– when a build was started
TargetSucceeded– when a target succeeded (only
BuildSetup– when setting up a build via
CakeConvert– when converting Cake files via
TargetSucceeded is only collected when
true (i.e., CI build), or the build is invoked via global tool. I.e., a contributor executing
build.sh will not have telemetry enabled unknowingly. Likewise, when a build project targets a higher telemetry version than the installed global tool, the lower version will be used.
The telemetry data points do not collect personal data, such as usernames or email addresses. The data is sent securely to Microsoft servers using Azure Monitor technology, held under restricted access, and published under strict security controls from secure Azure Storage systems.
Protecting your privacy is important to us. If you suspect the telemetry is collecting sensitive data or the data is being insecurely or inappropriately handled, file an issue in the nuke-build/nuke repository or email us for investigation.
The telemetry feature collects the following data:
|All||Timestamp of invocation|
|All||Version of .NET SDK|
|All||Repository provider (GitHub, GitLab, Bitbucket, etc.)|
|All||Repository Branch (|
|All||Hashed Repository URL (SHA256; first 6 characters)|
|All||Hashed Commit Sha (SHA256; first 6 characters)|
|All||Compile time of build project in seconds|
|All||Version of |
|All||Host implementation (only non-custom)|
|All||Build type (project/global tool)|
|All||Number of executable targets|
|All||Number of custom extensions|
|All||Number of custom components|
|All||Used configuration generators and build components (only non-custom)|
|All||Target execution time in seconds (only for targets named Restore, Compile, or Test)|
Whenever a type does not originate from the
Nuke namespace, it is replaced with
How to opt-out
The telemetry feature is enabled by default. To opt-out, set the
NUKE_TELEMETRY_OPTOUT environment variable to