)]}'
{"doc/source/reference/config.rst":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9b416f98a686f09ff4e6809cdf89b3a794a0eaae","unresolved":true,"context_lines":[{"line_number":70,"context_line":"expression. To match at an arbitrary position, prepend ``.*`` to the"},{"line_number":71,"context_line":"regular expression."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Zuul uses Google RE2 library (via ``fb-re2`` binding) for regular"},{"line_number":74,"context_line":"expressions parsing. Due to security considerations RE2 supports"},{"line_number":75,"context_line":"`restricted syntax \u003chttps://github.com/google/re2/wiki/Syntax\u003e`_"},{"line_number":76,"context_line":"(e.g. lookahead and lookbehind are not supported)."}],"source_content_type":"text/x-rst","patch_set":10,"id":"c884aa9b_490a9c3b","line":73,"updated":"2021-08-26 23:42:39.000000000","message":"I think we probably don\u0027t need to go into detail in here about the bindings or security implications at this level.  I found [1] which is similar an just says\n\n\"We support RE2 Syntax only, which differs slightly from PCRE. Regular expressions are case-sensitive by default.\"\n\nI\u0027d drop this first sentence and the bit about security and just keep \"we use RE2, it\u0027s slightly different, here\u0027s the link\"\n\n[1] https://support.google.com/a/answer/1371417?hl\u003den","commit_id":"3ef0534be550923d50b521ce28f7060c6f54ca06"},{"author":{"_account_id":10961,"name":"lotorev vitaly","display_name":"Vitaliy Lotorev","email":"lotorev@gmail.com","username":"Vitaliy"},"change_message_id":"fd12b9837b37dd98e02a854fc0ff1790c4ac1074","unresolved":false,"context_lines":[{"line_number":70,"context_line":"expression. To match at an arbitrary position, prepend ``.*`` to the"},{"line_number":71,"context_line":"regular expression."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Zuul uses Google RE2 library (via ``fb-re2`` binding) for regular"},{"line_number":74,"context_line":"expressions parsing. Due to security considerations RE2 supports"},{"line_number":75,"context_line":"`restricted syntax \u003chttps://github.com/google/re2/wiki/Syntax\u003e`_"},{"line_number":76,"context_line":"(e.g. lookahead and lookbehind are not supported)."}],"source_content_type":"text/x-rst","patch_set":10,"id":"44821a0c_1e3ff9b3","line":73,"in_reply_to":"aec7d233_796b8a2c","updated":"2021-09-07 20:03:17.000000000","message":"Removed sentence about bindings and security.\n\nI\u0027d like to stress that it\u0027s \u0027restricted syntax\u0027, not just \u0027slightly different\u0027: it took quite a while to analyze scheduler/executor log errors -\u003e zuul .py module -\u003e import fb-re -\u003e etc to get down why look ahead regexp is not working.","commit_id":"3ef0534be550923d50b521ce28f7060c6f54ca06"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"af3014464757616d3f6f195887380a5bd21fea3e","unresolved":true,"context_lines":[{"line_number":70,"context_line":"expression. To match at an arbitrary position, prepend ``.*`` to the"},{"line_number":71,"context_line":"regular expression."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Zuul uses Google RE2 library (via ``fb-re2`` binding) for regular"},{"line_number":74,"context_line":"expressions parsing. Due to security considerations RE2 supports"},{"line_number":75,"context_line":"`restricted syntax \u003chttps://github.com/google/re2/wiki/Syntax\u003e`_"},{"line_number":76,"context_line":"(e.g. lookahead and lookbehind are not supported)."}],"source_content_type":"text/x-rst","patch_set":10,"id":"aec7d233_796b8a2c","line":73,"in_reply_to":"c884aa9b_490a9c3b","updated":"2021-09-07 14:20:12.000000000","message":"Though the rest of the documentation seems to use `Zuul` instead of `We`.","commit_id":"3ef0534be550923d50b521ce28f7060c6f54ca06"}],"doc/source/user/config.rst":[{"author":{"_account_id":10961,"name":"lotorev vitaly","display_name":"Vitaliy Lotorev","email":"lotorev@gmail.com","username":"Vitaliy"},"change_message_id":"b6d41c24443c8910fb3c25da838dc678b1fceab3","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"      and match the full project name following the same rule as name without"},{"line_number":1405,"context_line":"      regex. If not given it is implicitly derived from the project where this"},{"line_number":1406,"context_line":"      is defined. Regex parsing is implemented via Google RE2 library that"},{"line_number":1407,"context_line":"      has `restricted syntax \u003chttps://github.com/google/re2/wiki/Syntax\u003e`_."},{"line_number":1408,"context_line":""},{"line_number":1409,"context_line":"   .. attr:: templates"},{"line_number":1410,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_525a9381","line":1407,"updated":"2019-11-25 22:32:30.000000000","message":"Actually re2 is used in multiple places:\n\n* zuul/configloader.py\n* zuul/driver/gerrit/gerritconnection.py\n* zuul/driver/github/githubmodel.py\n* zuul/model.py\n\nShould I place this into separate chapter and not only for project.name description?","commit_id":"cd3ea418ffc7368e390ede7444895e7857592974"},{"author":{"_account_id":10961,"name":"lotorev vitaly","display_name":"Vitaliy Lotorev","email":"lotorev@gmail.com","username":"Vitaliy"},"change_message_id":"8317443d518db72ce00bf79a677dcf871ac277a1","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"      and match the full project name following the same rule as name without"},{"line_number":1405,"context_line":"      regex. If not given it is implicitly derived from the project where this"},{"line_number":1406,"context_line":"      is defined. Regex parsing is implemented via Google RE2 library that"},{"line_number":1407,"context_line":"      has `restricted syntax \u003chttps://github.com/google/re2/wiki/Syntax\u003e`_."},{"line_number":1408,"context_line":""},{"line_number":1409,"context_line":"   .. attr:: templates"},{"line_number":1410,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_7a48b661","line":1407,"in_reply_to":"3fa7e38b_0d6400e4","updated":"2019-11-26 20:59:36.000000000","message":"Where to place such common section? As a top level chapter in User Guide? Actually regex are also mentioned in Administrators guide.","commit_id":"cd3ea418ffc7368e390ede7444895e7857592974"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"9717993a0071f59bbb77192fb901be17d80c8f81","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"      and match the full project name following the same rule as name without"},{"line_number":1405,"context_line":"      regex. If not given it is implicitly derived from the project where this"},{"line_number":1406,"context_line":"      is defined. Regex parsing is implemented via Google RE2 library that"},{"line_number":1407,"context_line":"      has `restricted syntax \u003chttps://github.com/google/re2/wiki/Syntax\u003e`_."},{"line_number":1408,"context_line":""},{"line_number":1409,"context_line":"   .. attr:: templates"},{"line_number":1410,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_0d6400e4","line":1407,"in_reply_to":"3fa7e38b_525a9381","updated":"2019-11-25 23:04:47.000000000","message":"Might make sense to link to a common regex details section from those others sections\u0027 documentation.","commit_id":"cd3ea418ffc7368e390ede7444895e7857592974"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"11b54a175437b86f84593912ab36ba73eec78c42","unresolved":false,"context_lines":[{"line_number":1871,"context_line":"Regular expressions"},{"line_number":1872,"context_line":"-------------------"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"Zuul uses standard Python ``re`` module and Google RE2 library (via"},{"line_number":1875,"context_line":"``fb-re2`` binding) for regular expressions parsing. Due to security"},{"line_number":1876,"context_line":"considerations RE2 supports `restricted syntax`__."},{"line_number":1877,"context_line":"If configuration parameter documentation doesn\u0027t explicitly specify"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3fa7e38b_8f02e171","line":1874,"range":{"start_line":1874,"start_character":0,"end_line":1874,"end_character":39},"updated":"2019-12-01 23:31:12.000000000","message":"I think this is only the case because of backward compatibility concerns. Perhaps it would be better to only mention the restricted re2 syntax support?","commit_id":"6a0a333b4b5ac7ee5cfc6ee3c980e75fa859ce8f"},{"author":{"_account_id":10961,"name":"lotorev vitaly","display_name":"Vitaliy Lotorev","email":"lotorev@gmail.com","username":"Vitaliy"},"change_message_id":"0764577c8e3d15166460e61aec38b68bb99ecc40","unresolved":false,"context_lines":[{"line_number":1871,"context_line":"Regular expressions"},{"line_number":1872,"context_line":"-------------------"},{"line_number":1873,"context_line":""},{"line_number":1874,"context_line":"Zuul uses standard Python ``re`` module and Google RE2 library (via"},{"line_number":1875,"context_line":"``fb-re2`` binding) for regular expressions parsing. Due to security"},{"line_number":1876,"context_line":"considerations RE2 supports `restricted syntax`__."},{"line_number":1877,"context_line":"If configuration parameter documentation doesn\u0027t explicitly specify"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4a343d28_e21185f0","line":1874,"range":{"start_line":1874,"start_character":0,"end_line":1874,"end_character":39},"in_reply_to":"3fa7e38b_8f02e171","updated":"2021-08-08 21:32:01.000000000","message":"Done","commit_id":"6a0a333b4b5ac7ee5cfc6ee3c980e75fa859ce8f"}]}
