From 80b840e46ac299dac24bf216d43b54fca0bdcefd Mon Sep 17 00:00:00 2001 From: ssk42 Date: Fri, 20 Jun 2025 07:42:27 -0400 Subject: [PATCH 1/3] Improve picklist field creation debug output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The debug messages during picklist field creation were unclear and showed raw Go map output which was confusing for users: Before: Options: map[picklist>picklistValues:Pass, Fail, Redo] Key picklist>picklistValues After: Creating picklist with values: Pass, Fail, Redo The new output is more user-friendly and clearly communicates what values are being set for the picklist field. Fixes #324 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/metadata.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/metadata.go b/lib/metadata.go index c58da314..02a10b2d 100644 --- a/lib/metadata.go +++ b/lib/metadata.go @@ -901,9 +901,8 @@ func (fm *ForceMetadata) CreateCustomField(object, field, typ string, options ma case "picklist": soapField = "Picklist\n" for key, value := range options { - fmt.Println("Options: ", options) - fmt.Println(fmt.Sprintf("Key %s", key)) if key == "picklist>picklistValues" { + fmt.Printf("Creating picklist with values: %s\n", value) soapField += "\n" for _, k := range strings.Split(value, ",") { soapField += fmt.Sprintf("\n%s\nfalse\n\n", strings.Trim(k, " ")) From 54f52432e195f888d1a0dbac1e9cbcf7794fa7a8 Mon Sep 17 00:00:00 2001 From: ssk42 Date: Fri, 20 Jun 2025 08:57:32 -0400 Subject: [PATCH 2/3] Update picklist field creation to use Value Sets instead of deprecated picklist element MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace deprecated XML structure with modern approach for API v37.0+ compliance. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/metadata.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/metadata.go b/lib/metadata.go index 02a10b2d..a3bc9260 100644 --- a/lib/metadata.go +++ b/lib/metadata.go @@ -903,11 +903,11 @@ func (fm *ForceMetadata) CreateCustomField(object, field, typ string, options ma for key, value := range options { if key == "picklist>picklistValues" { fmt.Printf("Creating picklist with values: %s\n", value) - soapField += "\n" + soapField += "\n\nfalse\n" for _, k := range strings.Split(value, ",") { - soapField += fmt.Sprintf("\n%s\nfalse\n\n", strings.Trim(k, " ")) + soapField += fmt.Sprintf("\n%s\nfalse\n\n\n", strings.Trim(k, " "), strings.Trim(k, " ")) } - soapField += "\n" + soapField += "\n\n" } else { soapField += fmt.Sprintf("<%s>%s", key, value, key) } From 31f40060b1bd0c039d63487833aeada4c03137b3 Mon Sep 17 00:00:00 2001 From: ssk42 Date: Fri, 20 Jun 2025 09:00:12 -0400 Subject: [PATCH 3/3] Fix formatting consistency for picklist type element MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove trailing newline from Picklist to match other field types formatting. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/metadata.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/metadata.go b/lib/metadata.go index a3bc9260..70d16f7a 100644 --- a/lib/metadata.go +++ b/lib/metadata.go @@ -899,7 +899,7 @@ func (fm *ForceMetadata) CreateCustomField(object, field, typ string, options ma soapField += fmt.Sprintf("<%s>%s", key, value, key) } case "picklist": - soapField = "Picklist\n" + soapField = "Picklist" for key, value := range options { if key == "picklist>picklistValues" { fmt.Printf("Creating picklist with values: %s\n", value)