From 0e2c77c75c74d2462484974fcef4f1d62d6f9559 Mon Sep 17 00:00:00 2001 From: Lucas Dangl Date: Wed, 19 Mar 2025 18:25:58 +0100 Subject: [PATCH 1/3] feature: Support Bitbucket Cloud Pipelines --- .../rules/commituuid/CommitUUIDProvider.scala | 1 + .../providers/BitbucketCloudProvider.scala | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala diff --git a/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala b/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala index 2c893931..815fb96d 100644 --- a/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala +++ b/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala @@ -65,6 +65,7 @@ object CommitUUIDProvider extends LogSupport { ArgoCDProvider, AWSCodeBuildProvider, AzurePipelinesProvider, + BitbucketCloudProvider, BitriseCIProvider, BuildkiteCIProvider, CircleCIProvider, diff --git a/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala b/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala new file mode 100644 index 00000000..3b8295e9 --- /dev/null +++ b/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala @@ -0,0 +1,18 @@ +package com.codacy.rules.commituuid.providers + +import com.codacy.model.configuration.CommitUUID +import com.codacy.rules.commituuid.CommitUUIDProvider + +/** Gitlab CI provider */ +object BitbucketCloudProvider extends CommitUUIDProvider { + val name: String = "Bitbucket Cloud Pipeline" + + override def validateEnvironment(environment: Map[String, String]): Boolean = { + // CI is a bit generic and could be used by other CI Providers as well + // Check on Bitbucket Build Number as well + environment.contains("CI") and environment.contains("BITBUCKET_BUILD_NUMBER") + } + + override def getValidCommitUUID(environment: Map[String, String]): Either[String, CommitUUID] = + parseEnvironmentVariable(environment.get("BITBUCKET_COMMIT")) +} From 7f7dae43b8303a74837d70115358e76d2edac9c7 Mon Sep 17 00:00:00 2001 From: Lucas Dangl Date: Wed, 19 Mar 2025 18:25:58 +0100 Subject: [PATCH 2/3] feature: Support Bitbucket Cloud Pipelines --- .../rules/commituuid/CommitUUIDProvider.scala | 1 + .../providers/BitbucketCloudProvider.scala | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala diff --git a/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala b/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala index 2c893931..815fb96d 100644 --- a/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala +++ b/src/main/scala/com/codacy/rules/commituuid/CommitUUIDProvider.scala @@ -65,6 +65,7 @@ object CommitUUIDProvider extends LogSupport { ArgoCDProvider, AWSCodeBuildProvider, AzurePipelinesProvider, + BitbucketCloudProvider, BitriseCIProvider, BuildkiteCIProvider, CircleCIProvider, diff --git a/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala b/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala new file mode 100644 index 00000000..58b67a8c --- /dev/null +++ b/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala @@ -0,0 +1,18 @@ +package com.codacy.rules.commituuid.providers + +import com.codacy.model.configuration.CommitUUID +import com.codacy.rules.commituuid.CommitUUIDProvider + +/** Bitbucket Cloud Pipeline provider */ +object BitbucketCloudProvider extends CommitUUIDProvider { + val name: String = "Bitbucket Cloud Pipeline" + + override def validateEnvironment(environment: Map[String, String]): Boolean = { + // CI is a bit generic and could be used by other CI Providers as well + // Check on Bitbucket Build Number as well + environment.contains("CI") and environment.contains("BITBUCKET_BUILD_NUMBER") + } + + override def getValidCommitUUID(environment: Map[String, String]): Either[String, CommitUUID] = + parseEnvironmentVariable(environment.get("BITBUCKET_COMMIT")) +} From e4dcbb2b9df4441f210c39df2ffbb245db33b440 Mon Sep 17 00:00:00 2001 From: Lucas Dangl Date: Wed, 19 Mar 2025 20:06:17 +0100 Subject: [PATCH 3/3] feature: Support Bitbucket Cloud Pipelines --- .../rules/commituuid/providers/BitbucketCloudProvider.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala b/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala index 58b67a8c..571e4175 100644 --- a/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala +++ b/src/main/scala/com/codacy/rules/commituuid/providers/BitbucketCloudProvider.scala @@ -10,7 +10,7 @@ object BitbucketCloudProvider extends CommitUUIDProvider { override def validateEnvironment(environment: Map[String, String]): Boolean = { // CI is a bit generic and could be used by other CI Providers as well // Check on Bitbucket Build Number as well - environment.contains("CI") and environment.contains("BITBUCKET_BUILD_NUMBER") + environment.contains("CI") && environment.contains("BITBUCKET_BUILD_NUMBER") } override def getValidCommitUUID(environment: Map[String, String]): Either[String, CommitUUID] =