qontract-reconcile 0.10.1rc954__py3-none-any.whl → 0.10.1rc956__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qontract-reconcile
3
- Version: 0.10.1rc954
3
+ Version: 0.10.1rc956
4
4
  Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
5
5
  Home-page: https://github.com/app-sre/qontract-reconcile
6
6
  Author: Red Hat App-SRE Team
@@ -30,7 +30,7 @@ reconcile/github_repo_permissions_validator.py,sha256=dcbXdUx6imjNchjp3pg9-z1i7l
30
30
  reconcile/github_users.py,sha256=nfTq78QRONIfDVj-5O3bD6psllJjzWFnog-EJ1WqFPU,3672
31
31
  reconcile/github_validator.py,sha256=cVTVxJIGR4a1Jz8wrdXEAb_CMpXUzvykVmUURX4cook,917
32
32
  reconcile/gitlab_fork_compliance.py,sha256=5joAIGOOLhHme1ipa7ZQeQkUOVe3dKbRO1wJtTwyNR4,4178
33
- reconcile/gitlab_housekeeping.py,sha256=5qIJPflQzwSg3iTSCw7ClEM4VHrn70WLXyYCX9vTZ7Y,22004
33
+ reconcile/gitlab_housekeeping.py,sha256=1ewS9HQRK-m14Uvok8ZbSb_yn_TksMontSk3blTe7ZM,22043
34
34
  reconcile/gitlab_labeler.py,sha256=4xJHmVX155fclrHqkR926sL1GH6RTN5XfZ8PnqNXbRA,4534
35
35
  reconcile/gitlab_members.py,sha256=PrJE9OhDRdGG_gHM_77nQojLb4B18jtUu8DxgLsRS88,8417
36
36
  reconcile/gitlab_mr_sqs_consumer.py,sha256=O46mdziPgGOndbU-0_UJKJVUaiEoVzJPEgKm4_UvYoI,2571
@@ -104,7 +104,7 @@ reconcile/sendgrid_teammates.py,sha256=oO8QbLb4s1o8A6CGiCagN9CmS05BSS_WLztuY0Ym9
104
104
  reconcile/service_dependencies.py,sha256=PMKP9vc6oL-78rzyF_RE8DzLSQMSqN8vCqt9sWpBLAM,4470
105
105
  reconcile/signalfx_endpoint_monitoring.py,sha256=Nqgsg1cflSd2nNnm89y_e8c--7xLUqTrKOHkDs-qADE,2868
106
106
  reconcile/slack_base.py,sha256=8FqwMJ5SkoRyDJ9iPfZogWkC9QRoTouMCnGUevV_GME,3447
107
- reconcile/slack_usergroups.py,sha256=JpR46EgxBw8ghvOQBMmKqitJH3Xzv-sQjj6y6WZoNmE,29638
107
+ reconcile/slack_usergroups.py,sha256=rJJZdGpcDnS3O6lDMnFzdhwy8vLKhmGwnVrFVLVVgzw,29695
108
108
  reconcile/sql_query.py,sha256=pH-EHkXiDknn8ZNXVqRZeqFc3sKhu2nhsaykgSytbS8,25895
109
109
  reconcile/status.py,sha256=cY4IJFXemhxptRJqR4qaaOWqei9e4jgLXuVSGajMsjg,544
110
110
  reconcile/status_board.py,sha256=z2jVGIpiT4XSyiVNzc1sdVj8RjEDOq7DWXzZSqVeO1E,8642
@@ -266,7 +266,7 @@ reconcile/gql_definitions/common/saasherder_settings.py,sha256=nqQLcMwYxLseqq0BE
266
266
  reconcile/gql_definitions/common/slack_workspaces.py,sha256=2o0kgi4QiaRuNmZJnc_By4F6NsKIdRaXkrufRQw7Nok,1753
267
267
  reconcile/gql_definitions/common/smtp_client_settings.py,sha256=JU6t6D-Qj-z1gLlgUiHKe0W7AxWQdty9jlv-ig_43tM,2248
268
268
  reconcile/gql_definitions/common/state_aws_account.py,sha256=LAdpCG2-ykVpWBPO0Zu1WvG-hwKXyDC0fJQxJRpbqCk,2198
269
- reconcile/gql_definitions/common/users.py,sha256=uDiEDqa4QP89I2oFuKhCtVB61ZviIt7Y75fgrcCm7M4,1681
269
+ reconcile/gql_definitions/common/users.py,sha256=ahY3d185LbTekCGYBLJwZJljn54RJI_P5CVefdqyoZA,1705
270
270
  reconcile/gql_definitions/cost_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
271
271
  reconcile/gql_definitions/cost_report/app_names.py,sha256=fzqYXyiTSll359J1F1o7qapco0MSxgs3sr_Ssb2Kbns,1786
272
272
  reconcile/gql_definitions/cost_report/cost_namespaces.py,sha256=wV76J8Ynq0ObSfjSZQRLmCPUZ96frGc82Z5HPM_e4F4,2219
@@ -304,7 +304,7 @@ reconcile/gql_definitions/fragments/resource_values.py,sha256=-N2lNRhWp8PgocmIeX
304
304
  reconcile/gql_definitions/fragments/saas_target_namespace.py,sha256=8kMXeD7u2bmdjn10zHmMJ80ScOhUp6KqSfWfjWZW-40,4001
305
305
  reconcile/gql_definitions/fragments/terraform_state.py,sha256=S5QuTR9YlvUObiU7hevS9ybxZEssWoRGqCR9YtGwePs,1024
306
306
  reconcile/gql_definitions/fragments/upgrade_policy.py,sha256=cVza8zfra1E3yBsHiS-hKbys17fvv572GFnKshJjluE,1246
307
- reconcile/gql_definitions/fragments/user.py,sha256=84RGYYSYnZmyrwHlCX89-EgAu7UaLFOTMQXobmHCfz8,939
307
+ reconcile/gql_definitions/fragments/user.py,sha256=TZyFEs1fBg5PkvWdyCxFDZ_3aRhcQzusfhObXFiOU_0,1025
308
308
  reconcile/gql_definitions/fragments/vault_secret.py,sha256=8xoQJNx1jKw_1yradq1iLEYWzuOHra1bEHHU7WHKxqo,833
309
309
  reconcile/gql_definitions/gitlab_members/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
310
  reconcile/gql_definitions/gitlab_members/gitlab_instances.py,sha256=oYPvfiOsPTGHXQeSfxXvBuvJFrwp0VtE2F0lVKFQMoU,2206
@@ -340,7 +340,7 @@ reconcile/gql_definitions/openshift_cluster_bots/__init__.py,sha256=47DEQpj8HBSa
340
340
  reconcile/gql_definitions/openshift_cluster_bots/clusters.py,sha256=QshhCQeFRu_o0DLpD-4ltT5X_xZHjsCLc5jB3an3UXs,3688
341
341
  reconcile/gql_definitions/openshift_groups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
342
342
  reconcile/gql_definitions/openshift_groups/managed_groups.py,sha256=mBWZX9xxeW3eB1ylnAI5x_7UBacRqJf_H6um-fB_nKc,2013
343
- reconcile/gql_definitions/openshift_groups/managed_roles.py,sha256=J-uBsTczOHhUC5HeEFFxJE9ZMBHSdNgo4yhZdG1wcyk,2603
343
+ reconcile/gql_definitions/openshift_groups/managed_roles.py,sha256=rsHMgDWwnh0RRJpS_-TxD22KQPC6_7rtRfauTOtxH5I,2627
344
344
  reconcile/gql_definitions/quay_membership/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
345
345
  reconcile/gql_definitions/quay_membership/quay_membership.py,sha256=H2xHvdNr3K0QzB2dituwStUIWCqePt35dkgeUZycECM,2824
346
346
  reconcile/gql_definitions/rhidp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -357,8 +357,8 @@ reconcile/gql_definitions/skupper_network/site_controller_template.py,sha256=MFJ
357
357
  reconcile/gql_definitions/skupper_network/skupper_networks.py,sha256=Gfk1YshRj8WSaXgoImBbeXOZz0KXUTKhtf1jiWYEHxY,6037
358
358
  reconcile/gql_definitions/slack_usergroups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
359
359
  reconcile/gql_definitions/slack_usergroups/clusters.py,sha256=HUTPLna1jxCSyDbxG-LNj9QQUl6smiXOsuCuFTItLzk,2119
360
- reconcile/gql_definitions/slack_usergroups/permissions.py,sha256=BMZDBwaTyyk5t57Z2MhPzVvCgl5GMgGogK43ud8CO1Y,5449
361
- reconcile/gql_definitions/slack_usergroups/users.py,sha256=pJtsW8DNUgjSk_XpsuDxq5Nwzrb2QgtWVvCjnGBshb0,2873
360
+ reconcile/gql_definitions/slack_usergroups/permissions.py,sha256=f2TTFWOfneVZJEhDBG6y8c68tKZaVoAO8Q1T9J0_AMo,5473
361
+ reconcile/gql_definitions/slack_usergroups/users.py,sha256=-_iOFxctoVpX2wJt1Drrk8_Gb_FhZ5htdrxkBvDUtOA,2897
362
362
  reconcile/gql_definitions/slo_documents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
363
363
  reconcile/gql_definitions/slo_documents/slo_documents.py,sha256=pOrm9NXAonlo6Lxq6NkD3mHkZ53ZeBnZOZMkDvOEwds,3746
364
364
  reconcile/gql_definitions/status_board/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -501,9 +501,9 @@ reconcile/test/test_gabi_authorized_users.py,sha256=6XnV5Q9inxP81ktGMVKyWucjBTUj
501
501
  reconcile/test/test_gcr_mirror.py,sha256=A0y8auKZzr62-mGoxSQ__JnN0-ijZUltzjwR5miBgso,490
502
502
  reconcile/test/test_github_org.py,sha256=j3KeB4OnSln1gm2hidce49xdMru-j75NS3cM-AEgzZc,4511
503
503
  reconcile/test/test_github_repo_invites.py,sha256=UVaDlxSxi5iooyUbz8F11d7cvINHLK32Qx9b7xrDd-k,3347
504
- reconcile/test/test_gitlab_housekeeping.py,sha256=3n5X7aedrwFULpEtzSpfJf2Ky0cNn26zybh9KWr6N0k,10048
504
+ reconcile/test/test_gitlab_housekeeping.py,sha256=WQJ79gGQ-OixLH9JIo16fyTZC7QG7ItlCY16MGEkV-s,10064
505
505
  reconcile/test/test_gitlab_labeler.py,sha256=PmYXiU2g0_O5OTdMGPzdeqBAfat92U9bhjjfeyiGSmQ,4336
506
- reconcile/test/test_gitlab_members.py,sha256=kaCOA02eZSrSMkzHmaLwWW3LY6Af0ciLSEP4PlMLvOU,9949
506
+ reconcile/test/test_gitlab_members.py,sha256=yjfQRUFG_F0kLYegax4_ec5VIBAnCPrvAgqMcN1GXzc,9985
507
507
  reconcile/test/test_gitlab_permissions.py,sha256=vPFEsdjyP-lO8pc2rN6acMns3Sjz9YJs16msbBR8DZc,2736
508
508
  reconcile/test/test_instrumented_wrappers.py,sha256=CZzhnQH0c4i7-Rxjg7-0dfFMvVPegLHL46z5NHOOCwo,608
509
509
  reconcile/test/test_integrations_manager.py,sha256=l6KwSFT0NS9VSR-b_9z_ZEGXDWH3EMitUEMC_1h8Xkk,38184
@@ -541,7 +541,7 @@ reconcile/test/test_saasherder.py,sha256=VOVSltKFYXuNFSZLsACn8_ATsZruX1g0UokJg36
541
541
  reconcile/test/test_saasherder_allowed_secret_paths.py,sha256=5NHQwNJO66at6HiyMZ5sVRTQDwxdvlOQo0KmkBWCw5Q,4853
542
542
  reconcile/test/test_secret_reader.py,sha256=kz7nzcPjvA08cytnvcA_PMA98AEyqJWsESkYeRn5xCk,4994
543
543
  reconcile/test/test_slack_base.py,sha256=pTUGvJ2S2wF3PhJyGWmiNXG52QtXKy2cbu-G8Ymrv6I,5019
544
- reconcile/test/test_slack_usergroups.py,sha256=16mQar9Ar0GqwpOJBZ5nc7v1UzfXDd-9WCOEgT4cBKU,24941
544
+ reconcile/test/test_slack_usergroups.py,sha256=YU7O7WseOGKWGZXLqlqZgXn99iVagWePDBH7cYVF3tg,24977
545
545
  reconcile/test/test_sql_query.py,sha256=rC-lf1_isT9i2ZIV9W0hkUkLi2oBIjZMRMhk-6mV-34,11029
546
546
  reconcile/test/test_status_board.py,sha256=o4jTZLtBFJN9FBmaHHkVGGPFSONLoB-P1xCX8giIBLw,7852
547
547
  reconcile/test/test_terraform_aws_route53.py,sha256=xHggb8K1P76OyCfFcogbkmyKle-NlUylcbDnuv3IqvY,771
@@ -657,7 +657,7 @@ reconcile/utils/filtering.py,sha256=S4PbMHuFr3ED0P2Q_ea5CAaB7FimI62B-F5YTaKrphA,
657
657
  reconcile/utils/git.py,sha256=actOWI2HiNpMIV6nHCzinhRa6b04Y9plWOCcPQa8lNA,1437
658
658
  reconcile/utils/git_secrets.py,sha256=y1rEhwA8DyDpBSAEuhMS7Y2X3mpxT2zQ4zyDFkhLe_g,1936
659
659
  reconcile/utils/github_api.py,sha256=R8OvqyPdnRqvP-Efnv9RvIcbBlb4M0KC4RlbnJMD0Tg,2426
660
- reconcile/utils/gitlab_api.py,sha256=EUjo2IBmiz37tmmBmjadzyh6_Dh991G-QKD_NnftX6Q,30347
660
+ reconcile/utils/gitlab_api.py,sha256=6ZU77wzwYKVbJcuXrG0ZMvAsB-_N9On84LQiT_yZdeE,30556
661
661
  reconcile/utils/gpg.py,sha256=EKG7_fdMv8BMlV5yUdPiqoTx-KrzmVSEAl2sLkaKwWI,1123
662
662
  reconcile/utils/gql.py,sha256=IGhxzBcuebbapDKLseevEThSsxa_eDCPNpo3A4VnOS4,14066
663
663
  reconcile/utils/grouping.py,sha256=vr9SFHZ7bqmHYrvYcEZt-Er3-yQYfAAdq5sHLZVmXPY,456
@@ -706,7 +706,7 @@ reconcile/utils/state.py,sha256=sJbfxvSTnHlHfgQRc_vRz-U_9NnVFGq-W8DX3ZHkfeY,1635
706
706
  reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,352
707
707
  reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
708
708
  reconcile/utils/terraform_client.py,sha256=hyMtNVBuDHbqQNSsdG5kTIvJRyOt23tFuWAspPf_Lqo,32161
709
- reconcile/utils/terrascript_aws_client.py,sha256=kU--Qk42v7OXbOtBEBhgRPRdSiFcfXOvMS6stHs0r_o,276712
709
+ reconcile/utils/terrascript_aws_client.py,sha256=i0ubNIacvKv4pvWfXoO4mkAJumED3DCTgCD8n7TlFXA,276720
710
710
  reconcile/utils/three_way_diff_strategy.py,sha256=OniTnogBkdgy_7Xg51N1MgjS-Qtk8uM1ccjWaiXxiV8,4895
711
711
  reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
712
712
  reconcile/utils/vault.py,sha256=f4mJLKE5vGMvNBbo8Xe0dPFLF5-Vchs5Ry5lyf0FuMg,14902
@@ -795,7 +795,7 @@ reconcile/utils/runtime/sharding.py,sha256=r0ieUtNed7NvknSw6qQrCkKpVXE1shuHGnfFc
795
795
  reconcile/utils/saasherder/__init__.py,sha256=J3MBZBFa5YmhqYm08QsjBXz8mFcVOCiOCkyIcw41t7E,343
796
796
  reconcile/utils/saasherder/interfaces.py,sha256=C2wrw34OXypshVocAsPrVZsSHptgw4g9u7Haa2wulZQ,9087
797
797
  reconcile/utils/saasherder/models.py,sha256=z8ln03zi2a8cu716NcNUDHp8Dv1VcVbhqdWVxCl7x9A,10148
798
- reconcile/utils/saasherder/saasherder.py,sha256=_aQmp4-WhB4C0NEeWwQWqmLWh-cPk3pzxp7U_p5Lr9k,84498
798
+ reconcile/utils/saasherder/saasherder.py,sha256=v5j0BG9dvX5xNj4c-WuOfl6YLT9sMsttlKU_tgyd77E,84506
799
799
  reconcile/utils/terraform/__init__.py,sha256=zNbiyTWo35AT1sFTElL2j_AA0jJ_yWE_bfFn-nD2xik,250
800
800
  reconcile/utils/terraform/config.py,sha256=5UVrd563TMcvi4ooa5JvWVDW1I3bIWg484u79evfV_8,164
801
801
  reconcile/utils/terraform/config_client.py,sha256=3gUIIIEv52Vx7-VgQ2FZYfCCrfqUv_5gw_TQ3mbLcTs,4666
@@ -815,7 +815,7 @@ tools/app_interface_metrics_exporter.py,sha256=zkwkxdAUAxjdc-pzx2_oJXG25fo0Fnyd5
815
815
  tools/app_interface_reporter.py,sha256=uy9eRHf6EdvD8ZY2WYdroGXm18DOdnqVZyxaWN3Bm_0,17724
816
816
  tools/glitchtip_access_reporter.py,sha256=oPBnk_YoDuljU3v0FaChzOwwnk4vap1xEE67QEjzdqs,2948
817
817
  tools/glitchtip_access_revalidation.py,sha256=8kbBJk04mkq28kWoRDDkfCGIF3GRg3pJrFAh1sW0dbk,2821
818
- tools/qontract_cli.py,sha256=jzJ8okavMK6pqT14KYXV13bGxAaeRn2RPz4G_hGJj3g,124440
818
+ tools/qontract_cli.py,sha256=R2Qo_zDwTBTkDDuYREa2lG7xUxwkjW_lrTIk6mVT2gY,124485
819
819
  tools/sd_app_sre_alert_report.py,sha256=e9vAdyenUz2f5c8-z-5WY0wv-SJ9aePKDH2r4IwB6pc,5063
820
820
  tools/template_validation.py,sha256=qpKYaTgk0GOPGa2Ct5_5sKdwIHtCAKIBGzsMPuJU5fw,3371
821
821
  tools/cli_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -846,8 +846,8 @@ tools/test/test_qontract_cli.py,sha256=_D61RFGAN5x44CY1tYbouhlGXXABwYfxKSWSQx3Jr
846
846
  tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
847
847
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
848
848
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
849
- qontract_reconcile-0.10.1rc954.dist-info/METADATA,sha256=Zc4SCYer99tiuvDQ3R3I4rVGJDwjhBcH3jEuRNvBjAM,2262
850
- qontract_reconcile-0.10.1rc954.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
851
- qontract_reconcile-0.10.1rc954.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
852
- qontract_reconcile-0.10.1rc954.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
853
- qontract_reconcile-0.10.1rc954.dist-info/RECORD,,
849
+ qontract_reconcile-0.10.1rc956.dist-info/METADATA,sha256=-Q5ikndWc1SJPR0a5wHJZcf1kjhJWissa7PrjgTM_PY,2262
850
+ qontract_reconcile-0.10.1rc956.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
851
+ qontract_reconcile-0.10.1rc956.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
852
+ qontract_reconcile-0.10.1rc956.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
853
+ qontract_reconcile-0.10.1rc956.dist-info/RECORD,,
@@ -277,7 +277,11 @@ def is_good_to_merge(labels):
277
277
 
278
278
  def is_rebased(mr, gl: GitLabApi) -> bool:
279
279
  target_branch = mr.target_branch
280
- head = gl.project.commits.list(ref_name=target_branch, per_page=1)[0].id
280
+ head = gl.project.commits.list(
281
+ ref_name=target_branch,
282
+ per_page=1,
283
+ page=1,
284
+ )[0].id
281
285
  result = gl.project.repository_compare(mr.sha, head)
282
286
  return len(result["commits"]) == 0
283
287
 
@@ -27,6 +27,7 @@ fragment User on User_v1 {
27
27
  github_username
28
28
  slack_username
29
29
  pagerduty_username
30
+ tag_on_merge_requests
30
31
  }
31
32
 
32
33
  query Users {
@@ -30,3 +30,4 @@ class User(ConfiguredBaseModel):
30
30
  github_username: str = Field(..., alias="github_username")
31
31
  slack_username: Optional[str] = Field(..., alias="slack_username")
32
32
  pagerduty_username: Optional[str] = Field(..., alias="pagerduty_username")
33
+ tag_on_merge_requests: Optional[bool] = Field(..., alias="tag_on_merge_requests")
@@ -27,6 +27,7 @@ fragment User on User_v1 {
27
27
  github_username
28
28
  slack_username
29
29
  pagerduty_username
30
+ tag_on_merge_requests
30
31
  }
31
32
 
32
33
  query OpenshiftGroupsManagedRoles {
@@ -28,6 +28,7 @@ fragment User on User_v1 {
28
28
  github_username
29
29
  slack_username
30
30
  pagerduty_username
31
+ tag_on_merge_requests
31
32
  }
32
33
 
33
34
  fragment VaultSecret on VaultSecret_v1 {
@@ -27,6 +27,7 @@ fragment User on User_v1 {
27
27
  github_username
28
28
  slack_username
29
29
  pagerduty_username
30
+ tag_on_merge_requests
30
31
  }
31
32
 
32
33
  query SlackUsergroupClusterUser {
@@ -333,6 +333,7 @@ def get_slack_usernames_from_owners(
333
333
  get_slack_username(u)
334
334
  for u in users
335
335
  if getattr(u, user_key).lower() in [o.lower() for o in all_owners]
336
+ and u.tag_on_merge_requests is not False
336
337
  ]
337
338
  not_found_users = [
338
339
  owner
@@ -126,6 +126,7 @@ def test_is_rebase():
126
126
  mocked_gitlab_api.project.commits.list.assert_called_once_with(
127
127
  ref_name=expected_ref,
128
128
  per_page=1,
129
+ page=1,
129
130
  )
130
131
  mocked_gitlab_api.project.repository_compare.assert_called_once_with(
131
132
  expected_sha,
@@ -67,6 +67,7 @@ def user() -> User:
67
67
  github_username="github_username",
68
68
  name="name",
69
69
  pagerduty_username="pagerduty_username",
70
+ tag_on_merge_requests=None,
70
71
  )
71
72
 
72
73
 
@@ -79,6 +79,7 @@ def user() -> UserV1:
79
79
  name="name",
80
80
  pagerduty_username="pagerduty",
81
81
  tag_on_cluster_updates=None,
82
+ tag_on_merge_requests=None,
82
83
  roles=None,
83
84
  )
84
85
 
@@ -694,7 +694,7 @@ class GitLabApi: # pylint: disable=too-many-public-methods
694
694
 
695
695
  def get_user(self, username):
696
696
  gitlab_request.labels(integration=INTEGRATION_NAME).inc()
697
- user = self.gl.users.list(search=username)
697
+ user = self.gl.users.list(search=username, page=1, per_page=1)
698
698
  if len(user) == 0:
699
699
  logging.error(username + " user not found")
700
700
  return
@@ -707,7 +707,8 @@ class GitLabApi: # pylint: disable=too-many-public-methods
707
707
  if p is None:
708
708
  return []
709
709
  gitlab_request.labels(integration=INTEGRATION_NAME).inc()
710
- return p.hooks.list(per_page=100)
710
+ # TODO: get_all may send multiple requests, update metrics accordingly
711
+ return p.hooks.list(per_page=100, get_all=True)
711
712
 
712
713
  def create_project_hook(self, repo_url, data):
713
714
  p = self.get_project(repo_url)
@@ -773,7 +774,8 @@ class GitLabApi: # pylint: disable=too-many-public-methods
773
774
  break
774
775
  # labels
775
776
  gitlab_request.labels(integration=INTEGRATION_NAME).inc()
776
- label_events = mr.resourcelabelevents.list()
777
+ # TODO: this may send multiple requests, update metrics accordingly
778
+ label_events = mr.resourcelabelevents.list(get_all=True)
777
779
  for label in reversed(label_events):
778
780
  if label.action == "add" and label.label["name"] in hold_labels:
779
781
  username = label.user["username"]
@@ -854,7 +856,7 @@ class GitLabApi: # pylint: disable=too-many-public-methods
854
856
  def get_commit_sha(self, ref: str, repo_url: str) -> str:
855
857
  gitlab_request.labels(integration=INTEGRATION_NAME).inc()
856
858
  project = self.get_project(repo_url)
857
- commits = project.commits.list(ref_name=ref, per_page=1)
859
+ commits = project.commits.list(ref_name=ref, per_page=1, page=1)
858
860
  return commits[0].id
859
861
 
860
862
  def repository_compare(
@@ -812,7 +812,7 @@ class SaasHerder: # pylint: disable=too-many-public-methods
812
812
  if not self.gitlab:
813
813
  raise Exception("gitlab is not initialized")
814
814
  project = self.gitlab.get_project(url)
815
- commits = project.commits.list(ref_name=ref, per_page=1)
815
+ commits = project.commits.list(ref_name=ref, per_page=1, page=1)
816
816
  commit_sha = commits[0].id
817
817
 
818
818
  return commit_sha
@@ -5391,7 +5391,7 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
5391
5391
  if "gitlab" in url:
5392
5392
  gitlab = self.init_gitlab()
5393
5393
  project = gitlab.get_project(url)
5394
- commits = project.commits.list(ref_name=ref, per_page=1)
5394
+ commits = project.commits.list(ref_name=ref, per_page=1, page=1)
5395
5395
  return commits[0].id
5396
5396
 
5397
5397
  return ""
tools/qontract_cli.py CHANGED
@@ -2187,7 +2187,11 @@ def app_interface_merge_history(ctx):
2187
2187
  settings = queries.get_app_interface_settings()
2188
2188
  instance = queries.get_gitlab_instance()
2189
2189
  gl = GitLabApi(instance, project_url=settings["repoUrl"], settings=settings)
2190
- merge_requests = gl.project.mergerequests.list(state=MRState.MERGED, per_page=100)
2190
+ merge_requests = gl.project.mergerequests.list(
2191
+ state=MRState.MERGED,
2192
+ per_page=100,
2193
+ get_all=True,
2194
+ )
2191
2195
 
2192
2196
  columns = [
2193
2197
  "id",