)]}'
{"zuul/driver/github/graphql/__init__.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f6cc33700ce87214fadba255a198f8b6fe638e26","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":"import logging"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import pathspec"},{"line_number":17,"context_line":"from pkg_resources import resource_string"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from zuul.lib.logutil import get_annotated_logger"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_069b4473","line":16,"updated":"2020-09-14 10:33:35.000000000","message":"linters: F401 \u0027pathspec\u0027 imported but unused","commit_id":"b079a95ad2edf408fea60bb2800ffcbe5ff511a1"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"88c9c89bdbc8e5a49d574cc4d4c71b761005c58c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            if ref.get(\u0027name\u0027) \u003d\u003d change.branch"},{"line_number":92,"context_line":"        ]"},{"line_number":93,"context_line":"        if len(matching_rules) \u003e 1:"},{"line_number":94,"context_line":"            log.warn(\u0027More than one branch protection rules match change %s\u0027,"},{"line_number":95,"context_line":"                     change)"},{"line_number":96,"context_line":"            return result"},{"line_number":97,"context_line":"        elif len(matching_rules) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_af56a4cd","line":94,"updated":"2020-09-14 15:51:01.000000000","message":"What does this mean for the zuul user and/or operator? Should a single branch protection rule be used always? Maybe we should provide a hint to that here?","commit_id":"b9c2d25dce9e99f08ec76f03c87d1cbd0362af2a"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"df35c1004faa8bc28eea028429a322025cba8c10","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            if ref.get(\u0027name\u0027) \u003d\u003d change.branch"},{"line_number":92,"context_line":"        ]"},{"line_number":93,"context_line":"        if len(matching_rules) \u003e 1:"},{"line_number":94,"context_line":"            log.warn(\u0027More than one branch protection rules match change %s\u0027,"},{"line_number":95,"context_line":"                     change)"},{"line_number":96,"context_line":"            return result"},{"line_number":97,"context_line":"        elif len(matching_rules) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_8f01206e","line":94,"in_reply_to":"9f560f44_6f864c19","updated":"2020-09-14 16:00:08.000000000","message":"If the github ui warns too then I think this is sufficient to point people in the right direction.","commit_id":"b9c2d25dce9e99f08ec76f03c87d1cbd0362af2a"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"12166576f6812501ef56e2ae6167b017fb2fe94c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            if ref.get(\u0027name\u0027) \u003d\u003d change.branch"},{"line_number":92,"context_line":"        ]"},{"line_number":93,"context_line":"        if len(matching_rules) \u003e 1:"},{"line_number":94,"context_line":"            log.warn(\u0027More than one branch protection rules match change %s\u0027,"},{"line_number":95,"context_line":"                     change)"},{"line_number":96,"context_line":"            return result"},{"line_number":97,"context_line":"        elif len(matching_rules) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_6f864c19","line":94,"in_reply_to":"9f560f44_af56a4cd","updated":"2020-09-14 15:56:12.000000000","message":"The user can wrongly configure multiple patterns (since it\u0027s possible to use wildcars in the pattern) that match the same branch. This case is ambiguous (there is also a warning in the branch protection ui in github about that). In this case github uses a random matching rule so we cannot determine which one is correct.\n\nI\u0027m open for suggestions to better wording here.","commit_id":"b9c2d25dce9e99f08ec76f03c87d1cbd0362af2a"}],"zuul/driver/github/graphql/canmerge-legacy.graphql":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"88c9c89bdbc8e5a49d574cc4d4c71b761005c58c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        requiredStatusCheckContexts"},{"line_number":12,"context_line":"        requiresApprovingReviews"},{"line_number":13,"context_line":"        requiresCodeOwnerReviews"},{"line_number":14,"context_line":"        matchingRefs(first: 100) {"},{"line_number":15,"context_line":"          nodes {"},{"line_number":16,"context_line":"            name"},{"line_number":17,"context_line":"          }"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"9f560f44_af3d0490","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":31},"updated":"2020-09-14 15:51:01.000000000","message":"If a repo is operating on more than 100 matching refs could we potentially miss branch protections for ref 101 and beyond?","commit_id":"b9c2d25dce9e99f08ec76f03c87d1cbd0362af2a"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"12166576f6812501ef56e2ae6167b017fb2fe94c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        requiredStatusCheckContexts"},{"line_number":12,"context_line":"        requiresApprovingReviews"},{"line_number":13,"context_line":"        requiresCodeOwnerReviews"},{"line_number":14,"context_line":"        matchingRefs(first: 100) {"},{"line_number":15,"context_line":"          nodes {"},{"line_number":16,"context_line":"            name"},{"line_number":17,"context_line":"          }"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"9f560f44_cf767840","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":31},"in_reply_to":"9f560f44_af3d0490","updated":"2020-09-14 15:56:12.000000000","message":"That is correct, however I\u0027ve never seen branch protection patterns matching more than 100 branches yet. We\u0027d need to implement paging to support this case. (Users still could shard the rules as a workaround).\n\nIf there is a need I\u0027m open to extend this later in a follow up.","commit_id":"b9c2d25dce9e99f08ec76f03c87d1cbd0362af2a"}],"zuul/driver/github/graphql/canmerge.graphql":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"88c9c89bdbc8e5a49d574cc4d4c71b761005c58c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        requiredStatusCheckContexts"},{"line_number":12,"context_line":"        requiresApprovingReviews"},{"line_number":13,"context_line":"        requiresCodeOwnerReviews"},{"line_number":14,"context_line":"        matchingRefs(first: 100) {"},{"line_number":15,"context_line":"          nodes {"},{"line_number":16,"context_line":"            name"},{"line_number":17,"context_line":"          }"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"9f560f44_cf431811","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":31},"updated":"2020-09-14 15:51:01.000000000","message":"See comment in the legacy file.","commit_id":"b9c2d25dce9e99f08ec76f03c87d1cbd0362af2a"}]}
