From cb2de28af77bd5fa7d443f1cfca2f1550cdf0ece Mon Sep 17 00:00:00 2001 From: agrasthn <140591594+agrasth@users.noreply.github.com> Date: Sat, 22 Feb 2025 00:50:48 +0530 Subject: [PATCH 1/3] Fix: jfrog rt curl for JFROG_CLI_SERVER_ID environment variable usage --- artifactory/cli.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/artifactory/cli.go b/artifactory/cli.go index 85f8520c5..0b8fa158c 100644 --- a/artifactory/cli.go +++ b/artifactory/cli.go @@ -1962,6 +1962,19 @@ func curlCmd(c *cli.Context) error { if err != nil { return err } + + // Check if --server-id is explicitly passed in arguments + flagIndex, _, _, err := coreutils.FindFlag("--server-id", cliutils.ExtractCommand(c)) + if err != nil { + return err + } + // If --server-id is NOT present, then we check for JFROG_CLI_SERVER_ID env variable + if flagIndex == -1 { + if artDetails, err := cliutils.CreateArtifactoryDetailsByFlags(c); err == nil && artDetails.ArtifactoryUrl != "" { + rtCurlCommand.SetServerDetails(artDetails) + rtCurlCommand.SetUrl(artDetails.ArtifactoryUrl) + } + } return commands.Exec(rtCurlCommand) } From 1b31cb98f3f3fd1726f58099c1283b3dfed3bdef Mon Sep 17 00:00:00 2001 From: agrasthn <140591594+agrasth@users.noreply.github.com> Date: Sat, 22 Feb 2025 00:50:48 +0530 Subject: [PATCH 2/3] Fix: jfrog rt curl for JFROG_CLI_SERVER_ID environment variable usage --- artifactory_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/artifactory_test.go b/artifactory_test.go index 1737fe05d..c4b52b484 100644 --- a/artifactory_test.go +++ b/artifactory_test.go @@ -5553,6 +5553,18 @@ func TestArtifactoryCurl(t *testing.T) { err = artifactoryCli.WithoutCredentials().Exec("curl", "-XGET", "/api/system/version", "--server-id=not_configured_name_"+tests.ServerId) assert.Error(t, err) + // Set JFROG_CLI_SERVER_ID and check curl command + _ = os.Setenv(coreutils.ServerID, tests.ServerId) + defer func() { + _ = os.Unsetenv(coreutils.ServerID) + }() // Cleanup after test + err = artifactoryCli.WithoutCredentials().Exec("curl", "-XGET", "/api/system/version") + assert.NoError(t, err) + + // Set JFROG_CLI_SERVER_ID with --server-id flag (should use the flag) + err = artifactoryCli.WithoutCredentials().Exec("curl", "-XGET", "/api/system/version", "--server-id="+tests.ServerId) + assert.NoError(t, err) + cleanArtifactoryTest() } From cc21b5bd064c68ee06048439772c66078a99ddbe Mon Sep 17 00:00:00 2001 From: agrasthn <140591594+agrasth@users.noreply.github.com> Date: Tue, 25 Feb 2025 11:55:42 +0530 Subject: [PATCH 3/3] Added test for env JFROG_CLI_SERVER_ID --- artifactory_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/artifactory_test.go b/artifactory_test.go index 1737fe05d..c4b52b484 100644 --- a/artifactory_test.go +++ b/artifactory_test.go @@ -5553,6 +5553,18 @@ func TestArtifactoryCurl(t *testing.T) { err = artifactoryCli.WithoutCredentials().Exec("curl", "-XGET", "/api/system/version", "--server-id=not_configured_name_"+tests.ServerId) assert.Error(t, err) + // Set JFROG_CLI_SERVER_ID and check curl command + _ = os.Setenv(coreutils.ServerID, tests.ServerId) + defer func() { + _ = os.Unsetenv(coreutils.ServerID) + }() // Cleanup after test + err = artifactoryCli.WithoutCredentials().Exec("curl", "-XGET", "/api/system/version") + assert.NoError(t, err) + + // Set JFROG_CLI_SERVER_ID with --server-id flag (should use the flag) + err = artifactoryCli.WithoutCredentials().Exec("curl", "-XGET", "/api/system/version", "--server-id="+tests.ServerId) + assert.NoError(t, err) + cleanArtifactoryTest() }