Skip to content

Commit 87d6c3f

Browse files
runningcodeclaude
andauthored
feat(cli): Set SENTRY_PIPELINE environment variable for all sentry-cli invocations (#1036)
* feat(cli): Set SENTRY_PIPELINE environment variable for all sentry-cli invocations This sets SENTRY_PIPELINE to 'sentry-gradle-plugin/<version>' for all sentry-cli invocations, enabling better pipeline tracking and analytics on the server side. The environment variable is now set in: - SentryCliExecTask (base class for all CLI execution tasks) - SentryCliInfoValueSource (for CLI info gathering) - SentryCliVersionValueSource (for CLI version detection) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * refactor(cli): Centralize SENTRY_PIPELINE environment variable setup Extracted the SENTRY_PIPELINE environment variable setup into a reusable extension function `ExecSpec.setSentryPipelineEnv()` in SentryCliExec.kt. This eliminates code duplication and provides a single source of truth for setting the pipeline environment variable across all sentry-cli invocations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * refactor(cli): Remove comment from setSentryPipelineEnv function 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * meta(changelog): Add entry for SENTRY_PIPELINE environment variable 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent b41e731 commit 87d6c3f

4 files changed

Lines changed: 17 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
### Various fixes & improvements
6+
7+
- Set SENTRY_PIPELINE environment variable for all sentry-cli invocations ([#1036](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1036))
8+
59
### Dependencies
610

711
- Bump Android SDK from v8.26.0 to v8.28.0 ([#1032](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1032), [#1034](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1034))

plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryCliExecTask.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package io.sentry.android.gradle.tasks
33
import io.sentry.android.gradle.SentryCliProvider
44
import io.sentry.android.gradle.telemetry.SentryTelemetryService
55
import io.sentry.android.gradle.util.info
6+
import io.sentry.android.gradle.util.setSentryPipelineEnv
67
import java.io.File
78
import org.apache.tools.ant.taskdefs.condition.Os
89
import org.gradle.api.file.RegularFileProperty
@@ -48,6 +49,7 @@ abstract class SentryCliExecTask : Exec() {
4849
}
4950
setSentryPropertiesEnv()
5051
setSentryAuthTokenEnv()
52+
setSentryPipelineEnv()
5153
super.exec()
5254
}
5355

plugin-build/src/main/kotlin/io/sentry/android/gradle/telemetry/SentryTelemetryService.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import io.sentry.android.gradle.util.SentryCliException
2424
import io.sentry.android.gradle.util.error
2525
import io.sentry.android.gradle.util.getBuildServiceName
2626
import io.sentry.android.gradle.util.info
27+
import io.sentry.android.gradle.util.setSentryPipelineEnv
2728
import io.sentry.exception.ExceptionMechanismException
2829
import io.sentry.gradle.common.SentryVariant
2930
import io.sentry.protocol.Mechanism
@@ -449,6 +450,8 @@ abstract class SentryCliInfoValueSource : ValueSource<String, InfoParams> {
449450
it.environment("SENTRY_AUTH_TOKEN", authToken)
450451
}
451452

453+
it.setSentryPipelineEnv()
454+
452455
it.commandLine(args)
453456
it.standardOutput = stdOutput
454457
it.errorOutput = errOutput
@@ -491,6 +494,8 @@ abstract class SentryCliVersionValueSource : ValueSource<String, VersionParams>
491494
args.add("--log-level=error")
492495
args.add("--version")
493496

497+
it.setSentryPipelineEnv()
498+
494499
it.commandLine(args)
495500
it.standardOutput = output
496501
}

plugin-build/src/main/kotlin/io/sentry/android/gradle/util/SentryCliExec.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package io.sentry.android.gradle.util
22

3+
import io.sentry.BuildConfig
34
import io.sentry.android.gradle.util.CliFailureReason.OUTDATED
45
import java.io.ByteArrayOutputStream
56
import org.gradle.api.GradleException
67
import org.gradle.api.tasks.Exec
8+
import org.gradle.process.ExecSpec
9+
10+
fun ExecSpec.setSentryPipelineEnv() {
11+
environment("SENTRY_PIPELINE", "sentry-gradle-plugin/${BuildConfig.Version}")
12+
}
713

814
/**
915
* An ext function for tasks that wrap sentry-cli, which provides common error handling. Must be

0 commit comments

Comments
 (0)