)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"cb0f61f21c1a235bb712b0107ee3da11c0606da2","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix letsencrypt-lego logging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes formatting of letsencrypt"},{"line_number":10,"context_line":"log formatting so it will be easier to parse"},{"line_number":11,"context_line":"via fluent."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"414b6feb_74391389","line":9,"range":{"start_line":9,"start_character":17,"end_line":9,"end_character":27},"updated":"2023-11-07 11:27:26.000000000","message":"1st and...","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4fa2c3687b049b156b77e5f73d56be0b119aeea","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix letsencrypt-lego logging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes formatting of letsencrypt"},{"line_number":10,"context_line":"log formatting so it will be easier to parse"},{"line_number":11,"context_line":"via fluent."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"33e5a805_76791f70","line":9,"range":{"start_line":9,"start_character":17,"end_line":9,"end_character":27},"in_reply_to":"414b6feb_74391389","updated":"2023-11-07 17:21:00.000000000","message":"Done","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"cb0f61f21c1a235bb712b0107ee3da11c0606da2","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Fix letsencrypt-lego logging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes formatting of letsencrypt"},{"line_number":10,"context_line":"log formatting so it will be easier to parse"},{"line_number":11,"context_line":"via fluent."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I8a403e14819df4351e28d53c676571a3ad0c14be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"0a84aed9_526fff46","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":14},"updated":"2023-11-07 11:27:26.000000000","message":"2nd word repeating)","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4fa2c3687b049b156b77e5f73d56be0b119aeea","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix letsencrypt-lego logging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch fixes formatting of letsencrypt"},{"line_number":10,"context_line":"log formatting so it will be easier to parse"},{"line_number":11,"context_line":"via fluent."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I8a403e14819df4351e28d53c676571a3ad0c14be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"d6005e32_242c4024","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":14},"in_reply_to":"0a84aed9_526fff46","updated":"2023-11-07 17:21:00.000000000","message":"Done","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"5be892828e48641084333bb974e539daca0c2c90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c80c52ef_a8a4b81f","updated":"2023-11-02 00:46:07.000000000","message":"recheck setup gate fixed cross-dependency","commit_id":"71539f6195026e50f5c48637310f8d97fc2a9b27"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"56065bb9fb086b4756f6d1454e94a379b3f45f4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"06a7e0f5_622c8e30","updated":"2023-11-02 00:52:17.000000000","message":"recheck new version of dependency","commit_id":"f1f1a582fbe3a472d24759e6528117933568084f"}],"docker/haproxy/haproxy-ssh/update-haproxy-cert.sh":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b1f6aded62cff1d6726624d93cfe007b4b9e9f82","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"c6302f00_a0d476ca","line":4,"updated":"2023-11-02 08:23:13.000000000","message":"Is there any advantage in using a local variable here over just referencing $1 in the echo command?","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"bbd9d74a0e67a5881c7bf91ce9cab36351752064","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"59970971_a1888a6c","line":4,"in_reply_to":"c6302f00_a0d476ca","updated":"2023-11-02 10:43:16.000000000","message":"no, but it\u0027s still nicer and more readable.","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b1f6aded62cff1d6726624d93cfe007b4b9e9f82","unresolved":true,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":5,"id":"505c6bca_dfdae88c","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":45},"updated":"2023-11-02 08:23:13.000000000","message":"Why not combine this into a single date invocation? Seems a bit wastefule to do two calls to get one timestamp","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"bbd9d74a0e67a5881c7bf91ce9cab36351752064","unresolved":true,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":5,"id":"7e0292e1_58757a8e","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":45},"in_reply_to":"505c6bca_dfdae88c","updated":"2023-11-02 10:43:16.000000000","message":"Well, you\u0027re absolutely right, it caught my eye even now, when you mentioned it 😄 😄","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1a21e936f534c6b791582e721560ce247e54154","unresolved":false,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":5,"id":"1f1475b0_1f35efa7","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":45},"in_reply_to":"7e0292e1_58757a8e","updated":"2023-11-03 14:59:15.000000000","message":"Done","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b1f6aded62cff1d6726624d93cfe007b4b9e9f82","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    if [ \"${cert_input_sha1}\" \u003d \"${cert_dest_sha1}\" ]; then"},{"line_number":37,"context_line":"        log_info \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} successfull.\""},{"line_number":38,"context_line":"    else"},{"line_number":39,"context_line":"        log_error \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} failed.\""},{"line_number":40,"context_line":"        exit 1"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"b583fe4e_fb9c36e0","line":39,"updated":"2023-11-02 08:23:13.000000000","message":"Not directly related, but wouldn\u0027t it be useful if this error message was somehow different from the one above, so one can decide from the log at which step the transaction failed?","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"2c00ef099ed08b3d4685a2206f270dad5cd10795","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if [ \"${cert_input_sha1}\" \u003d \"${cert_dest_sha1}\" ]; then"},{"line_number":37,"context_line":"        log_info \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} successfull.\""},{"line_number":38,"context_line":"    else"},{"line_number":39,"context_line":"        log_error \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} failed.\""},{"line_number":40,"context_line":"        exit 1"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"78f8d776_ad45bd22","line":39,"in_reply_to":"384a71ee_ea7386fb","updated":"2023-11-03 14:59:28.000000000","message":"Done","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b081ffce99948d695d31c25db742eca8b2e1bcf7","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    if [ \"${cert_input_sha1}\" \u003d \"${cert_dest_sha1}\" ]; then"},{"line_number":37,"context_line":"        log_info \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} successfull.\""},{"line_number":38,"context_line":"    else"},{"line_number":39,"context_line":"        log_error \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} failed.\""},{"line_number":40,"context_line":"        exit 1"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"384a71ee_ea7386fb","line":39,"in_reply_to":"5c48b7ad_6b94e6ce","updated":"2023-11-03 06:13:52.000000000","message":"Updating a piece of code IMO is always a good opportunity to also review existing code, otherwise noone will ever look at it again. What currently doesn\u0027t work is deciding from the log which of the two failures happened, I do think that this is relevant under the topic of \"Fix logging\"","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"bbd9d74a0e67a5881c7bf91ce9cab36351752064","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if [ \"${cert_input_sha1}\" \u003d \"${cert_dest_sha1}\" ]; then"},{"line_number":37,"context_line":"        log_info \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} successfull.\""},{"line_number":38,"context_line":"    else"},{"line_number":39,"context_line":"        log_error \"[${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} failed.\""},{"line_number":40,"context_line":"        exit 1"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"5c48b7ad_6b94e6ce","line":39,"in_reply_to":"b583fe4e_fb9c36e0","updated":"2023-11-02 10:43:16.000000000","message":"Let\u0027s focus to the change please, not to already merged code. Anyway, you have nothing to solve there, either it works or it doesn\u0027t..","commit_id":"f45e2cb0589ef87796f65fd4ee028e01211e23fd"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"cb0f61f21c1a235bb712b0107ee3da11c0606da2","unresolved":true,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"ee3bd418_c3e87663","line":6,"range":{"start_line":6,"start_character":35,"end_line":6,"end_character":44},"updated":"2023-11-07 11:27:26.000000000","message":"ditto","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"cb0f61f21c1a235bb712b0107ee3da11c0606da2","unresolved":true,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"853cd8c7_030d6988","line":6,"range":{"start_line":6,"start_character":17,"end_line":6,"end_character":26},"updated":"2023-11-07 11:27:26.000000000","message":"wrap in single quote","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4fa2c3687b049b156b77e5f73d56be0b119aeea","unresolved":false,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"d006fc1b_70a235e3","line":6,"range":{"start_line":6,"start_character":17,"end_line":6,"end_character":26},"in_reply_to":"853cd8c7_030d6988","updated":"2023-11-07 17:21:00.000000000","message":"Done","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4fa2c3687b049b156b77e5f73d56be0b119aeea","unresolved":false,"context_lines":[{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"49a5a3ee_c7504d09","line":6,"range":{"start_line":6,"start_character":35,"end_line":6,"end_character":44},"in_reply_to":"ee3bd418_c3e87663","updated":"2023-11-07 17:21:00.000000000","message":"Done","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"cb0f61f21c1a235bb712b0107ee3da11c0606da2","unresolved":true,"context_lines":[{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"function haproxy_transaction_start {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3db33ad6_2827dd20","line":12,"range":{"start_line":12,"start_character":17,"end_line":12,"end_character":26},"updated":"2023-11-07 11:27:26.000000000","message":"ditto","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"cb0f61f21c1a235bb712b0107ee3da11c0606da2","unresolved":true,"context_lines":[{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"function haproxy_transaction_start {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"47beb990_6d15bee2","line":12,"range":{"start_line":12,"start_character":35,"end_line":12,"end_character":44},"updated":"2023-11-07 11:27:26.000000000","message":"ditto","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4fa2c3687b049b156b77e5f73d56be0b119aeea","unresolved":false,"context_lines":[{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"function haproxy_transaction_start {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"8b115fb7_fcf55553","line":12,"range":{"start_line":12,"start_character":17,"end_line":12,"end_character":26},"in_reply_to":"3db33ad6_2827dd20","updated":"2023-11-07 17:21:00.000000000","message":"Done","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4fa2c3687b049b156b77e5f73d56be0b119aeea","unresolved":false,"context_lines":[{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"function haproxy_transaction_start {"}],"source_content_type":"text/x-sh","patch_set":6,"id":"22a74c5b_4099943e","line":12,"range":{"start_line":12,"start_character":35,"end_line":12,"end_character":44},"in_reply_to":"47beb990_6d15bee2","updated":"2023-11-07 17:21:00.000000000","message":"Done","commit_id":"5691d00f5f6b0a3779d34f4efaa0e689fd61e94a"}]}
