API MR Approvals endpoint approvals_before_merge not updated for changes in UI

Summary

When changing the No. approvals required in the UI these changes are not reflected in the subsequent API call to the Merge request approvals endpoint i.e. GET /projects/:id/approvals

Steps to reproduce

  1. Setup project with a group as approvers or a few individuals, set No. approvals required to 2 for example
  2. Fetch approvals for project e.g. GET /projects/:id/approvals, note approvals_before_merge is correct
  3. Go to UI for project and change No. approvals required under Settings, General, Merge request approvals. Select Update approvers and then Save changes. For example to 5
  4. Call approvals endpoint again e.g. GET /projects/:id/approvals
  5. Note approvals_before_merge is not updated to 5 it remains at 2

Example Project

N/A

What is the current bug behavior?

approvals_before_merge is not updated when modifying No. approvals required in the UI when the approvers are groups or individuals

What is the expected correct behavior?

approvals_before_merge should return the correct value

Relevant logs and/or screenshots

Snip20190501_4

Snip20190501_5

Snip20190501_1

Initial request - see STEP 2 in steps to reproduce

{
  "approvers": [],
  "approver_groups": [
    {
      "group": {
        "id": 4,
        "web_url": "redacted",
        "name": "redacted",
        "path": "redacted",
        "description": "redacted",
        "visibility": "internal",
        "lfs_enabled": true,
        "avatar_url": "redacted",
        "request_access_enabled": false,
        "full_name": "redacted",
        "full_path": "redacted",
        "parent_id": null,
        "ldap_cn": null,
        "ldap_access": null
      }
    }
  ],
  "approvals_before_merge": 2,
  "reset_approvals_on_push": true,
  "disable_overriding_approvers_per_merge_request": false,
  "merge_requests_author_approval": false
}

After adding Group or individuals and changing approvals to 5 in UI

{
  "approvers": [],
  "approver_groups": [
    {
      "group": {
        "id": 4,
        "web_url": "redacted",
        "name": "redacted",
        "path": "redacted",
        "description": "redacted",
        "visibility": "internal",
        "lfs_enabled": true,
        "avatar_url": "redacted",
        "request_access_enabled": false,
        "full_name": "redacted",
        "full_path": "redacted",
        "parent_id": null,
        "ldap_cn": null,
        "ldap_access": null
      }
    }
  ],
  "approvals_before_merge": 2,
  "reset_approvals_on_push": true,
  "disable_overriding_approvers_per_merge_request": false,
  "merge_requests_author_approval": false
}

After removing the group in the UI

{
  "approvers": [],
  "approver_groups": [
    {
      "group": {
        "id": 4,
        "web_url": "redacted",
        "name": "redacted",
        "path": "redacted",
        "description": "redacted",
        "visibility": "internal",
        "lfs_enabled": true,
        "avatar_url": "redacted",
        "request_access_enabled": false,
        "full_name": "redacted",
        "full_path": "redacted",
        "parent_id": null,
        "ldap_cn": null,
        "ldap_access": null
      }
    }
  ],
  "approvals_before_merge": 5,
  "reset_approvals_on_push": true,
  "disable_overriding_approvers_per_merge_request": false,
  "merge_requests_author_approval": false
}

Output of checks

This bug happens on On-Prem install

Results of GitLab environment info

Expand for output related to GitLab environment info

System information System: Ubuntu 16.04 Proxy: no Current User: git Using RVM: no Ruby Version: 2.5.3p105 Gem Version: 2.7.6 Bundler Version:1.17.3 Rake Version: 12.3.2 Redis Version: 3.2.12 Git Version: 2.18.1 Sidekiq Version:5.2.5 Go Version: unknown

GitLab information Version: 11.10.1-ee Revision: 2cd7cedf96c Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 9.6.11 URL: redacted HTTP Clone URL: redacted SSH Clone URL: redacted Elasticsearch: yes Geo: no Using LDAP: no Using Omniauth: yes Omniauth Providers:

GitLab Shell Version: 9.0.0 Repository storage paths:

  • default: /var/opt/gitlab/git-data/repositories GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell Git: /opt/gitlab/embedded/bin/git)

Results of GitLab application Check

Expand for output related to the GitLab application check

Checking GitLab subtasks ...

Checking GitLab Shell ...

GitLab Shell: ... GitLab Shell version >= 9.0.0 ? ... OK (9.0.0) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Check GitLab API access: OK Redis available via internal API: OK

Access to /var/opt/gitlab/.ssh/authorized_keys: OK gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... yes Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking Incoming Email ...

Incoming Email: ... Reply by email is disabled in config/gitlab.yml

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab App ...

Git configured correctly? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... yes Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) Projects have namespace: ... 4/2 ... yes 4/3 ... yes 4/4 ... yes 69/5 ... yes 4/6 ... yes 4/8 ... yes 4/9 ... yes 4/10 ... yes 6/11 ... yes 4/12 ... yes 4/13 ... yes 9/14 ... yes 13/15 ... yes 9/16 ... yes 4/17 ... yes 15/18 ... yes 4/19 ... yes 4/20 ... yes 16/21 ... yes 4/22 ... yes 19/24 ... yes 13/26 ... yes 15/27 ... yes 69/28 ... yes 69/29 ... yes 69/30 ... yes 4/31 ... yes 19/33 ... yes 19/34 ... yes 19/35 ... yes 19/36 ... yes 19/37 ... yes 19/38 ... yes 19/39 ... yes 19/40 ... yes 19/41 ... yes 39/43 ... yes 19/44 ... yes 19/45 ... yes 125/46 ... yes 41/47 ... yes 42/48 ... yes 42/51 ... yes 19/56 ... yes 31/57 ... yes 49/58 ... yes 49/59 ... yes 39/61 ... yes 13/62 ... yes 19/63 ... yes 50/64 ... yes 19/65 ... yes 4/66 ... yes 50/67 ... yes 50/68 ... yes 50/69 ... yes 64/70 ... yes 20/72 ... yes 20/73 ... yes 20/74 ... yes 20/75 ... yes 50/76 ... yes 20/77 ... yes 20/78 ... yes 18/79 ... yes 20/80 ... yes 50/81 ... yes 125/82 ... yes 18/83 ... yes 20/84 ... yes 50/85 ... yes 19/87 ... yes 20/88 ... yes 18/89 ... yes 20/90 ... yes 50/91 ... yes 50/92 ... yes 65/95 ... yes 64/96 ... yes 49/97 ... yes 49/98 ... yes 69/100 ... yes 74/101 ... yes 13/102 ... yes 51/103 ... yes 49/104 ... yes 65/105 ... yes 64/106 ... yes 65/107 ... yes 64/109 ... yes 64/110 ... yes 50/111 ... yes 92/112 ... yes 92/113 ... yes 92/114 ... yes 92/115 ... yes 65/117 ... yes 64/120 ... yes 64/121 ... yes 64/122 ... yes 65/124 ... yes 92/125 ... yes 64/126 ... yes 64/127 ... yes 65/128 ... yes 64/129 ... yes 59/130 ... yes 66/131 ... yes 66/132 ... yes 69/133 ... yes 48/134 ... yes 48/135 ... yes 48/136 ... yes 48/137 ... yes 48/138 ... yes 64/139 ... yes 64/140 ... yes 51/141 ... yes 80/142 ... yes 67/143 ... yes 69/144 ... yes 66/145 ... yes 65/147 ... yes 49/148 ... yes 50/149 ... yes 66/150 ... yes 69/151 ... yes 63/152 ... yes 63/153 ... yes 66/154 ... yes 66/155 ... yes 80/156 ... yes 63/157 ... yes 63/158 ... yes 48/159 ... yes 69/160 ... yes 69/161 ... yes 143/162 ... yes 69/163 ... yes 85/164 ... yes 70/165 ... yes 70/166 ... yes 71/167 ... yes 72/168 ... yes 58/169 ... yes 74/170 ... yes 143/171 ... yes 79/172 ... yes 78/174 ... yes 19/175 ... yes 4/176 ... yes 69/177 ... yes 51/182 ... yes 80/183 ... yes 80/184 ... yes 80/185 ... yes 81/186 ... yes 79/188 ... yes 93/189 ... yes 20/191 ... yes 19/192 ... yes 74/193 ... yes 74/194 ... yes 64/197 ... yes 64/199 ... yes 4/201 ... yes 4/202 ... yes 38/203 ... yes 20/204 ... yes 93/206 ... yes 69/207 ... yes 4/210 ... yes 42/211 ... yes 10/213 ... yes 4/214 ... yes 4/215 ... yes 39/216 ... yes 2/217 ... yes 81/218 ... yes 20/219 ... yes 19/220 ... yes 20/221 ... yes 83/222 ... yes 83/223 ... yes 81/224 ... yes 84/225 ... yes 85/226 ... yes 85/227 ... yes 84/228 ... yes 2/229 ... yes 85/230 ... yes 85/231 ... yes 7/232 ... yes 76/233 ... yes 6/234 ... yes 85/235 ... yes 10/236 ... yes 10/237 ... yes 19/238 ... yes 85/239 ... yes 85/240 ... yes 4/241 ... yes 82/242 ... yes 59/243 ... yes 82/244 ... yes 2/245 ... yes 4/246 ... yes 79/247 ... yes 65/248 ... yes 31/249 ... yes 86/251 ... yes 4/252 ... yes 69/253 ... yes 69/255 ... yes 79/256 ... yes 58/257 ... yes 4/258 ... yes 80/259 ... yes 80/260 ... yes 58/261 ... yes 64/262 ... yes 4/264 ... yes 76/266 ... yes 39/267 ... yes 4/268 ... yes 80/269 ... yes 69/271 ... yes 87/272 ... yes 87/273 ... yes 87/274 ... yes 74/275 ... yes 87/276 ... yes 87/277 ... yes 51/278 ... yes 74/279 ... yes 65/283 ... yes 69/284 ... yes 93/285 ... yes 92/286 ... yes 92/287 ... yes 92/288 ... yes 13/289 ... yes 13/290 ... yes 13/291 ... yes 69/293 ... yes 87/294 ... yes 13/295 ... yes 87/297 ... yes 13/298 ... yes 89/300 ... yes 6/303 ... yes 13/304 ... yes 65/306 ... yes 88/307 ... yes 13/308 ... yes 4/309 ... yes 13/310 ... yes 69/312 ... yes 76/313 ... yes 4/314 ... yes 4/315 ... yes 88/316 ... yes 69/317 ... yes 69/319 ... yes 41/320 ... yes 41/322 ... yes 19/323 ... yes 84/325 ... yes 18/326 ... yes 37/327 ... yes 69/328 ... yes 41/329 ... yes 69/330 ... yes 79/332 ... yes 87/333 ... yes 6/334 ... yes 76/335 ... yes 93/336 ... yes 20/337 ... yes 93/338 ... yes 95/339 ... yes 76/340 ... yes 6/344 ... yes 48/345 ... yes 96/346 ... yes 97/348 ... yes 97/349 ... yes 48/350 ... yes 79/351 ... yes 41/352 ... yes 13/353 ... yes 97/354 ... yes 98/356 ... yes 96/360 ... yes 96/361 ... yes 96/362 ... yes 96/363 ... yes 96/366 ... yes 96/368 ... yes 96/369 ... yes 101/371 ... yes 101/372 ... yes 74/373 ... yes 20/374 ... yes 4/375 ... yes 6/376 ... yes 19/377 ... yes 69/378 ... yes 96/379 ... yes 98/381 ... yes 96/382 ... yes 96/383 ... yes 74/384 ... yes 101/385 ... yes 100/386 ... yes 100/387 ... yes 100/388 ... yes 87/390 ... yes 76/391 ... yes 87/392 ... yes 4/393 ... yes 81/394 ... yes 76/396 ... yes 34/397 ... yes 100/398 ... yes 100/401 ... yes 6/402 ... yes 76/403 ... yes 109/405 ... yes 96/406 ... yes 119/407 ... yes 87/408 ... yes 65/409 ... yes 106/411 ... yes 51/412 ... yes 111/414 ... yes 105/416 ... yes 87/417 ... yes 7/418 ... yes 6/420 ... yes 89/421 ... yes 91/422 ... yes 87/423 ... yes 6/424 ... yes 6/426 ... yes 6/427 ... yes 93/428 ... yes 93/429 ... yes 93/430 ... yes 93/431 ... yes 93/432 ... yes 105/433 ... yes 98/434 ... yes 96/435 ... yes 91/441 ... yes 91/442 ... yes 91/443 ... yes 91/444 ... yes 91/445 ... yes 91/446 ... yes 91/447 ... yes 91/448 ... yes 91/449 ... yes 91/450 ... yes 91/451 ... yes 91/452 ... yes 91/453 ... yes 91/454 ... yes 91/455 ... yes 91/456 ... yes 91/457 ... yes 91/458 ... yes 91/459 ... yes 91/460 ... yes 91/461 ... yes 91/462 ... yes 91/463 ... yes 91/464 ... yes 91/465 ... yes 91/466 ... yes 91/467 ... yes 91/468 ... yes 91/469 ... yes 91/470 ... yes 91/471 ... yes 91/472 ... yes 91/473 ... yes 91/474 ... yes 91/475 ... yes 91/476 ... yes 91/477 ... yes 91/478 ... yes 91/479 ... yes 91/480 ... yes 91/481 ... yes 91/482 ... yes 91/483 ... yes 91/484 ... yes 91/485 ... yes 91/486 ... yes 91/487 ... yes 91/488 ... yes 91/489 ... yes 91/490 ... yes 91/491 ... yes 91/494 ... yes 91/496 ... yes 91/497 ... yes 91/498 ... yes 91/499 ... yes 91/500 ... yes 91/501 ... yes 91/502 ... yes 91/503 ... yes 91/504 ... yes 91/505 ... yes 91/506 ... yes 91/507 ... yes 91/508 ... yes 91/509 ... yes 91/510 ... yes 91/511 ... yes 6/512 ... yes 91/513 ... yes 91/514 ... yes 96/515 ... yes 114/516 ... yes 7/518 ... yes 113/519 ... yes 91/520 ... yes 91/521 ... yes 119/522 ... yes 60/523 ... yes 91/524 ... yes 6/525 ... yes 6/526 ... yes 6/527 ... yes 109/528 ... yes 152/529 ... yes 91/530 ... yes 96/531 ... yes 20/532 ... yes 96/533 ... yes 96/534 ... yes 96/535 ... yes 96/536 ... yes 121/537 ... yes 96/538 ... yes 96/539 ... yes 96/540 ... yes 96/541 ... yes 96/542 ... yes 122/543 ... yes 121/544 ... yes 98/545 ... yes 96/546 ... yes 96/547 ... yes 6/548 ... yes 121/549 ... yes 98/550 ... yes 96/551 ... yes 98/552 ... yes 96/553 ... yes 51/554 ... yes 114/555 ... yes 121/556 ... yes 123/557 ... yes 119/558 ... yes 6/559 ... yes 121/560 ... yes 59/561 ... yes 114/562 ... yes 96/563 ... yes 96/564 ... yes 69/565 ... yes 121/566 ... yes 4/567 ... yes 6/568 ... yes 111/569 ... yes 51/570 ... yes 121/571 ... yes 69/572 ... yes 48/574 ... yes 119/575 ... yes 96/576 ... yes 96/577 ... yes 69/578 ... yes 113/579 ... yes 128/580 ... yes 6/583 ... yes 96/584 ... yes 93/585 ... yes 96/586 ... yes 18/587 ... yes 6/588 ... yes 96/589 ... yes 4/590 ... yes 96/591 ... yes 103/592 ... yes 129/593 ... yes 51/595 ... yes 106/596 ... yes 69/597 ... yes 69/598 ... yes 18/599 ... yes 96/600 ... yes 96/601 ... yes 109/602 ... yes 119/603 ... yes 69/605 ... yes 100/606 ... yes 80/607 ... yes 20/608 ... yes 121/609 ... yes 129/610 ... yes 96/611 ... yes 76/612 ... yes 96/613 ... yes 76/614 ... yes 128/615 ... yes 134/617 ... yes 121/618 ... yes 121/619 ... yes 96/621 ... yes 134/622 ... yes 134/623 ... yes 105/624 ... yes 111/625 ... yes 80/626 ... yes 76/627 ... yes 19/628 ... yes 39/629 ... yes 121/630 ... yes 121/631 ... yes 121/632 ... yes 121/633 ... yes 121/635 ... yes 121/636 ... yes 121/637 ... yes 76/638 ... yes 119/639 ... yes 20/640 ... yes 69/641 ... yes 96/642 ... yes 114/643 ... yes 61/644 ... yes 109/645 ... yes 135/646 ... yes 96/647 ... yes 135/648 ... yes 96/649 ... yes 135/650 ... yes 91/652 ... yes 93/653 ... yes 39/654 ... yes 87/655 ... yes 19/656 ... yes 69/657 ... yes 128/658 ... yes 69/659 ... yes 105/660 ... yes 138/661 ... yes 105/663 ... yes 105/665 ... yes 139/666 ... yes 139/667 ... yes 139/668 ... yes 89/669 ... yes 105/670 ... yes 134/671 ... yes 89/672 ... yes 63/673 ... yes 65/674 ... yes 89/675 ... yes 119/676 ... yes 91/677 ... yes 96/678 ... yes 111/679 ... yes 50/680 ... yes 141/681 ... yes 19/682 ... yes 105/683 ... yes 147/684 ... yes 111/685 ... yes 51/686 ... yes 19/689 ... yes 96/691 ... yes 96/692 ... yes 114/693 ... yes 143/694 ... yes 76/695 ... yes 143/696 ... yes 143/697 ... yes 2/698 ... yes 69/700 ... yes 144/701 ... yes 145/702 ... yes 69/703 ... yes 111/704 ... yes 96/706 ... yes 145/707 ... yes 145/709 ... yes 145/710 ... yes 145/711 ... yes 51/712 ... yes 51/713 ... yes 111/714 ... yes 51/715 ... yes 88/716 ... yes 96/718 ... yes 146/719 ... yes 59/722 ... yes 96/724 ... yes 148/725 ... yes 96/726 ... yes 37/727 ... yes 76/728 ... yes 87/729 ... yes 96/730 ... yes 149/731 ... yes 66/732 ... yes 69/733 ... yes 111/734 ... yes 96/735 ... yes 150/736 ... yes 150/737 ... yes 150/738 ... yes 48/739 ... yes 80/740 ... yes 121/741 ... yes 141/742 ... yes 6/744 ... yes 96/745 ... yes 51/746 ... yes 113/747 ... yes 114/748 ... yes 123/749 ... yes 4/750 ... yes 150/751 ... yes 93/752 ... yes 37/753 ... yes 37/754 ... yes 143/755 ... yes 146/756 ... yes 65/757 ... yes 146/758 ... yes 146/759 ... yes 96/760 ... yes 5/761 ... yes 51/762 ... yes 64/763 ... yes 65/764 ... yes 76/765 ... yes 59/766 ... yes 4/767 ... yes 34/768 ... yes 96/769 ... yes 20/770 ... yes 31/771 ... yes 84/772 ... yes 119/773 ... yes 87/774 ... yes 31/775 ... yes 74/776 ... yes 121/777 ... yes 121/778 ... yes 157/779 ... yes 121/780 ... yes 121/781 ... yes 51/782 ... yes 144/784 ... yes 69/785 ... yes 158/786 ... yes 119/787 ... yes 20/791 ... yes 93/792 ... yes 93/793 ... yes 51/794 ... yes 93/795 ... yes 74/796 ... yes 74/797 ... yes 66/799 ... yes 159/800 ... yes 4/801 ... yes 76/802 ... yes 96/803 ... yes 4/804 ... yes 159/805 ... yes 121/806 ... yes 160/807 ... yes 4/808 ... yes 69/809 ... yes 59/810 ... yes 48/811 ... yes 19/812 ... yes 19/813 ... yes 19/814 ... yes 37/815 ... yes 4/816 ... yes 157/817 ... yes 96/818 ... yes 2/819 ... yes 89/820 ... yes 162/822 ... yes 162/823 ... yes 6/824 ... yes 31/825 ... yes 164/826 ... yes 164/827 ... yes 164/828 ... yes 142/829 ... yes 19/830 ... yes 18/831 ... yes 96/832 ... yes 163/833 ... yes 105/834 ... yes 96/835 ... yes 42/836 ... yes 152/837 ... yes 93/838 ... yes 96/839 ... yes 152/841 ... yes 111/843 ... yes 114/844 ... yes 69/845 ... yes 152/848 ... yes 152/849 ... yes 96/850 ... yes 96/851 ... yes 152/853 ... yes 96/854 ... yes 152/855 ... yes 167/856 ... yes 167/857 ... yes 167/858 ... yes 167/859 ... yes 168/860 ... yes 168/861 ... yes 96/862 ... yes 170/863 ... yes 170/864 ... yes 170/865 ... yes 170/866 ... yes 170/867 ... yes 170/868 ... yes 171/869 ... yes 171/870 ... yes 171/871 ... yes 114/873 ... yes 69/874 ... yes 69/876 ... yes 69/877 ... yes 69/878 ... yes 122/879 ... yes 122/880 ... yes 122/881 ... yes 122/882 ... yes 122/883 ... yes 122/884 ... yes 96/885 ... yes 69/886 ... yes 119/887 ... yes 79/888 ... yes 96/889 ... yes 21/890 ... yes 91/891 ... yes 39/892 ... yes 119/893 ... yes 119/894 ... yes 119/895 ... yes 96/896 ... yes 119/897 ... yes 76/898 ... yes 130/899 ... yes 96/900 ... yes 96/901 ... yes 63/902 ... yes 6/904 ... yes 109/905 ... yes 69/906 ... yes 35/907 ... yes 100/909 ... yes 152/910 ... yes 91/911 ... yes 155/912 ... yes 119/913 ... yes 96/914 ... yes 4/915 ... yes Redis version >= 2.8.0? ... yes Ruby version >= 2.5.3 ? ... yes (2.5.3) Git version >= 2.18.0 ? ... yes (2.18.1) Git user has default SSH configuration? ... yes Active users: ... 72 Elasticsearch version 5.6 - 6.x? ... yes (5.6.13)

Checking GitLab App ... Finished

Checking GitLab subtasks ... Finished

Possible fixes

N/A

/label ~bug

Edited May 01, 2019 by Gavin Kelly
Assignee Loading
Time tracking Loading