)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"e162a80c41a8eb1ae6f042e62b319ad314a19e1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0244cbd1_febe1eb1","updated":"2022-01-07 10:43:54.000000000","message":"The change is not working. I do not understand why I still get \u0027cl\u0027 text in places I did not expect. Unfortunately Buildkite instance where this is available is private. I was hoping somebody could see what I have missed. ","commit_id":"f316ec65277e64359249a2f54a9de75bf22fee3b"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8a5cb76eccffcd4157c96dbd984250a1d3c305d7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a48ae64f_f090d487","updated":"2022-01-19 07:47:14.000000000","message":"After making the next set of changes, please run the code formatter (either via `go fmt` in the besadii folder or - if you have direnv enabled - via `depotfmt` anywhere in the repo).","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"b3c62306b379286dff0e8830b58ac541991c078e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e715adce_eb9c9a6d","in_reply_to":"a48ae64f_f090d487","updated":"2022-01-19 08:00:07.000000000","message":"Done","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"}],"ops/besadii/main.go":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"a0436dff6f2b5d5389c54180b3b14bdbd116c40e","unresolved":true,"context_lines":[{"line_number":47,"context_line":"\tBuildkiteOrg      string `json:\"buildkiteOrg\"`"},{"line_number":48,"context_line":"\tBuildkiteProject  string `json:\"buildkiteProject\"`"},{"line_number":49,"context_line":"\tBuildkiteToken    string `json:\"buildkiteToken\"`"},{"line_number":50,"context_line":"\tGenericChangeName string `json:\"genericChangeName\"`"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"\t// Optional configuration for Sourcegraph trigger updates."},{"line_number":53,"context_line":"\tSourcegraphUrl   string `json:\"sourcegraphUrl\"`"}],"source_content_type":"text/x-go","patch_set":2,"id":"168f4357_ddc5c367","line":50,"range":{"start_line":50,"start_character":33,"end_line":50,"end_character":40},"updated":"2022-01-07 12:18:39.000000000","message":"I think we could s/generic/gerrit here, since it\u0027s always about Gerrit and `gerritChangeName` sounds more descriptive","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"49313d1b0efd1c36e36ff61ad00493b79d648004","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\tBuildkiteOrg      string `json:\"buildkiteOrg\"`"},{"line_number":48,"context_line":"\tBuildkiteProject  string `json:\"buildkiteProject\"`"},{"line_number":49,"context_line":"\tBuildkiteToken    string `json:\"buildkiteToken\"`"},{"line_number":50,"context_line":"\tGenericChangeName string `json:\"genericChangeName\"`"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"\t// Optional configuration for Sourcegraph trigger updates."},{"line_number":53,"context_line":"\tSourcegraphUrl   string `json:\"sourcegraphUrl\"`"}],"source_content_type":"text/x-go","patch_set":2,"id":"b879ba9e_c97eb893","line":50,"range":{"start_line":50,"start_character":33,"end_line":50,"end_character":40},"in_reply_to":"168f4357_ddc5c367","updated":"2022-01-12 12:25:27.000000000","message":"Done","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"a0436dff6f2b5d5389c54180b3b14bdbd116c40e","unresolved":true,"context_lines":[{"line_number":139,"context_line":"\t\tcfg.GerritLabel \u003d \"Verified\""},{"line_number":140,"context_line":"\t}"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"\t// The text default text referring a Gerrit Change in BuildKite."},{"line_number":143,"context_line":"\tif cfg.GenericChangeName \u003d\u003d \"\" {"},{"line_number":144,"context_line":"\t\tcfg.GenericChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"a7af1d9a_c1ffab53","line":142,"range":{"start_line":142,"start_character":26,"end_line":142,"end_character":35},"updated":"2022-01-07 12:18:39.000000000","message":"referring to","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"49313d1b0efd1c36e36ff61ad00493b79d648004","unresolved":false,"context_lines":[{"line_number":139,"context_line":"\t\tcfg.GerritLabel \u003d \"Verified\""},{"line_number":140,"context_line":"\t}"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"\t// The text default text referring a Gerrit Change in BuildKite."},{"line_number":143,"context_line":"\tif cfg.GenericChangeName \u003d\u003d \"\" {"},{"line_number":144,"context_line":"\t\tcfg.GenericChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"e27e3e4c_aceb4b97","line":142,"range":{"start_line":142,"start_character":26,"end_line":142,"end_character":35},"in_reply_to":"a7af1d9a_c1ffab53","updated":"2022-01-12 12:25:27.000000000","message":"Done","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"a0436dff6f2b5d5389c54180b3b14bdbd116c40e","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"667433bf_ce6a8e75","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"updated":"2022-01-07 12:18:39.000000000","message":"I think having spaces in these is a bad idea in general, we should probably disallow that. Having something simple like [a-z0-9]* means that it\u0027s trivial to turn these terms into something that can be used as a short URL.","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"124d26b9590389c1bda087346f084a68da9707fa","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"3cd1275a_7dadac75","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"0242f61b_9c5c080a","updated":"2022-01-13 08:54:59.000000000","message":"I suggest add capital letters and \u0027/\u0027 but not [-\\/_] as first character:\n [a-zA-Z0-9][a-zA-Z0-9\\-\\_\\/]*","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"fa2846063b7565acb268c4143ee4b97c867672c0","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"695883f8_b8410c57","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"3893f922_a25ba01f","updated":"2022-01-12 12:30:49.000000000","message":"We should probably go with the intersection of https://git-scm.com/docs/git-check-ref-format \u0026 characters that can be present in URLs without special encoding.","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"a12b99905efc3db1b738747d32c329ea2f639a94","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"224e5537_8457f922","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"3893f922_a25ba01f","updated":"2022-01-12 12:27:24.000000000","message":"did in the end implement what you wanted.","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8904664ae7da351769eaa33be3669468df9ff6a9","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"13a2fac1_58cfb558","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"3cd1275a_7dadac75","updated":"2022-01-18 15:01:42.000000000","message":"Done","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"49313d1b0efd1c36e36ff61ad00493b79d648004","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"3893f922_a25ba01f","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"667433bf_ce6a8e75","updated":"2022-01-12 12:25:27.000000000","message":"I will try to implement something. Could we allow for \u0027-\u0027. IMO it is easier to read Gerrit-Change than GerrtiChange. From what I can find \u0027-\u0027 is allowed in urls.","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"26a07b02c5f7f950260a3b1edb8a76ae77ed12e2","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"a190484d_2df39680","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"695883f8_b8410c57","updated":"2022-01-12 15:25:41.000000000","message":"Just to be sure. Allow all that is possible in this link?","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c23d79da9b22da4c28d0d052f44d9660337983c5","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"\t\t// The branch doesn\u0027t have to be a real ref (it\u0027s just used to"},{"line_number":219,"context_line":"\t\t// group builds), so make it the identifier for the CL. Replacing"},{"line_number":220,"context_line":"\t\t// space \" \" with \"_\" from branch as git branch names with space"},{"line_number":221,"context_line":"\t\t// are not supported."},{"line_number":222,"context_line":"\t\tbranch \u003d fmt.Sprintf(\"%s/%v\", strings.Replace(cfg.GenericChangeName, \" \", \"_\", -1), strings.Split(trigger.ref, \"/\")[3])"},{"line_number":223,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"0242f61b_9c5c080a","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":24},"in_reply_to":"a190484d_2df39680","updated":"2022-01-12 15:35:21.000000000","message":"some of those rules will be hard to do in a regex, I\u0027d go for something safe like [a-z0-9\\-\\_]+\n\nThere\u0027s some weirdness there like @, .., which we probably don\u0027t want to deal with.","commit_id":"2349bcf7547ab16c7d9529db3b915f1430f4d801"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8904664ae7da351769eaa33be3669468df9ff6a9","unresolved":true,"context_lines":[{"line_number":143,"context_line":"\tif cfg.GerritChangeName \u003d\u003d \"\" {"},{"line_number":144,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"},{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"}],"source_content_type":"text/x-go","patch_set":4,"id":"67e61b34_d1ea2865","line":146,"range":{"start_line":146,"start_character":0,"end_line":146,"end_character":27},"updated":"2022-01-18 15:01:42.000000000","message":"We might want to do this like with the `changeIdRegexp` above (precompile and catch potential errors early).","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"65ef3df9898231f702aad43c04da7f46a84dd461","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\tif cfg.GerritChangeName \u003d\u003d \"\" {"},{"line_number":144,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"},{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"}],"source_content_type":"text/x-go","patch_set":4,"id":"3df3e9d7_c4ea2e41","line":146,"range":{"start_line":146,"start_character":0,"end_line":146,"end_character":27},"in_reply_to":"67e61b34_d1ea2865","updated":"2022-01-19 06:54:47.000000000","message":"Done","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8904664ae7da351769eaa33be3669468df9ff6a9","unresolved":true,"context_lines":[{"line_number":144,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"},{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"},{"line_number":150,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":4,"id":"933a32ea_f0f12d88","line":147,"range":{"start_line":147,"start_character":1,"end_line":147,"end_character":8},"updated":"2022-01-18 15:01:42.000000000","message":"The first value returned by `MatchString` is a boolean indicating whether there was a match, the second one is a potential error (e.g. if the regex is invalid).\n\nWe can avoid the error by using the compiled interface as mentioned above, in that case there is only the boolean to check: https://pkg.go.dev/regexp#Regexp.MatchString","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"65ef3df9898231f702aad43c04da7f46a84dd461","unresolved":true,"context_lines":[{"line_number":144,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"},{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"},{"line_number":150,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":4,"id":"a483610e_755b5fb6","line":147,"range":{"start_line":147,"start_character":1,"end_line":147,"end_character":8},"in_reply_to":"933a32ea_f0f12d88","updated":"2022-01-19 06:54:47.000000000","message":"Thanks for the suggestion! \n\nI did consider below, but picked the committed solution. Still not sure what is the best:\n\nvar regexpStr \u003d `^[a-z0-9]+$`\nif regexp.MustCompile(regexpStr).MatchString(cfg.GerritChangeName) {\n\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regexp \u0027%s\u0027\", regexpStr)\n}","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"d521e36207f48c33e9a22cbc36d90585a28ad9a8","unresolved":false,"context_lines":[{"line_number":144,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":145,"context_line":"\t}"},{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"},{"line_number":150,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":4,"id":"413e64f3_6a58862b","line":147,"range":{"start_line":147,"start_character":1,"end_line":147,"end_character":8},"in_reply_to":"a483610e_755b5fb6","updated":"2022-01-19 08:16:09.000000000","message":"Done","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8904664ae7da351769eaa33be3669468df9ff6a9","unresolved":true,"context_lines":[{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"},{"line_number":150,"context_line":"\t}"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"\t// Rudimentary config validation logic"}],"source_content_type":"text/x-go","patch_set":4,"id":"222103e2_8a0ae61c","line":149,"range":{"start_line":149,"start_character":67,"end_line":149,"end_character":74},"updated":"2022-01-18 15:01:42.000000000","message":"extra words?","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"65ef3df9898231f702aad43c04da7f46a84dd461","unresolved":false,"context_lines":[{"line_number":146,"context_line":"\tregexpStr :\u003d `^[a-z0-9]+$`"},{"line_number":147,"context_line":"\t_, err \u003d regexp.MatchString(regexpStr, cfg.GerritChangeName)"},{"line_number":148,"context_line":"\tif err !\u003d nil {"},{"line_number":149,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regex \u0027%s\u0027 is set\", regexpStr)"},{"line_number":150,"context_line":"\t}"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"\t// Rudimentary config validation logic"}],"source_content_type":"text/x-go","patch_set":4,"id":"053f7f87_7a83cdeb","line":149,"range":{"start_line":149,"start_character":67,"end_line":149,"end_character":74},"in_reply_to":"222103e2_8a0ae61c","updated":"2022-01-19 06:54:47.000000000","message":"Done","commit_id":"f78c772735d28d88c8f4c4d95fb16b173679da41"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8a5cb76eccffcd4157c96dbd984250a1d3c305d7","unresolved":true,"context_lines":[{"line_number":147,"context_line":"\t\tcfg.GerritLabel \u003d \"Verified\""},{"line_number":148,"context_line":"\t}"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"\t// The text default text referring a Gerrit Change in BuildKite."},{"line_number":151,"context_line":"\tif cfg.GerritChangeName \u003d\u003d \"\" {"},{"line_number":152,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":153,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"79500b77_41f5f6e2","line":150,"range":{"start_line":150,"start_character":8,"end_line":150,"end_character":12},"updated":"2022-01-19 07:47:14.000000000","message":"extra \"text\"","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"b3c62306b379286dff0e8830b58ac541991c078e","unresolved":false,"context_lines":[{"line_number":147,"context_line":"\t\tcfg.GerritLabel \u003d \"Verified\""},{"line_number":148,"context_line":"\t}"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"\t// The text default text referring a Gerrit Change in BuildKite."},{"line_number":151,"context_line":"\tif cfg.GerritChangeName \u003d\u003d \"\" {"},{"line_number":152,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":153,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":5,"id":"c00570b8_2546fae8","line":150,"range":{"start_line":150,"start_character":8,"end_line":150,"end_character":12},"in_reply_to":"79500b77_41f5f6e2","updated":"2022-01-19 08:00:07.000000000","message":"Done","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8a5cb76eccffcd4157c96dbd984250a1d3c305d7","unresolved":true,"context_lines":[{"line_number":151,"context_line":"\tif cfg.GerritChangeName \u003d\u003d \"\" {"},{"line_number":152,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":153,"context_line":"\t}"},{"line_number":154,"context_line":"\tif gerritChangeNameCheck.MatchString(cfg.GerritChangeName) {"},{"line_number":155,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regexp \u0027%s\u0027\", gerritChangeNameRegexp)"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"28ec83ec_89ed1abb","line":154,"range":{"start_line":154,"start_character":4,"end_line":154,"end_character":25},"updated":"2022-01-19 07:47:14.000000000","message":"missing an `!` (you want to check whether it *doesn\u0027t* match)","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"b3c62306b379286dff0e8830b58ac541991c078e","unresolved":false,"context_lines":[{"line_number":151,"context_line":"\tif cfg.GerritChangeName \u003d\u003d \"\" {"},{"line_number":152,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":153,"context_line":"\t}"},{"line_number":154,"context_line":"\tif gerritChangeNameCheck.MatchString(cfg.GerritChangeName) {"},{"line_number":155,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regexp \u0027%s\u0027\", gerritChangeNameRegexp)"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-go","patch_set":5,"id":"cae5b57a_b50dba0e","line":154,"range":{"start_line":154,"start_character":4,"end_line":154,"end_character":25},"in_reply_to":"28ec83ec_89ed1abb","updated":"2022-01-19 08:00:07.000000000","message":"Done","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8a5cb76eccffcd4157c96dbd984250a1d3c305d7","unresolved":true,"context_lines":[{"line_number":152,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":153,"context_line":"\t}"},{"line_number":154,"context_line":"\tif gerritChangeNameCheck.MatchString(cfg.GerritChangeName) {"},{"line_number":155,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regexp \u0027%s\u0027\", gerritChangeNameRegexp)"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"\t// Rudimentary config validation logic"}],"source_content_type":"text/x-go","patch_set":5,"id":"253fcaef_cdab419b","line":155,"range":{"start_line":155,"start_character":45,"end_line":155,"end_character":67},"updated":"2022-01-19 07:47:14.000000000","message":"I wouldn\u0027t put the regex in the error message (since it\u0027s static), but I would echo the configured change name back out. So something like:\n\n fmt.Errorf(\"invalid \u0027gerritChangeName\u0027: %s\", cfg.GerritChangeName)","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"},{"author":{"_account_id":1000043,"name":"asmundo","display_name":"Åsmund","email":"asmundo@gmail.com","username":"asmundo"},"change_message_id":"b3c62306b379286dff0e8830b58ac541991c078e","unresolved":false,"context_lines":[{"line_number":152,"context_line":"\t\tcfg.GerritChangeName \u003d \"cl\""},{"line_number":153,"context_line":"\t}"},{"line_number":154,"context_line":"\tif gerritChangeNameCheck.MatchString(cfg.GerritChangeName) {"},{"line_number":155,"context_line":"\t\treturn nil, fmt.Errorf(\"\u0027gerritChangeName\u0027 must match regexp \u0027%s\u0027\", gerritChangeNameRegexp)"},{"line_number":156,"context_line":"\t}"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"\t// Rudimentary config validation logic"}],"source_content_type":"text/x-go","patch_set":5,"id":"afca97cd_999bc613","line":155,"range":{"start_line":155,"start_character":45,"end_line":155,"end_character":67},"in_reply_to":"253fcaef_cdab419b","updated":"2022-01-19 08:00:07.000000000","message":"Done","commit_id":"32921a66b76e8afa61866274a8755f7c8e814c5c"}]}
