@@ -828,6 +828,31 @@ function convertToArray($collection)
828
828
return $ collection ;
829
829
}
830
830
831
+ function parseCommandFromMagicEnvVariable (Str |string $ key ): Stringable
832
+ {
833
+ $ value = str ($ key );
834
+ $ count = substr_count ($ value ->value (), '_ ' );
835
+ if ($ count === 2 ) {
836
+ if ($ value ->startsWith ('SERVICE_FQDN ' ) || $ value ->startsWith ('SERVICE_URL ' )) {
837
+ // SERVICE_FQDN_UMAMI
838
+ $ command = $ value ->after ('SERVICE_ ' )->beforeLast ('_ ' );
839
+ } else {
840
+ // SERVICE_BASE64_UMAMI
841
+ $ command = $ value ->after ('SERVICE_ ' )->beforeLast ('_ ' );
842
+ }
843
+ }
844
+ if ($ count === 3 ) {
845
+ if ($ value ->startsWith ('SERVICE_FQDN ' ) || $ value ->startsWith ('SERVICE_URL ' )) {
846
+ // SERVICE_FQDN_UMAMI_1000
847
+ $ command = $ value ->after ('SERVICE_ ' )->before ('_ ' );
848
+ } else {
849
+ // SERVICE_BASE64_64_UMAMI
850
+ $ command = $ value ->after ('SERVICE_ ' )->beforeLast ('_ ' );
851
+ }
852
+ }
853
+
854
+ return str ($ command );
855
+ }
831
856
function parseEnvVariable (Str |string $ value )
832
857
{
833
858
$ value = str ($ value );
@@ -859,6 +884,7 @@ function parseEnvVariable(Str|string $value)
859
884
} else {
860
885
// SERVICE_BASE64_64_UMAMI
861
886
$ command = $ value ->after ('SERVICE_ ' )->beforeLast ('_ ' );
887
+ ray ($ command );
862
888
}
863
889
}
864
890
}
@@ -3117,7 +3143,7 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
3117
3143
foreach ($ magicEnvironments as $ key => $ value ) {
3118
3144
$ key = str ($ key );
3119
3145
$ value = replaceVariables ($ value );
3120
- $ command = $ key-> after ( ' SERVICE_ ' )-> before ( ' _ ' );
3146
+ $ command = parseCommandFromMagicEnvVariable ( $ key );
3121
3147
$ found = $ resource ->environment_variables ()->where ('key ' , $ key ->value ())->where ($ nameOfId , $ resource ->id )->first ();
3122
3148
if ($ found ) {
3123
3149
continue ;
0 commit comments