#93 Adds scm_request_processor toddler
Merged 2 years ago by zlopez. Opened 2 years ago by zlopez.
fedora-infra/ zlopez/toddlers scm_request_processor  into  main

file modified
+3
@@ -20,3 +20,6 @@ 

  

  # Configuration file recommended to generate in the README

  toddlers.toml

+ 

+ # Test related files

+ tests/msg.json

@@ -0,0 +1,15 @@ 

+ # SCM Request Processor

+ 

+ SCM Request processor is toddler created from https://pagure.io/fedscm-admin/ script. It process tickets on https://pagure.io/releng/fedora-scm-requests/ , validates them and creates the branch or repository if everything is OK.

+ 

+ ## Accepted topics

+ 

+ The SCM Request processor accepts few topics emitted by pagure. These topics allows it to process any newly created ticket or react to any ticket that is updated or commented on.

+ 

+ * org.fedoraproject.*.pagure.issue.new - New issue on pagure created

+ * org.fedoraproject.*.pagure.issue.edit - Issue on pagure is edited

+ * org.fedoraporject.*.pagure.issue.comment.added - New comment is added to issue

+ 

+ ## Flowchart diagram

+ 

+ [Flowchart diagram](./scm_request_processor.png) illustrates the code flow of the SCM Request Processor, what is being validated and what reaction is done if the validation fails.

@@ -0,0 +1,4 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <!-- Do not edit this file with editors other than diagrams.net -->

+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3079px" height="3411px" viewBox="-0.5 -0.5 3079 3411" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2022-03-25T15:18:47.821Z&quot; agent=&quot;5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/17.2.1 Chrome/96.0.4664.174 Electron/16.1.0 Safari/537.36&quot; etag=&quot;X9cU3aqQv0R0c3uqXJEX&quot; version=&quot;17.2.1&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;C5RBs43oDa-KdzZeNtuy&quot; name=&quot;Page-1&quot;&gt;7V1bc9vIsf41rDyJNTO4P1qSvbuJnDjxnt04LymYhESuSYIBKNnaX39mAAyIuQAYkcRliHFVsiIEQgC6++t798y62/74KQn3q4/xMtrMEFj+mFn3M4SQazn4P+TIa37EA15+4ClZL/ND8Hjg8/rPqDgIiqPP62WUMice4nhzWO/Zg4t4t4sWB+ZYmCTxd/a0x3jD/tV9+BQJBz4vwo149Pf18rDKj/rIOx7/OVo/rehfhm6Q/2Yb0pOLJ0lX4TL+XjlkvZ9Zd0kcH/Kftj/uog15efS9/P7L6++bh2/uT3/9Z/q/8P9u//br33+7yS/24S1fKR8hiXaHy14a5Zd+CTfPxfsqnvXwSl9gEj/vlhG5CJhZt6vDdoN/hPjHP6LD4bUgePh8iPGhODms4qd4F24e4nhfnPcY7w7FaZB8jnbLd4Sw+PNiE6bpepEf/LDe0EvjT8U3fPwpPSTxt5J65PclKcgtbcKv0eY2XHx7ym71Lt7ECf7VLt5F5FJLzA7F0xxv7/3x6K3i2y2okMbPySJqOM8qmDxMnqKm67n5eeT+Kpxa0O6nKN5Gh+QVn5BEm/CwfmHZOSyk4qk870h5/ENB/DcwgiUwwscoTYlskTtYRPgGlg2sQYjyfbU+RJ/3YfZ2vmM0Ydmlygb4OW+fCO0LErZQ+G0UeomSQ/Sj8Z1SdHMKcCuwzS8k/fsRKCCV/lUFJGzQERVsgQpfMHYaiTxPIl1FiaQqq1UkC3ahrKEsocWVPsVr/FzHU+LHxxTfGM885R88nZ8cgZ/+Hgvs1E4PzRluIHby3sZNcPTc5Arc9CmJ/yBGG/5imt96tHvC136MlnES3qSL7U0S/e85Sg/45j6IQLaKt1+f03bdwRCbMNOHcLvekBf3c7R5iQ7rRSjRMOFm/bQjLIbpHiVyLsJ/co1v2bp3j59+zfgWg3F/mgd6iqoHwq50jydQ9/O39Z4w+ooYAVtqDlyZDWC7LCWQKiU6MwJ8YwR0gNpUbqqwvXv6z8Nvn1afHmJvG9x//Hm3+NfiZjRGwPGcglUt6MyBZdvYeXV8F1FHvLgR2+IYMn/S4hqX1waBsS2yS+G3+O/i1OzDF/Jh7jn08/2P6m/vX0/Cs5PYe9xWicDeNmSR2ELBPHAdB3r4V5YXWErsjWkfvlZO25MTUsmd1f1VF7ztLgFzPv4hv4OLyhqlQkXYfkkzqyt9Jso53kc7Y2AxBpbLM5NErQOJWvcvoNalekWMsMjU+lsBUwqJEuis0FoKAKdBUZMCbVW0qJGAN2AOHOQyRByViyR9JtFFGojIClpwLHzgtPEBBBAyfDCqwEvTs/N4/Uca78hXyf9hTP1G/jg5iVxLX/QWUFmViRrQG7C2rS1Bbyhzj0FX8C1mSu42cRqV/jFVxd/X+AZJOmu7jSizIfDLLqfysN7z5QnFe892n96zlE7BMGhLvYB5afd/Ycx+uRMwApR2FFHal/PBxbNT0j9O8b/d2Xwg3hpLHAHniBhgSNy8K36xXS+XOR9E6frP8Gt2PUKewnfAF3duZ859kxwV6eviy7NSRVXpVM+vtfIF5tgfCVgj6DzdR9Uqq1FveHnsTjVS2J6cPaQqad6ZknaSG4wAC+S07uNSbq2cFUSlWmcuayfXEMjJeDRrkRNcSpZZa+mGhii6F2YxwfguIVbQ54d3aWnoZvZRZvoaI7fByHV8e+4MbeZCe6Lo7CmiM7QGNYSUM/r6AabdBpgwAGcCZgmQ/Vk7A/kj+sjTRcwd0Z6xWXANeAP3QukD3m4KUA92ExLdoeuxm5odImI3IcA6L5eyothgc282lFh4kdtQ+yR+WRMYKM0pjSOFyzBdlXGuriwq6LBC74HBw4ZQzAhcIE1+Toiq/JAnqtvy1CNQJf6ZptkROiz8j+GQm/GnlKBv2KUbdhkk0OI4LAf2YjCIJWW5illGj+Hz5nDUMI9xUnrsX5Nwt1jlZ613mR6q+PNYwT+un/RURl3pHz4b4noSf54eY/SP05n+EcsOTN7qWLVTWgrW0HkrhAaFeS5xBccP81CPiA0SBfBaIjY5yzZHbBzvPPuqtOzZb3RnbiExwjbdEh5lGUM1wTttCnag6IVnFTulEbQLt5HeLnh3uhTOEddIKSsDgd5cZvpcoqFFzpNihfp0JRnZqpLsai7JlnKtiCkKOptbrOYsN5gDPkBONfl4GYg+PK8KtvFufYgTArH4FWLS5z9lPrHJbgvZbR/MqSiW5duyInwnmFueRC/w7UyX0wtiNMSEZN8KEJImaPmJNUG2io9geT7DJjfjhwgLGdPi7bzQqiwgtNng6Pg5AYn5HVFZLFbxemG8B2U9AYNR6AnRJTShU4QCNnIKkSUJcvcaOrXEkM0u+v7fJNobu/9tUE5lqR3Km1Ot2O63bbacQoNMqyViOeEjGgKapHJX54jm8j2s3B2ftfPs8TPEsKl3/XIy6txybu79PIUhRgb/gVV6IqW2dmkZq6ZV69hShLgZBug8QaSWHGK/0aFciu21v6/CDBMWh3XeYlu2H5jQDM8BjsWZcOOwt23RqR4qLjM8kEqmiMpfWqtPHdA8iDY+ta02BtNwAvvWWqsfEQv64ze/xNKJvGwtzL6bO+FkvuA6yarTvkWvBPUrddNGAcjr1LjqJ2jLCqX7VwDjydwNL/aqGbg6BaBPMB0Cke4TxntVwhc9C1cF+KLiN4B/CcD3nFECvmUi7FJqQd4/k1Gr1xC7LXrchlLYk+aTIbY9dDKE3oCJWSoqXPtcV7ufmKWt3EioXcDSbp4ACObA5wdBnmfJ0IAlNwMJcTLZYYRDbcb3NCxedQFsrSXSzeC1xQhHVj1CLd19nJIqEvKQpv5cOZrhyPb49G7cOqJXO1UBV+0icQbVsO4VT9VwmkWIQKdFwejcORo2q1V7HEbWybqja5e51kqegBtAqYFabdll8/X56U9MinDGT2EOs+yx0a5N2tVzR6FdRRJP14Km0b12YUdtasCybNYrGn/+wBVjU5OFfXVOqBmzpU/ayBHJTn2nImeQROEyG83Cwns1OhlXJvEb2K+O0vIF2JdENh1JZBPyYZTLYf7A5ZjVwKYWXVoOUkWDmuLdjmdOc0sQy2GKnc5CcpGy5aCfm9dc+on1uwe4+VOXcfroJG/2oj3ofuPyvV3a3eZhHTfjd/AcUYYrcdOjeq9UBnwlT7gN8R3i/5FSbxA/zhpX1s6YCKyxDqrWATe6HAayzu5AZh10tl/NMbu3+KjOGZr/GP7xXN3CP64YG5iuUlBlBLdm7svRdHDcgNXy4+/ocxrza7IwYKkxDN43BQEDWZ1L70FAikwG8kskV5H0GidBG3z3xhPw07bqSZ1bmvUCNhBcwGX8xs9B9OlFvZD1DZYBQ6mS0FIz9DJ/3/KDucs2eR/Rv6opfJln0NkMZEdUE5/ywSy5HXD0ClMFt7BsLC3dTJ4ZNC9qhX45qJGqexdK1L0lmebodqbqRYllUrrbKE1DDJbXRowSTEvLS9ar22uFsSs62qYWXFILPjylPPVQ9/Xbx67qXgivtVYKQrq5UZ90qTeeRTQasYLuY61dsdC8GgChw60L0yYLlIfEtnn/6f3D8QQtLd4+jVxLFv7u18j1TCaMQ3AV+W6fmWAB7aaTeiOqjdO2dkKdh1oHnyFus+BpHHR2dYXjN1RX9MqfYqF9RSkVqueYhNW45aWfrYfc1qlRaCOzdkrFm0eWbENYrz6ir7yfaAJ2g2pQ3G8mM5gDYHFBcVoh1S3oW7QyhjKYWyRpPyh/wQccTw2kJXwzBewEzvSa67rH77F6Itnv46jaFJu7qgl53z/WlXj8cp2ZC09rTVM0XSkdmcPqwMFNBN8sWuPFVkXztA59Cnzq/2nTweObgq0TOEH3RV30SeuQfp/Ef0SLg8H5M3Dek02O6hnnzegolXQh8pzBXUExLvOQFUU+p5m59W2H3wpf/ICJmE3ezki5i6JlJsAYvcEmfsr3hces0CLwuE7Sa6ybQFzdBHJlvdK2pG7C64ymA/XMDa5HfdWtVHUWVT9DR3z1ElbtutH81m406FAj4KLdaOVgSa5QvXubJhAhdLKWrLIEBlc3yNav2QrHpd2LmV7bMItnGGO2xZj1ZQVV/RqzgYmWc2KrIt+oTb5dx75EirRPEQ9M+OoUVmhOlmsI9YHo3lagniB8mqE2eYZF/LSjVpgB+0awt8AIwB4JpDWRCzFyYcHBh14H7jDAq237V6CaT6zT3f14x4F6JZt23nHQ2nDtAm6FKjpPGZalCB77lQ6VoxjdmK65rCxy7WETSNuh9ClKDVry+qVTnCV7ZkWY+dP9nTGV2kwlNLypBJEo6VOVc9XmEogGXYIbiK0hd0kUHo7mbXX+vLvBj3L7NcE/PZGfwt2SKD/GHC6HaGTm76ckXkRpGl2fAUzH1JUCaNll5qcqgrDso2WMYKcjgkIwVZEr9yONfIcLBGbvxylUg6A1bAQA3SKoTeSofH7RJGI2fxTVL8YMqlBcWGg3jp0fEIj5gSkLuPouy9YpM/zc0vF7PBCK8j1Z7/ctvFBTwn5sqCtO0QrraycOmUbsU3WARVxhUP5j9T8sVcSAXjEwTdk8xishQOuiN2gjFgJ0UAfQUP5U7O+2aw4zHFeMC9i2uVknk+gh7Qm8xvRGwe5NQuxwffE3l6n+62/6fMnYppP9Iho9EJaOjEGHmyXl0mp3ZHHE8sHQZQAQmqIsQZleYsYrEtvZx+9yQdNVeAIvQNhal4B9LW4m0rkOeDlmvD/N3dJ8aNLRl/DBA0uiEnrW33CqHVAQqrpddfjfU1YMiXHSCWttZapB2B4ohaxAahAohY0uVXX6BxnJLi50EkoXDF5X8doO5lwi5TjIuwrSLphbSILT3dnuSEydTRYClI21/B0NhtxQtKK4GiJqR5n6oYoQemAesP6UfGZf3wVEyLjPgmwpSWFreQq0fc40Hr8mps/Pa2LZ2qzwJVxvTGNTW5kKsmViPoCuFbPRd9xObAaRrwyA+Tgzsl1vDAWcyKywFMqjlfC3vWNCR/wV45cGf986ksea0+1Px8bScbg7kvL7CUEwX0OPAhlZ+gZgS4xEfb77iA/8q8zhFm5JTAIOHzZkIBZHGfyiDrPOEvUEqtOClCX17uINvh/rfhfvyFUeMTpwhzojI+JaIRTztagzubLECTyfH94R3PyN5GEx2BPhmjLNsGIJ5tyMUBndQL90E03SqRo+VBO1Gz5Wzf6SnsI/9EZFWUuiRYT//vXFbrCNLgiPJxGefuseLOM4CFKhJD/NhaZgDiBL6rMbrSvVM3MuBAidObCC4z+XvWj+NMV1jgzTq0tim/FXp7CZjRrZTJx6BM9jsh44wRI54V1C/JVCAWTlEukh3C3DZEkPG9+0RZNA2bxYmSqB/EjLC+oSM7ODVxBKqqQ1BgUAN+xUg6kd0BbdqSlbFsrsUNdoru+gu/LhpSVz5NkWcYKd4X2cpXaLamgmC2zwv4r/GMM5E3AU8C/GJauBExBhGUxEMmru1gUOxme2qBXKApL9unW2GI4saHGNnrUoD9bgKxGgbdZm836MkvpzWq0hm0ZqdbKGRrRZVyt2aC+QEUpVx+8D0+fnE7Tv/0Ha/pZ5GRxG08y6MKZPs+srLYDr2faxRdtnwmCvPLCjBexJFNXiOn1P24baq3Q7ovE1ZaxX54bmrgSM9ZZl8SXoo+cGW0xPVrA+i3YWfb7gMU624cEgfhvi26q7r7tEfLHieQLeLrZcvDlXFjW8q+WIKYUpA65yD4jTOmhDHI44fsB1RMk0rHCqJdZTPQi90QYl+fh8eE4ioxzblKMrq8jqWTk6os0zYUB2oDIgozZARtqh8UALVnQi+8DgS29UTM/l8LsKj23UWaYuW629zAelZSm7LYZMk6TjoNkJ5rZ9LMpic0SebOqwDeauJQHq7qYOO95kpfPsjERf0jnZKSRvINGww/kd0Xq9nmmMTmt5khPwW5PPs0pohwiX5fPZC3Rps6A6hfj54R3heTPZ6XTNF0g32/eu+VwxSH8raY98Ma0/ufQ5XOezzMu0JV5md30/rhn7Ur4KZVfDrfEwe9KUruhq/EpF7Wo7f24cbki0zPbvN2LumvHyvEwoSU9zNYqkGEWH2iTX1Cadxg2tq2cCOixUn1pt+viSWm0K1MVaqcL+La0mYgS74Zbg8e5rui9pZYzi3H5i+92hrPfTkYXpO7SBxTD9BHLYN55nz4PqP1ZG4eD5bFc9njAFQFYea+o2hyowIDs+N39aA/XsmULyU5jBa6stxNdiw1Y6aOeaGbe7cBulGQjj299v01nZRlWOI48Pq2zW7WGVrQdLQozcS3J+NpCGjMM1YSxWYwflDKGmUidPMmeojC5dXjd4ogc9YTRQ3pjttXZVAsS3cWmgGkZU+IYf5d/VD1/IxbAAFR/vfxQXzz+9lp+04qKa6FmFixxw4bkffWgVsXuhmJy+Pmb+o320mTENucbZq/UwAi5YLp8SKnf3OptR5+m0Q7wElAqGfGEgRA4onaMF9dsvES0EXLTwQjOCyHq5rHa3/IfYP8OHFGomBL11G+KNsA7RKXSqMHKo9hu0ebr2Gx50mr4wYxYu9quNzfyTU8SkxVEjShX6bIzmNDl5MzsHHKu5zmhYTcxe/8LEaB/zMaPRMk5IPjtbKGncuypbBZyOtm3lgGx3Gno8i+eo9tXPnPfQxRQ0QD7bfjoQ8CBrLMDji8Cjgw1Z5WLYwsMjYlAF1QjoRoYLm5AuB48eX8hzOZuRWwdrWa02I/cNdzwmIDJ6+cJ6WTokt2e97Jt+JgGVVPDLr5kyfVSwnsta9hrkYHyTjzuJF1rzcZZz2WhIH3gv1tHx1TKr8IVtnFrE2328y96/Af5ZU77Nkc156Dnf5o/HJRte2n3lwdUt0k4sV8tmqX32LvA+sN9U5pzGDu17tjTcOOyL6dfKxmHO5j8qAAyp30JCFAP/jfDvA4nl3zf8T3LMz42FgoYSSVe297nfEknqJE4QdJWrFep0cE+9PoEYC5myrlQmW9Asm5qqytoSE25/d4o1FOkBA5iIZLzEa9bXaDRlo6aEAAzvKQXWVGU7UG6/HBqSzZr2k8gWtE6hRroBMn34hsjVIonCQ+a7MAMPPrz7bAC5DZDLNdFDAvJkR28FyjOHhwZknUoyR0S2oHn9opaALOYYC0CWrW0/YvM2PGT9Pfm66SRfN00Q0kB0M0Tbsr0B/UI0Aqb1XpBqJflvHRWvm/xjLhNYYbqJJmVOQHlpe3MNn3YlBoEIC9JoyX6fxGRijsH6FqyXDkXuG+uNrScguJKEN7du6gj1pqbgJEZohvqs+5KX+7HzQvn40t2o2a2/rKPvWed+PoeZhF/wnS0WmPimhKgV+X1ZW0ffyG+qRgQ8VxL4FnLrCP1Tneb8FrLX4Hw/MbnyRuXGdwWPw1lZy2PCLW1AjIAzPBBDkbRTBmLV/BcCzXX8WgJxYMg+diAWU5SyKMgxFG4A+S2AjGSD2Pu2jJFAYlNeCcsWuMHqKxEUZW/KmlK10B2Bq6sUKW/RkH28mlJsRHiXRKKqLBIGma7MFncddedy/fgYZS8Ogec0SlKjQNsUqC3rTO7boxEV6JRxWrWABIG2blT9YBpOm+pngC9HLCryiBtNhoDi3LSL0RSINUHsOIkyA4zA19eZWEgfGRRvQ3FXto2lbxQf0RzXEciz6kwBBGo2cGiE2shQeezGtdg0UQvCWYE8fqPkMIELsiXXWNKtGOzLAh59Y7DpjRGQVUU6YY31pREGi9p3suU4byC8QjkOcLh1KxpwA6hZsVHCPdm1MSs2gxpob1uZAcYA7bV7rqawbdJCw6cTkKhc3+f7BOgwFLNq9zjf0uLmW0Io6ybsddsuttGmqhGRskZENV1pPTkqSNRct3T70/Uu14UW4qVFltjuF++oABuTshQLJQFqbeuCvsNG5jXYr4M1sMANE3Yt1dnBqhF9jVzLxkaubPpz1QTa5GMWEvxn11EeUUqfF4sofXzeEMfAOBsM8NtIGLsgKzJ1Zd6G052lJFb7T6GmCTq81WrJhhL1rIfN4G4BT5WQt3Vwt7BJVwM0tkyL9UnM0FYrAWj9kT6KmT69omIOX8L1JgsiZHeHwC4Ok3yt7m5D3kVWQ7U+/CXlTs5nv4bZHZFvRCYbxGtxz5rTKqam0RzYvZ0jiSbvMOZhiYkBRpN/CDdpNAVN7sjiTz1r8pZBvL8mz9dICguSSnGWGq5sLP6FqIE/JnF8qKItflGrj/EyImf8Pw==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 1845 90 L 1845 132.13" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1845 138.88 L 1840.5 129.88 L 1845 132.13 L 1849.5 129.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="1785" y="50" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 1786px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Message received</div></div></div></foreignObject><text x="1845" y="74" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Message received</text></switch></g><path d="M 1845 250 L 1845 282.13" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1845 288.88 L 1840.5 279.88 L 1845 282.13 L 1849.5 279.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 270px; margin-left: 1865px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1865" y="273" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1905 195 L 1950.03 195 L 1950.03 259.97 L 1987.13 259.97" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1993.88 259.97 L 1984.88 264.47 L 1987.13 259.97 L 1984.88 255.47 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 227px; margin-left: 1960px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">No</div></div></div></foreignObject><text x="1960" y="231" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1845 140 L 1905 195 L 1845 250 L 1785 195 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 110px; height: 1px; padding-top: 193px; margin-left: 1790px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Project is releng/fedora-scm-requests?</div></div></div></foreignObject><text x="1845" y="197" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Project is releng/...</text></switch></g><rect x="1995" y="240" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 260px; margin-left: 1996px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Skip the message</div></div></div></foreignObject><text x="2055" y="264" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Skip the message</text></switch></g><path d="M 1845 370 L 1845 402.13" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1845 408.88 L 1840.5 399.88 L 1845 402.13 L 1849.5 399.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 390px; margin-left: 1865px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1865" y="393" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1894.96 329.97 L 1945 329.97 L 1945 269.97 L 1987.13 269.99" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1993.88 270 L 1984.88 274.49 L 1987.13 269.99 L 1984.89 265.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 300px; margin-left: 1935px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">No</div></div></div></foreignObject><text x="1935" y="303" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1845 290 L 1895 330 L 1845 370 L 1795 330 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 90px; height: 1px; padding-top: 328px; margin-left: 1800px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is issue open?</div></div></div></foreignObject><text x="1845" y="332" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is issue open?</text></switch></g><path d="M 1900 460 L 1988.63 460" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1993.88 460 L 1986.88 463.5 L 1988.63 460 L 1986.88 456.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 450px; margin-left: 1945px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1945" y="453" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1845 510 L 1845 548.13" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1845 553.38 L 1841.5 546.38 L 1845 548.13 L 1848.5 546.38 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 530px; margin-left: 1865px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1865" y="533" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1845 410 L 1900 460 L 1845 510 L 1790 460 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 100px; height: 1px; padding-top: 458px; margin-left: 1795px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is json in ticket valid?</div></div></div></foreignObject><text x="1845" y="462" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is json in ticket...</text></switch></g><rect x="1995" y="440" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 460px; margin-left: 1996px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2055" y="464" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 1899.98 604.52 L 2082.52 604.52 L 2082.5 638.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2082.5 643.88 L 2079 636.88 L 2082.5 638.63 L 2086 636.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 564px; margin-left: 2051px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2051" y="567" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1790.02 604.52 L 1735 604.52 L 1735 663.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1735 668.88 L 1731.5 661.88 L 1735 663.63 L 1738.5 661.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 590px; margin-left: 1736px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1736" y="593" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1845 554.5 L 1900 604.5 L 1845 654.5 L 1790 604.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 100px; height: 1px; padding-top: 603px; margin-left: 1795px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are SLAs in the json?</div></div></div></foreignObject><text x="1845" y="606" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are SLAs in the j...</text></switch></g><path d="M 1790 720 L 1823.63 720" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1828.88 720 L 1821.88 723.5 L 1823.63 720 L 1821.88 716.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 710px; margin-left: 1806px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1806" y="714" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1735 770 L 1735 895 L 1824.88 895" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1830.13 895 L 1823.13 898.5 L 1824.88 895 L 1823.13 891.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 862px; margin-left: 1720px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1720" y="865" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1735 670 L 1790 720 L 1735 770 L 1680 720 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 100px; height: 1px; padding-top: 718px; margin-left: 1685px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are provided SLAs valid?</div></div></div></foreignObject><text x="1735" y="722" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are provided SLAs...</text></switch></g><path d="M 1995 720 L 1956.37 720" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1951.12 720 L 1958.12 716.5 L 1956.37 720 L 1958.12 723.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 710px; margin-left: 1980px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1980" y="713" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2082.52 794.99 L 2082.52 895 L 1955.12 895" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1949.87 895 L 1956.87 891.5 L 1955.12 895 L 1956.87 898.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 2082.5 645 L 2170 720 L 2082.5 795 L 1995 720 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 718px; margin-left: 2000px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are default SLAs for the branch defined in the config?</div></div></div></foreignObject><text x="2083" y="722" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are default SLAs for the bra...</text></switch></g><rect x="1830" y="700" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 720px; margin-left: 1831px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="1890" y="724" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 1890.03 840.03 L 1890.03 790.03 L 1890 746.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1890 741.12 L 1893.51 748.12 L 1890 746.37 L 1886.51 748.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 800px; margin-left: 1905px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1905" y="804" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1890.03 949.97 L 1890.03 970.03 L 1890.03 983.66" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1890.03 988.91 L 1886.53 981.91 L 1890.03 983.66 L 1893.53 981.91 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 970px; margin-left: 1910px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1910" y="973" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1890 840 L 1948.75 895 L 1890 950 L 1831.25 895 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 893px; margin-left: 1836px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is branch name valid?</div></div></div></foreignObject><text x="1890" y="897" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is branch name val...</text></switch></g><path d="M 1889.99 1120 L 1889.99 1153.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1889.99 1158.88 L 1886.49 1151.88 L 1889.99 1153.63 L 1893.49 1151.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1140px; margin-left: 1910px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1910" y="1143" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1969.68 1055 L 2139.69 1055 L 2139.69 1153.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2139.69 1158.88 L 2136.19 1151.88 L 2139.69 1153.63 L 2143.19 1151.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1040px; margin-left: 2110px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2110" y="1043" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1889.99 990 L 1969.68 1055 L 1889.99 1120 L 1810.31 1055 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1053px; margin-left: 1815px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is monitoring setting in json?</div></div></div></foreignObject><text x="1890" y="1057" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is monitoring setting in...</text></switch></g><path d="M 1810.31 1225 L 1746.37 1225" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1741.12 1225 L 1748.12 1221.5 L 1746.37 1225 L 1748.12 1228.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1210px; margin-left: 1780px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1780" y="1213" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1969.68 1225 L 2053.63 1225" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2058.88 1225 L 2051.88 1228.5 L 2053.63 1225 L 2051.88 1221.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1210px; margin-left: 2020px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2020" y="1213" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1889.99 1160 L 1969.68 1225 L 1889.99 1290 L 1810.31 1225 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1223px; margin-left: 1815px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is monitoring choice valid?</div></div></div></foreignObject><text x="1890" y="1227" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is monitoring choice vali...</text></switch></g><rect x="1620" y="1205" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1225px; margin-left: 1621px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="1680" y="1229" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 2139.69 1290 L 2139.69 1330.03 L 2009.69 1330.03 L 2009.69 1363.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.69 1368.88 L 2006.19 1361.88 L 2009.69 1363.63 L 2013.19 1361.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1320px; margin-left: 2070px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">new_repo</div></div></div></foreignObject><text x="2070" y="1323" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">new_repo</text></switch></g><path d="M 2219.37 1225 L 2359.69 1225 L 2359.69 1363.64" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2359.69 1368.89 L 2356.19 1361.89 L 2359.69 1363.64 L 2363.19 1361.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1250px; margin-left: 2400px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">new_branch</div></div></div></foreignObject><text x="2400" y="1253" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">new_branch</text></switch></g><path d="M 2219.37 1225 L 2300.03 1225 L 2300 1116.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2300 1111.12 L 2303.5 1118.12 L 2300 1116.37 L 2296.5 1118.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1177px; margin-left: 2320px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Other</div></div></div></foreignObject><text x="2320" y="1180" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Other</text></switch></g><path d="M 2139.68 1160 L 2219.37 1225 L 2139.68 1290 L 2060 1225 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1223px; margin-left: 2065px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">What action is in json?</div></div></div></foreignObject><text x="2140" y="1227" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">What action is in json?</text></switch></g><path d="M 2089.37 1435 L 2109.41 1435 L 2100.03 1435 L 2113.63 1435" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2118.88 1435 L 2111.88 1438.5 L 2113.63 1435 L 2111.88 1431.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1420px; margin-left: 2100px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2100" y="1423" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 1500 L 2009.68 1543.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 1548.88 L 2006.18 1541.88 L 2009.68 1543.63 L 2013.18 1541.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1520px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2030" y="1523" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 1370 L 2089.37 1435 L 2009.68 1500 L 1930 1435 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1433px; margin-left: 1935px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are all the required keys provided in json?</div></div></div></foreignObject><text x="2010" y="1437" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are all the required keys...</text></switch></g><path d="M 2280 1435 L 2246.37 1435" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2241.12 1435 L 2248.12 1431.5 L 2246.37 1435 L 2248.12 1438.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1420px; margin-left: 2260px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2260" y="1423" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2359.68 1500 L 2359.68 1543.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2359.68 1548.88 L 2356.18 1541.88 L 2359.68 1543.63 L 2363.18 1541.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1520px; margin-left: 2380px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2380" y="1523" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2359.68 1370 L 2439.37 1435 L 2359.68 1500 L 2280 1435 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1433px; margin-left: 2285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are all the required keys provided in json?</div></div></div></foreignObject><text x="2360" y="1437" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are all the required keys...</text></switch></g><rect x="2240" y="1070" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1090px; margin-left: 2241px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2300" y="1094" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><rect x="2120" y="1415" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1435px; margin-left: 2121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2180" y="1439" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 2089.37 1615 L 2180.03 1615 L 2180 1461.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2180 1456.12 L 2183.5 1463.12 L 2180 1461.37 L 2176.5 1463.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1550px; margin-left: 2200px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2200" y="1553" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 1680 L 2009.68 1723.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 1728.88 L 2006.18 1721.88 L 2009.68 1723.63 L 2013.18 1721.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1700px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2030" y="1703" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 1550 L 2089.37 1615 L 2009.68 1680 L 1930 1615 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1613px; margin-left: 1935px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the repository name valid?</div></div></div></foreignObject><text x="2010" y="1617" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the repository name va...</text></switch></g><path d="M 1930 1795 L 1866.37 1795" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1861.12 1795 L 1868.12 1791.5 L 1866.37 1795 L 1868.12 1798.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1780px; margin-left: 1899px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1899" y="1784" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 1860 L 2009.68 1908.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 1913.88 L 2006.18 1906.88 L 2009.68 1908.63 L 2013.18 1906.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1890px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2030" y="1893" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 1730 L 2089.37 1795 L 2009.68 1860 L 1930 1795 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1793px; margin-left: 1935px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Skip the bugzilla ticket validation?</div></div></div></foreignObject><text x="2010" y="1797" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Skip the bugzilla ticket...</text></switch></g><path d="M 1785 1855 L 1785 1875 L 1785 1870.03 L 1785 1883.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1785 1888.88 L 1781.5 1881.88 L 1785 1883.63 L 1788.5 1881.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1870px; margin-left: 1800px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1800" y="1873" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1785 1735 L 1785 1651.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1785 1646.12 L 1788.5 1653.12 L 1785 1651.37 L 1781.5 1653.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1690px; margin-left: 1800px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1800" y="1693" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1785 1735 L 1860 1795 L 1785 1855 L 1710 1795 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 1793px; margin-left: 1715px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is there already a validation comment on ticket?</div></div></div></foreignObject><text x="1785" y="1797" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is there already a vali...</text></switch></g><path d="M 1785 2070 L 1785 2175 L 1913.31 2175" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1918.56 2175 L 1911.56 2178.5 L 1913.31 2175 L 1911.56 2171.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2109px; margin-left: 1800px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1800" y="2112" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1690 1980 L 1636.37 1980" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1631.12 1980 L 1638.12 1976.5 L 1636.37 1980 L 1638.12 1983.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1960px; margin-left: 1660px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1660" y="1963" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1785 1890 L 1880 1980 L 1785 2070 L 1690 1980 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 180px; height: 1px; padding-top: 1978px; margin-left: 1695px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the comment provided by maintainer of releng/fedora-scm-request repository?</div></div></div></foreignObject><text x="1785" y="1982" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the comment provided by mai...</text></switch></g><path d="M 2009.68 2045 L 2009.68 2093.64" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 2098.89 L 2006.18 2091.89 L 2009.68 2093.64 L 2013.18 2091.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2075px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2030" y="2078" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2089.33 1980.03 L 2109.41 1980.03 L 2100.03 1980.03 L 2113.63 1980.03" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2118.88 1980.03 L 2111.88 1983.53 L 2113.63 1980.03 L 2111.88 1976.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1970px; margin-left: 2100px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2100" y="1973" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 1915 L 2089.37 1980 L 2009.68 2045 L 1930 1980 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1978px; margin-left: 1935px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the bugzilla ticket provided?</div></div></div></foreignObject><text x="2010" y="1982" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the bugzilla ticket pr...</text></switch></g><path d="M 2009.68 2250 L 2009.68 2283.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 2288.88 L 2006.18 2281.88 L 2009.68 2283.63 L 2013.18 2281.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2270px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2030" y="2273" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2099.68 2175 L 2180.03 2175 L 2180 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2180 2001.12 L 2183.5 2008.12 L 2180 2006.37 L 2176.5 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2120px; margin-left: 2200px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2200" y="2123" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 2100 L 2099.68 2175 L 2009.68 2250 L 1919.68 2175 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 2173px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is this a valid bugzilla ticket?</div></div></div></foreignObject><text x="2010" y="2177" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is this a valid bugzilla tic...</text></switch></g><rect x="1717.5" y="1585" width="135" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 133px; height: 1px; padding-top: 1615px; margin-left: 1719px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Ping the maintainers of releng/fedora-scm-requests in comment</div></div></div></foreignObject><text x="1785" y="1619" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Ping the maintainers o...</text></switch></g><rect x="1510" y="1960" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1980px; margin-left: 1511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Skip the message</div></div></div></foreignObject><text x="1570" y="1984" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Skip the message</text></switch></g><rect x="2120" y="1960" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1980px; margin-left: 2121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2180" y="1984" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 1919.68 2365 L 1881.37 2365" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1876.12 2365 L 1883.12 2361.5 L 1881.37 2365 L 1883.12 2368.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2350px; margin-left: 1900px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1900" y="2353" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 2440 L 2009.68 2473.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 2478.88 L 2006.18 2471.88 L 2009.68 2473.63 L 2013.18 2471.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2460px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2030" y="2463" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 2290 L 2099.68 2365 L 2009.68 2440 L 1919.68 2365 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 2363px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the branch requested an EPEL branch?</div></div></div></foreignObject><text x="2010" y="2367" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the branch requested an E...</text></switch></g><path d="M 1695 2365 L 1636.37 2365" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1631.12 2365 L 1638.12 2361.5 L 1636.37 2365 L 1638.12 2368.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2350px; margin-left: 1670px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1670" y="2353" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1785 2440 L 1785 2555 L 1913.31 2555" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1918.56 2555 L 1911.56 2558.5 L 1913.31 2555 L 1911.56 2551.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2540px; margin-left: 1810px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1810" y="2543" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1785 2290 L 1875 2365 L 1785 2440 L 1695 2365 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 2363px; margin-left: 1700px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the EPEL request valid?</div></div></div></foreignObject><text x="1785" y="2367" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the EPEL request valid?</text></switch></g><rect x="1510" y="2345" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 2365px; margin-left: 1511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="1570" y="2369" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 1949.72 2580.03 L 1882.03 2580.03 L 1882.03 2650.03 L 1863.87 2650.03" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1858.62 2650.03 L 1865.62 2646.53 L 1863.87 2650.03 L 1865.62 2653.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2594px; margin-left: 1870px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1870" y="2597" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 2630 L 2009.68 2663.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 2668.88 L 2006.18 2661.88 L 2009.68 2663.63 L 2013.18 2661.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2650px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2030" y="2653" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 2480 L 2099.68 2555 L 2009.68 2630 L 1919.68 2555 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 2553px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does the requester exists in dist git?</div></div></div></foreignObject><text x="2010" y="2557" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does the requester exists in...</text></switch></g><path d="M 2099.68 2745 L 2119.69 2745 L 2100.03 2745 L 2113.63 2745" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2118.88 2745 L 2111.88 2748.5 L 2113.63 2745 L 2111.88 2741.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2730px; margin-left: 2100px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2100" y="2733" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 2820 L 2009.68 2853.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 2858.88 L 2006.18 2851.88 L 2009.68 2853.63 L 2013.18 2851.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2840px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2030" y="2843" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 2670 L 2099.68 2745 L 2009.68 2820 L 1919.68 2745 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 2743px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does the project exists in dist git?</div></div></div></foreignObject><text x="2010" y="2747" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does the project exists in d...</text></switch></g><rect x="2120" y="2725" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 2745px; margin-left: 2121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2180" y="2749" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><rect x="1712.5" y="2630" width="145" height="70" rx="10.5" ry="10.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 143px; height: 1px; padding-top: 2665px; margin-left: 1714px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Let user know in comment that he needs to login to dist git first</div></div></div></foreignObject><text x="1785" y="2669" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Let user know in comment...</text></switch></g><path d="M 2099.68 2935 L 2180.03 2935 L 2180.03 2771.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2180.03 2766.12 L 2183.53 2773.12 L 2180.03 2771.37 L 2176.53 2773.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2920px; margin-left: 2140px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2140" y="2923" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 3010 L 2009.68 3053.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 3058.88 L 2006.18 3051.88 L 2009.68 3053.63 L 2013.18 3051.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3030px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2030" y="3033" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 2860 L 2099.68 2935 L 2009.68 3010 L 1919.68 2935 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 2933px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the branch name master?</div></div></div></foreignObject><text x="2010" y="2937" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the branch name master?</text></switch></g><path d="M 2099.68 3135 L 2119.69 3135 L 2100.03 3135 L 2113.63 3135" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2118.88 3135 L 2111.88 3138.5 L 2113.63 3135 L 2111.88 3131.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3120px; margin-left: 2110px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2110" y="3123" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 3210 L 2009.68 3253.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2009.68 3258.88 L 2006.18 3251.88 L 2009.68 3253.63 L 2013.18 3251.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3230px; margin-left: 2030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2030" y="3233" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2009.68 3060 L 2099.68 3135 L 2009.68 3210 L 1919.68 3135 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 3133px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the namespace recognizable?</div></div></div></foreignObject><text x="2010" y="3137" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the namespace recognizabl...</text></switch></g><rect x="2120" y="3115" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 3135px; margin-left: 2121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2180" y="3139" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 2099.68 3335 L 2180.03 3335 L 2180 3161.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2180 3156.12 L 2183.5 3163.12 L 2180 3161.37 L 2176.5 3163.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3320px; margin-left: 2151px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2151" y="3324" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1919.68 3335 L 1858.87 3335" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1853.62 3335 L 1860.62 3331.5 L 1858.87 3335 L 1860.62 3338.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3320px; margin-left: 1890px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1890" y="3323" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2009.68 3260 L 2099.68 3335 L 2009.68 3410 L 1919.68 3335 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 3333px; margin-left: 1925px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does the branch exist in PDC?</div></div></div></foreignObject><text x="2010" y="3337" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does the branch exist in PDC?</text></switch></g><path d="M 1793.75 3312.5 L 1793.75 3211.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1793.75 3206.12 L 1797.25 3213.12 L 1793.75 3211.37 L 1790.25 3213.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="1735" y="3312.5" width="117.5" height="45" rx="6.75" ry="6.75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 116px; height: 1px; padding-top: 3335px; margin-left: 1736px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Create the repository<br />and close the ticket as Processed</div></div></div></foreignObject><text x="1794" y="3339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Create the reposito...</text></switch></g><path d="M 2280 1615 L 2180.03 1615 L 2180.03 1461.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2180.03 1456.12 L 2183.53 1463.12 L 2180.03 1461.37 L 2176.53 1463.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 2359.68 1680 L 2359.68 1713.64" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2359.68 1718.89 L 2356.18 1711.89 L 2359.68 1713.64 L 2363.18 1711.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1700px; margin-left: 2380px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2380" y="1703" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2359.68 1550 L 2439.37 1615 L 2359.68 1680 L 2280 1615 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 149px; height: 1px; padding-top: 1613px; margin-left: 2285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does repository exists?</div></div></div></foreignObject><text x="2360" y="1617" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does repository exists?</text></switch></g><path d="M 2449.68 1795 L 2503.63 1795" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2508.88 1795 L 2501.88 1798.5 L 2503.63 1795 L 2501.88 1791.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1780px; margin-left: 2480px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2480" y="1783" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2359.69 1869.99 L 2359.69 1890.03 L 2359.69 1885 L 2359.68 1898.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2359.68 1903.88 L 2356.18 1896.88 L 2359.68 1898.63 L 2363.18 1896.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1885px; margin-left: 2380px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2380" y="1888" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2359.68 1720 L 2449.68 1795 L 2359.68 1870 L 2269.68 1795 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 1793px; margin-left: 2275px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the branch requested an EPEL branch?</div></div></div></foreignObject><text x="2360" y="1797" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the branch requested an E...</text></switch></g><path d="M 2690 1795 L 2753.63 1795" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2758.88 1795 L 2751.88 1798.5 L 2753.63 1795 L 2751.88 1791.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1780px; margin-left: 2720px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2720" y="1783" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2600.03 1869.97 L 2600.03 1980.03 L 2456.01 1980.03" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2450.76 1980.03 L 2457.76 1976.53 L 2456.01 1980.03 L 2457.76 1983.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1933px; margin-left: 2620px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2620" y="1936" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2600 1720 L 2690 1795 L 2600 1870 L 2510 1795 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 1793px; margin-left: 2515px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the EPEL request valid?</div></div></div></foreignObject><text x="2600" y="1797" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the EPEL request valid?</text></switch></g><rect x="2760" y="1775" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1795px; margin-left: 2761px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Close the issue with comment as Invalid</div></div></div></foreignObject><text x="2820" y="1799" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Close the issue with...</text></switch></g><path d="M 2269.72 1980.03 L 2249.69 1980.03 L 2260.03 1980.03 L 2246.37 1980.03" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2241.12 1980.03 L 2248.12 1976.53 L 2246.37 1980.03 L 2248.12 1983.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1970px; margin-left: 2260px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2260" y="1973" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2359.69 2054.99 L 2359.69 2080.03 L 2359.64 2098.69" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2359.62 2103.94 L 2356.14 2096.93 L 2359.64 2098.69 L 2363.14 2096.95 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2080px; margin-left: 2380px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2380" y="2083" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2359.68 1905 L 2449.68 1980 L 2359.68 2055 L 2269.68 1980 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 170px; height: 1px; padding-top: 1978px; margin-left: 2275px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does the branch exist in PDC?</div></div></div></foreignObject><text x="2360" y="1982" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does the branch exist in PDC?</text></switch></g><path d="M 2279.53 2175 L 2180.03 2175 L 2180.03 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2180.03 2001.12 L 2183.53 2008.12 L 2180.03 2006.37 L 2176.53 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 2359.69 2245 L 2359.69 2283.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2359.69 2288.88 L 2356.19 2281.88 L 2359.69 2283.63 L 2363.19 2281.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2270px; margin-left: 2380px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2380" y="2273" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2359.69 2105 L 2439.85 2175 L 2359.69 2245 L 2279.53 2175 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 150px; height: 1px; padding-top: 2173px; margin-left: 2285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the requester a maintainer of the repository?</div></div></div></foreignObject><text x="2360" y="2177" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the requester a mainta...</text></switch></g><path d="M 2359.62 2335 L 2359.62 2362.52 L 2360.04 2383.64" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2360.15 2388.89 L 2356.51 2381.96 L 2360.04 2383.64 L 2363.51 2381.82 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="2300.94" y="2290" width="117.5" height="45" rx="6.75" ry="6.75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 116px; height: 1px; padding-top: 2313px; margin-left: 2302px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Create the branch<br />and close the ticket as Processed</div></div></div></foreignObject><text x="2360" y="2316" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Create the branch...</text></switch></g><path d="M 2440.32 2460 L 2503.63 2460" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2508.88 2460 L 2501.88 2463.5 L 2503.63 2460 L 2501.88 2456.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2450px; margin-left: 2470px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2470" y="2453" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2360.16 2390 L 2440.32 2460 L 2360.16 2530 L 2280 2460 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 150px; height: 1px; padding-top: 2458px; margin-left: 2285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is bugzilla ticket available?</div></div></div></foreignObject><text x="2360" y="2462" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is bugzilla ticket availa...</text></switch></g><rect x="2510" y="2437.5" width="117.5" height="45" rx="6.75" ry="6.75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 116px; height: 1px; padding-top: 2460px; margin-left: 2511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Comment on the ticket</div></div></div></foreignObject><text x="2569" y="2464" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Comment on the tick...</text></switch></g><path d="M 1793.75 3065 L 1793.75 3016.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1793.75 3011.12 L 1797.25 3018.12 L 1793.75 3016.37 L 1790.25 3018.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3042px; margin-left: 1784px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1784" y="3045" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1793.75 3065 L 1873.91 3135 L 1793.75 3205 L 1713.59 3135 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 150px; height: 1px; padding-top: 3133px; margin-left: 1719px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is bugzilla ticket available?</div></div></div></foreignObject><text x="1794" y="3137" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is bugzilla ticket availa...</text></switch></g><rect x="1735" y="2965" width="117.5" height="45" rx="6.75" ry="6.75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 116px; height: 1px; padding-top: 2988px; margin-left: 1736px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Comment on the ticket</div></div></div></foreignObject><text x="1794" y="2991" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Comment on the tick...</text></switch></g><rect x="1755" y="0" width="180" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 10px; margin-left: 1845px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">SCM Request Processor Flow</div></div></div></foreignObject><text x="1845" y="14" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SCM Request Processor Flow</text></switch></g><rect x="2809.77" y="0" width="100" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 10px; margin-left: 2860px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">SLAs Validation</div></div></div></foreignObject><text x="2860" y="14" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SLAs Validation</text></switch></g><path d="M 2859.77 80 L 2859.77 123.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2859.77 128.88 L 2856.27 121.88 L 2859.77 123.63 L 2863.27 121.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="2799.77" y="40" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 60px; margin-left: 2801px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SLAs received</div></div></div></foreignObject><text x="2860" y="64" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SLAs received</text></switch></g><path d="M 2799.77 185 L 2779.83 185 L 2766.77 185" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2761.52 185 L 2768.52 181.5 L 2766.77 185 L 2768.52 188.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 170px; margin-left: 2780px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2780" y="173" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2859.77 240 L 2859.77 283.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2859.77 288.88 L 2856.27 281.88 L 2859.77 283.63 L 2863.27 281.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 260px; margin-left: 2881px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2881" y="263" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2859.77 130 L 2919.77 185 L 2859.77 240 L 2799.77 185 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 110px; height: 1px; padding-top: 183px; margin-left: 2805px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are SLAs in standard SLAs?</div></div></div></foreignObject><text x="2860" y="187" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are SLAs in standa...</text></switch></g><path d="M 2640.4 185 L 2606.45 185" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2601.2 185 L 2608.2 181.5 L 2606.45 185 L 2608.2 188.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 170px; margin-left: 2620px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2620" y="173" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2700.4 240 L 2700.4 318.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2700.4 323.88 L 2696.9 316.88 L 2700.4 318.63 L 2703.9 316.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 274px; margin-left: 2720px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2720" y="277" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2700.4 130 L 2760.4 185 L 2700.4 240 L 2640.4 185 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 110px; height: 1px; padding-top: 183px; margin-left: 2645px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does they correspond with the branch?</div></div></div></foreignObject><text x="2700" y="187" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does they correspo...</text></switch></g><rect x="2480.08" y="165" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 185px; margin-left: 2481px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation error</div></div></div></foreignObject><text x="2540" y="189" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation error</text></switch></g><rect x="2640.4" y="325" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 345px; margin-left: 2641px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validated</div></div></div></foreignObject><text x="2700" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validated</text></switch></g><path d="M 2919.77 345 L 2939.83 345 L 2937.9 345 L 2951.53 345" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2956.78 345 L 2949.78 348.5 L 2951.53 345 L 2949.78 341.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 330px; margin-left: 2940px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="2940" y="333" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2859.77 400 L 2859.77 438.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2859.77 443.88 L 2856.27 436.88 L 2859.77 438.63 L 2863.27 436.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 420px; margin-left: 2881px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2881" y="423" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2859.77 290 L 2919.77 345 L 2859.77 400 L 2799.77 345 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 110px; height: 1px; padding-top: 343px; margin-left: 2805px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is EOL date string?</div></div></div></foreignObject><text x="2860" y="347" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is EOL date string?</text></switch></g><path d="M 2919.73 500.03 L 3017.9 500.03 L 3017.9 371.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3017.9 366.12 L 3021.4 373.12 L 3017.9 371.37 L 3014.4 373.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 480px; margin-left: 3030px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="3030" y="484" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 2859.77 555 L 2859.77 593.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2859.77 598.88 L 2856.27 591.88 L 2859.77 593.63 L 2863.27 591.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 570px; margin-left: 2881px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2881" y="573" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2859.77 445 L 2919.77 500 L 2859.77 555 L 2799.77 500 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 110px; height: 1px; padding-top: 498px; margin-left: 2805px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is EOL in valid format?</div></div></div></foreignObject><text x="2860" y="502" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is EOL in valid fo...</text></switch></g><rect x="2957.9" y="325" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 345px; margin-left: 2959px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation error</div></div></div></foreignObject><text x="3018" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation error</text></switch></g><path d="M 2859.77 710 L 2859.77 743.64" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2859.77 748.89 L 2856.27 741.89 L 2859.77 743.64 L 2863.27 741.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 730px; margin-left: 2881px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2881" y="733" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2919.77 655 L 3017.9 655 L 3017.9 371.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3017.9 366.12 L 3021.4 373.12 L 3017.9 371.37 L 3014.4 373.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 2859.77 600 L 2919.77 655 L 2859.77 710 L 2799.77 655 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 110px; height: 1px; padding-top: 653px; margin-left: 2805px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is EOL in future?</div></div></div></foreignObject><text x="2860" y="657" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is EOL in future?</text></switch></g><path d="M 2859.76 880 L 2859.76 923.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2859.76 928.88 L 2856.26 921.88 L 2859.76 923.63 L 2863.26 921.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 900px; margin-left: 2881px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2881" y="903" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2930.08 815 L 3017.9 815 L 3017.9 371.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3017.9 366.12 L 3021.4 373.12 L 3017.9 371.37 L 3014.4 373.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 2859.76 750 L 2930.08 815 L 2859.76 880 L 2789.45 815 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 131px; height: 1px; padding-top: 813px; margin-left: 2794px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does EOL has the correct day and month?</div></div></div></foreignObject><text x="2860" y="817" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does EOL has the corre...</text></switch></g><path d="M 2930.08 995 L 3017.9 995 L 3017.9 371.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3017.9 366.12 L 3021.4 373.12 L 3017.9 371.37 L 3014.4 373.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 2789.45 995 L 2700.38 995 L 2700.38 371.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2700.38 366.12 L 2703.88 373.12 L 2700.38 371.37 L 2696.88 373.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 930px; margin-left: 2721px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="2721" y="934" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 2859.76 930 L 2930.08 995 L 2859.76 1060 L 2789.45 995 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 131px; height: 1px; padding-top: 993px; margin-left: 2794px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does SLA exist in PDC?</div></div></div></foreignObject><text x="2860" y="997" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does SLA exist in PDC?</text></switch></g><rect x="950" y="0" width="140" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 10px; margin-left: 1020px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Bugzilla ticket validation</div></div></div></foreignObject><text x="1020" y="14" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Bugzilla ticket validat...</text></switch></g><path d="M 1020 90 L 1020 133.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 138.88 L 1016.5 131.88 L 1020 133.63 L 1023.5 131.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="960" y="50" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 961px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Ticket received</div></div></div></foreignObject><text x="1020" y="74" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Ticket received</text></switch></g><path d="M 945 205 L 881.37 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 876.12 205 L 883.12 201.5 L 881.37 205 L 883.12 208.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 190px; margin-left: 906px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="906" y="193" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 270 L 1020 318.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 323.88 L 1016.5 316.88 L 1020 318.63 L 1023.5 316.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 300px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="303" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1020 140 L 1095 205 L 1020 270 L 945 205 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 203px; margin-left: 950px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does ticket exists in Bugzilla? </div></div></div></foreignObject><text x="1020" y="207" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does ticket exists in B...</text></switch></g><rect x="755" y="185" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 205px; margin-left: 756px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation error</div></div></div></foreignObject><text x="815" y="209" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation error</text></switch></g><path d="M 932.5 405 L 896.37 405" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 891.12 405 L 898.12 401.5 L 896.37 405 L 898.12 408.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 390px; margin-left: 910px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="910" y="393" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1020 485 L 1020 538.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 543.88 L 1016.5 536.88 L 1020 538.63 L 1023.5 536.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 520px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1040" y="523" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 325 L 1107.5 405 L 1020 485 L 932.5 405 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 403px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is namespace rpms with branch other than rawhide or main?</div></div></div></foreignObject><text x="1020" y="407" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is namespace rpms with branc...</text></switch></g><path d="M 740 405 L 715 405 L 715 477.48 L 696.35 477.48" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 691.1 477.48 L 698.1 473.98 L 696.35 477.48 L 698.1 480.98 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 440px; margin-left: 730px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="730" y="443" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 740 405 L 715 405 L 715 307.48 L 696.37 307.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 691.12 307.5 L 698.12 303.99 L 696.37 307.5 L 698.12 310.99 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 360px; margin-left: 730px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="730" y="363" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 815 337.5 L 890 405 L 815 472.5 L 740 405 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 403px; margin-left: 745px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is this the epel branch? </div></div></div></foreignObject><text x="815" y="407" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is this the epel branch...</text></switch></g><path d="M 540.02 477.48 L 460.03 477.48 L 460.03 165 L 815 165 L 815 178.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 815 183.88 L 811.5 176.88 L 815 178.63 L 818.5 176.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 150px; margin-left: 490px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="490" y="153" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 615 545 L 615 625 L 926.13 625" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 931.38 625 L 924.38 628.5 L 926.13 625 L 924.38 621.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 730px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="730" y="613" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 615 410 L 690 477.5 L 615 545 L 540 477.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 475px; margin-left: 545px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is ticket for Fedora EPEL?</div></div></div></foreignObject><text x="615" y="479" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is ticket for Fedora EP...</text></switch></g><path d="M 615 240 L 615 205 L 748.63 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 753.88 205 L 746.88 208.5 L 748.63 205 L 746.88 201.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 190px; margin-left: 670px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="670" y="193" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 540.02 307.48 L 500.03 307.48 L 500.03 665 L 969.88 665" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 975.13 665 L 968.13 668.5 L 969.88 665 L 968.13 661.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 650px; margin-left: 538px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="538" y="653" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 615 240 L 690 307.5 L 615 375 L 540 307.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 140px; height: 1px; padding-top: 305px; margin-left: 545px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is ticket for Fedora EPEL?</div></div></div></foreignObject><text x="615" y="309" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is ticket for Fedora EP...</text></switch></g><path d="M 1020 705 L 1020 763.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 768.88 L 1016.5 761.88 L 1020 763.63 L 1023.5 761.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 740px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="743" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.5 625 L 1193.63 625" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1198.88 625 L 1191.88 628.5 L 1193.63 625 L 1191.88 621.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 1160px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1160" y="613" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 545 L 1107.5 625 L 1020 705 L 932.5 625 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 623px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does ticket have correct component?</div></div></div></foreignObject><text x="1020" y="627" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does ticket have correct com...</text></switch></g><path d="M 1107.46 850.03 L 1260.03 850.03 L 1260.03 651.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 646.12 L 1263.53 653.12 L 1260.03 651.37 L 1256.53 653.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 830px; margin-left: 1280px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1280" y="833" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 930 L 1020 968.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 973.88 L 1016.5 966.88 L 1020 968.63 L 1023.5 966.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 950px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="953" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1020 770 L 1107.5 850 L 1020 930 L 932.5 850 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 848px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the ticket for correct package?</div></div></div></foreignObject><text x="1020" y="852" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the ticket for correct pa...</text></switch></g><rect x="1200" y="605" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 625px; margin-left: 1201px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation error</div></div></div></foreignObject><text x="1260" y="629" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation error</text></switch></g><path d="M 1107.5 1055 L 1260.03 1055 L 1260.03 651.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 646.12 L 1263.53 653.12 L 1260.03 651.37 L 1256.53 653.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 1135 L 1020 1173.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 1178.88 L 1016.5 1171.88 L 1020 1173.63 L 1023.5 1171.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1160px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="1163" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1020 975 L 1107.5 1055 L 1020 1135 L 932.5 1055 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 1053px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the ticket assigned to anyone?</div></div></div></foreignObject><text x="1020" y="1057" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the ticket assigned to an...</text></switch></g><path d="M 1107.46 1260.03 L 1260.03 1260.03 L 1260.03 651.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 646.12 L 1263.53 653.12 L 1260.03 651.37 L 1256.53 653.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 1340 L 1020 1383.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 1388.88 L 1016.5 1381.88 L 1020 1383.63 L 1023.5 1381.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1360px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="1363" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1020 1180 L 1107.5 1260 L 1020 1340 L 932.5 1260 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 1258px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does ticket creator exist in FAS?</div></div></div></foreignObject><text x="1020" y="1262" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does ticket creator exist in...</text></switch></g><path d="M 1107.46 1470.03 L 1260.03 1470.03 L 1260.03 651.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 646.12 L 1263.53 653.12 L 1260.03 651.37 L 1256.53 653.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 1550 L 1020 1593.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 1598.88 L 1016.5 1591.88 L 1020 1593.63 L 1023.5 1591.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1570px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="1573" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1020 1390 L 1107.5 1470 L 1020 1550 L 932.5 1470 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 1468px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does bugzilla ticket creator match SCM requester?</div></div></div></foreignObject><text x="1020" y="1472" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does bugzilla ticket creator...</text></switch></g><path d="M 1020 1760 L 1020 1803.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 1808.88 L 1016.5 1801.88 L 1020 1803.63 L 1023.5 1801.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1780px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="1783" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 1680.03 L 1260.03 1680.03 L 1260.03 1953.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 1958.88 L 1256.53 1951.88 L 1260.03 1953.63 L 1263.53 1951.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1750px; margin-left: 1280px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1280" y="1754" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 1600 L 1107.5 1680 L 1020 1760 L 932.5 1680 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 1678px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the ticket approved?</div></div></div></foreignObject><text x="1020" y="1682" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the ticket approved?</text></switch></g><path d="M 1020 1970 L 1020 2013.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 2018.88 L 1016.5 2011.88 L 1020 2013.63 L 1023.5 2011.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2000px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="2004" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 1890.03 L 1153.76 1890.03 L 1153.76 1980.03 L 1193.63 1980.03" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1198.88 1980.03 L 1191.88 1983.53 L 1193.63 1980.03 L 1191.88 1976.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1930px; margin-left: 1170px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1170" y="1933" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 1810 L 1107.5 1890 L 1020 1970 L 932.5 1890 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 1888px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Does the reviewer has FAS account?</div></div></div></foreignObject><text x="1020" y="1892" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Does the reviewer has FAS ac...</text></switch></g><path d="M 1020 2180 L 1020 2223.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 2228.88 L 1016.5 2221.88 L 1020 2223.63 L 1023.5 2221.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2200px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="2203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 2100.03 L 1260.03 2100.03 L 1260.03 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 2001.12 L 1263.53 2008.12 L 1260.03 2006.37 L 1256.53 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 2020 L 1107.5 2100 L 1020 2180 L 932.5 2100 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 2098px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the reviewer a packager?</div></div></div></foreignObject><text x="1020" y="2102" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the reviewer a packager?</text></switch></g><path d="M 1020 2390 L 1020 2433.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 2438.88 L 1016.5 2431.88 L 1020 2433.63 L 1023.5 2431.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2410px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="2413" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 2310.03 L 1260.03 2310.03 L 1260.03 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 2001.12 L 1263.53 2008.12 L 1260.03 2006.37 L 1256.53 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 2230 L 1107.5 2310 L 1020 2390 L 932.5 2310 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 2308px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the ticket creator a packager?</div></div></div></foreignObject><text x="1020" y="2312" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the ticket creator a pack...</text></switch></g><rect x="1200" y="1960" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1980px; margin-left: 1201px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation error</div></div></div></foreignObject><text x="1260" y="1984" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation error</text></switch></g><path d="M 1020 2600 L 1020 2643.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 2648.88 L 1016.5 2641.88 L 1020 2643.63 L 1023.5 2641.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2620px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="2623" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 2520.03 L 1260.03 2520.03 L 1260.03 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 2001.12 L 1263.53 2008.12 L 1260.03 2006.37 L 1256.53 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 2440 L 1107.5 2520 L 1020 2600 L 932.5 2520 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 2518px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Are the ticket approver and creator different users?</div></div></div></foreignObject><text x="1020" y="2522" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Are the ticket approver and...</text></switch></g><path d="M 1020 2810 L 1020 2853.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 2858.88 L 1016.5 2851.88 L 1020 2853.63 L 1023.5 2851.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2840px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="2844" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 2730.03 L 1260.03 2730.03 L 1260 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260 2001.12 L 1263.5 2008.12 L 1260 2006.37 L 1256.5 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 2650 L 1107.5 2730 L 1020 2810 L 932.5 2730 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 2728px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is ticket approved by ticket assignee?</div></div></div></foreignObject><text x="1020" y="2732" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is ticket approved by ticket...</text></switch></g><path d="M 1020 3020 L 1020 3053.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 3058.88 L 1016.5 3051.88 L 1020 3053.63 L 1023.5 3051.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3040px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="3043" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 2940.03 L 1260.03 2940.03 L 1260.03 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 2001.12 L 1263.53 2008.12 L 1260.03 2006.37 L 1256.53 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 2860 L 1107.5 2940 L 1020 3020 L 932.5 2940 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 2938px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is ticket approved in last 60 days?</div></div></div></foreignObject><text x="1020" y="2942" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is ticket approved in last 6...</text></switch></g><path d="M 1020 3220 L 1020 3253.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1020 3258.88 L 1016.5 3251.88 L 1020 3253.63 L 1023.5 3251.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 3240px; margin-left: 1040px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="1040" y="3243" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 1107.46 3140.03 L 1260.03 3140.03 L 1260.03 2006.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1260.03 2001.12 L 1263.53 2008.12 L 1260.03 2006.37 L 1256.53 2008.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 2650px; margin-left: 1280px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="1280" y="2653" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 1020 3060 L 1107.5 3140 L 1020 3220 L 932.5 3140 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 3138px; margin-left: 938px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is ticket name valid?</div></div></div></foreignObject><text x="1020" y="3142" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is ticket name valid?</text></switch></g><rect x="960" y="3260" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 3280px; margin-left: 961px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validated</div></div></div></foreignObject><text x="1020" y="3284" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validated</text></switch></g><rect x="200" y="1080" width="140" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1090px; margin-left: 270px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Epel package validation</div></div></div></foreignObject><text x="270" y="1094" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Epel package validation</text></switch></g><path d="M 270 1170 L 270 1213.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 270 1218.88 L 266.5 1211.88 L 270 1213.63 L 273.5 1211.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="210" y="1130" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1150px; margin-left: 211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Branch received</div></div></div></foreignObject><text x="270" y="1154" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Branch received</text></switch></g><path d="M 187.5 1295 L 126.37 1295" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 121.12 1295 L 128.12 1291.5 L 126.37 1295 L 128.12 1298.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1280px; margin-left: 160px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="160" y="1283" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 270.03 1369.97 L 270.03 1390.03 L 270.01 1493.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 270.01 1498.88 L 266.51 1491.88 L 270.01 1493.63 L 273.51 1491.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1435px; margin-left: 290px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="290" y="1438" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 270 1220 L 352.5 1295 L 270 1370 L 187.5 1295 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 155px; height: 1px; padding-top: 1293px; margin-left: 193px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the EPEL package list retrieved succesfully?</div></div></div></foreignObject><text x="270" y="1297" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the EPEL package list r...</text></switch></g><rect x="0" y="1275" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1295px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation error</div></div></div></foreignObject><text x="60" y="1299" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation error</text></switch></g><path d="M 156.92 1500.03 L 136.93 1500.03 L 140.03 1500.03 L 126.37 1500.03" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 121.12 1500.03 L 128.12 1496.53 L 126.37 1500.03 L 128.12 1503.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1480px; margin-left: 140px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Yes</div></div></div></foreignObject><text x="140" y="1483" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Yes</text></switch></g><path d="M 270.03 1609.97 L 270.03 1630.03 L 270.03 1638.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 270.03 1643.88 L 266.53 1636.88 L 270.03 1638.63 L 273.53 1636.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 1627px; margin-left: 290px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">No</div></div></div></foreignObject><text x="290" y="1631" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">No</text></switch></g><path d="M 270.01 1390 L 383.13 1500 L 270.01 1610 L 156.88 1500 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 216px; height: 1px; padding-top: 1498px; margin-left: 162px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Is the EPEL package available as noarch only or it's available for all arches?</div></div></div></foreignObject><text x="270" y="1502" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Is the EPEL package available as noa...</text></switch></g><rect x="0" y="1480" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1500px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation False</div></div></div></foreignObject><text x="60" y="1504" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation False</text></switch></g><rect x="210.01" y="1645" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 1665px; margin-left: 211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Validation True</div></div></div></foreignObject><text x="270" y="1669" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Validation True</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> 

\ No newline at end of file

file modified
+3
@@ -1,11 +1,14 @@ 

+ arrow

  beanbag

  bs4

  defusedxml

  fasjson-client

  fedora-messaging

+ GitPython

  jsonschema<4.0.0 # https://github.com/Yelp/bravado/issues/478 bravado is used by fasjson-client

  koji

  requests

+ pagure-messages

  pyGObject

  python-fedora

  python-bugzilla>=3.2.0

The added file is too large to be shown here, see it at: tests/plugins/test_scm_request_processor.py
@@ -969,6 +969,144 @@ 

          mock_bz_call.assert_called_with(server.editcomponent, {"data": data})

  

  

+ class TestGetBug:

+     """Test class for `toddlers.utils.bugzilla_system.get_bug` function."""

+ 

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_get_bug(self, mock_bz):

+         """Assert that bug is retrieved without issue."""

+         bug_id = "100"

+         server = Mock()

+         mock_bug = Mock()

+         server.getbug.return_value = mock_bug

+ 

+         mock_bz.return_value = server

+ 

+         bug = toddlers.utils.bugzilla_system.get_bug(bug_id)

+ 

+         mock_bz.assert_called_with()

+         server.getbug.assert_called_with(id=bug_id)

+         assert bug == mock_bug

+ 

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_get_bug_none_found(self, mock_bz):

+         """Assert that no bug found returns None."""

+         bug_id = "100"

+         server = Mock()

+         server.getbug.return_value = None

+ 

+         mock_bz.return_value = server

+ 

+         bug = toddlers.utils.bugzilla_system.get_bug(bug_id)

+ 

+         mock_bz.assert_called_with()

+         server.getbug.assert_called_with(id=bug_id)

+         assert bug is None

+ 

+     @patch("toddlers.utils.bugzilla_system.execute_bugzilla_call")

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_get_bug_xmlrpc_fault(self, mock_bz, mock_bz_call):

+         """Assert that XMLRPC fault is handled."""

+         bug_id = "100"

+         server = Mock()

+         mock_bz_call.side_effect = xmlrpc.client.Fault(50, "Fault")

+ 

+         mock_bz.return_value = server

+ 

+         with pytest.raises(xmlrpc.client.Fault) as exc:

+             toddlers.utils.bugzilla_system.get_bug(bug_id)

+ 

+         assert exc.value.args == (bug_id, 50, "Fault")

+ 

+         mock_bz.assert_called_with()

+         mock_bz_call.assert_called_with(server.getbug, {"id": bug_id})

+ 

+     @patch("toddlers.utils.bugzilla_system.execute_bugzilla_call")

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_get_bug_protocol_error(self, mock_bz, mock_bz_call):

+         """Assert that protocol error is handled."""

+         bug_id = "100"

+         server = Mock()

+         mock_bz_call.side_effect = xmlrpc.client.ProtocolError(

+             "Error", 10, "Error message", {}

+         )

+ 

+         mock_bz.return_value = server

+ 

+         with pytest.raises(xmlrpc.client.ProtocolError) as exc:

+             toddlers.utils.bugzilla_system.get_bug(bug_id)

+ 

+         assert exc.value.args == ("ProtocolError", 10, "Error message")

+ 

+         mock_bz.assert_called_with()

+         mock_bz_call.assert_called_with(server.getbug, {"id": bug_id})

+ 

+ 

+ class TestCommentOnBug:

+     """Test class for `toddlers.utils.bugzilla_system.comment_on_bug` function."""

+ 

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_comment_on_ticket(self, mock_bz):

+         """Assert that comment is called without issue."""

+         bug_id = "100"

+         comment = "comment"

+ 

+         server = Mock()

+ 

+         mock_bz.return_value = server

+ 

+         toddlers.utils.bugzilla_system.comment_on_bug(bug_id, comment)

+ 

+         mock_bz.assert_called_with()

+         server.comment.assert_called_with(id=bug_id, comment=comment)

+ 

+     @patch("toddlers.utils.bugzilla_system.execute_bugzilla_call")

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_comment_on_bug_xmlrpc_fault(self, mock_bz, mock_bz_call):

+         """Assert that XMLRPC fault is handled."""

+         bug_id = "100"

+         comment = "comment"

+ 

+         server = Mock()

+         mock_bz_call.side_effect = xmlrpc.client.Fault(50, "Fault")

+ 

+         mock_bz.return_value = server

+ 

+         with pytest.raises(xmlrpc.client.Fault) as exc:

+             toddlers.utils.bugzilla_system.comment_on_bug(bug_id, comment)

+ 

+         assert exc.value.args == ({"id": bug_id, "comment": comment}, 50, "Fault")

+ 

+         mock_bz.assert_called_with()

+         mock_bz_call.assert_called_with(

+             server.comment, {"id": bug_id, "comment": comment}

+         )

+ 

+     @patch("toddlers.utils.bugzilla_system.execute_bugzilla_call")

+     @patch("toddlers.utils.bugzilla_system.get_bz")

+     def test_comment_on_bug_protocol_error(self, mock_bz, mock_bz_call):

+         """Assert that protocol error is handled."""

+         bug_id = "100"

+         comment = "comment"

+ 

+         server = Mock()

+         mock_bz_call.side_effect = xmlrpc.client.ProtocolError(

+             "Error", 10, "Error message", {}

+         )

+ 

+         mock_bz.return_value = server

+ 

+         with pytest.raises(xmlrpc.client.ProtocolError) as exc:

+             toddlers.utils.bugzilla_system.comment_on_bug(bug_id, comment)

+ 

+         assert exc.value.args == ("ProtocolError", 10, "Error message")

+ 

+         mock_bz.assert_called_with()

+         mock_bz_call.assert_called_with(

+             server.comment, {"id": bug_id, "comment": comment}

+         )

+ 

+ 

  class TestExecuteBugzillaCall:

      """Test class for `toddlers.utils.bugzilla_system.execute_bugzilla_call` function."""

  

@@ -191,3 +191,88 @@ 

          mock_fas.return_value = server

          output = toddlers.utils.fedora_account.get_user_by_email("scoady@fp.o")

          assert output is None

+ 

+     @patch("toddlers.utils.fedora_account.get_fasjson")

+     def test_user_member_of(self, mock_fas):

+         """

+         Assert that membership is correctly checked.

+         """

+         server = Mock()

+         result = Mock()

+         result.result = True

+         server.check_membership.return_value = result

+         mock_fas.return_value = server

+ 

+         group = "group"

+         user = {"username": "user"}

+ 

+         output = toddlers.utils.fedora_account.user_member_of(user, group)

+ 

+         server.check_membership.assert_called_with(

+             groupname=group, username=user["username"]

+         )

+         assert output is True

+ 

+     @patch("toddlers.utils.fedora_account.get_fasjson")

+     def test_user_member_of_error(self, mock_fas):

+         """

+         Assert that error is handled correctly.

+         """

+         server = Mock()

+         server.check_membership.side_effect = ClientError(

+             message="Error getting bz_email for group",

+             code="500",

+         )

+         mock_fas.return_value = server

+ 

+         group = "group"

+         user = {"username": "user"}

+ 

+         output = toddlers.utils.fedora_account.user_member_of(user, group)

+ 

+         server.check_membership.assert_called_with(

+             groupname=group, username=user["username"]

+         )

+         assert output is False

+ 

+     @patch("toddlers.utils.fedora_account.get_fasjson")

+     def test_get_user_by_username(self, mock_fas):

+         user = [{"username": "scoady", "emails": ["scoady@fp.o"]}]

+         result = Mock()

+         result.result = user

+         server = Mock()

+         server.search.return_value = result

+         mock_fas.return_value = server

+ 

+         output = toddlers.utils.fedora_account.get_user_by_username("scoady")

+ 

+         server.search.assert_called_with(username="scoady")

+         assert output == {"username": "scoady", "emails": ["scoady@fp.o"]}

+ 

+     @patch("toddlers.utils.fedora_account.get_fasjson")

+     def test_get_user_by_username_empty(self, mock_fas):

+         user = []

+         result = Mock()

+         result.result = user

+         server = Mock()

+         server.search.return_value = result

+         mock_fas.return_value = server

+ 

+         output = toddlers.utils.fedora_account.get_user_by_username("scoady")

+ 

+         server.search.assert_called_with(username="scoady")

+         assert output is None

+ 

+     @patch("toddlers.utils.fedora_account.get_fasjson")

+     def test_get_user_by_username_error(self, mock_fas):

+         server = Mock()

+         server.search.side_effect = ClientError(

+             message="Error getting bz_email for group",

+             code="500",

+         )

+         mock_fas.return_value = server

+ 

+         output = toddlers.utils.fedora_account.get_user_by_username("scoady")

+ 

+         server.search.assert_called_with(username="scoady")

+         assert output is None

@@ -0,0 +1,108 @@ 

+ """

+ Unit tests for `toddlers.utils.git`.

+ """

+ from unittest.mock import Mock, patch

+ 

+ from toddlers.utils.git import clone_repo, GitRepo

+ 

+ 

+ class TestCloneRepo:

+     """

+     Test class for `toddlers.utils.git.clone_repo` function.

+     """

+ 

+     @patch("toddlers.utils.git.git.Repo.clone_from")

+     def test_clone_repo(self, clone_from_mock):

+         """

+         Assert that cloning works as expected.

+         """

+         remote = "https://example.com"

+         destination = "/path/to/destination"

+ 

+         repo_mock = Mock()

+         clone_from_mock.return_value = repo_mock

+ 

+         repo = clone_repo(remote, destination)

+ 

+         clone_from_mock.assert_called_with(remote, destination)

+ 

+         assert repo.repo == repo_mock

+ 

+ 

+ class TestGitRepoInit:

+     """

+     Test class for `toddlers.utils.git.GitRepo.__init__` method.

+     """

+ 

+     def test_init(self):

+         """

+         Assert that initialization works as expected.

+         """

+         repo_mock = Mock()

+ 

+         repo = GitRepo(repo_mock)

+ 

+         assert repo.repo == repo_mock

+ 

+ 

+ class TestGitRepoFirstCommit:

+     """

+     Test class for `toddlers.utils.git.GitRepo.first_commit` method.

+     """

+ 

+     def setup(self):

+         """

+         Initialize the GitRepo object.

+         """

+         repo_mock = Mock()

+ 

+         self.repo = GitRepo(repo_mock)

+ 

+         assert self.repo.repo == repo_mock

+ 

+     def test_first_commit(self):

+         """

+         Assert that first commit returning works fine.

+         """

+         branch = "branch"

+ 

+         result = ["hash"]

+         self.repo.repo.git.rev_list.return_value = result

+ 

+         commit = self.repo.first_commit(branch)

+ 

+         self.repo.repo.git.rev_list.assert_called_with("--max-parents=0", branch)

+ 

+         assert commit == "hash"

+ 

+     def test_first_commit_multiple_commit(self):

+         """

+         Assert that first commit returning works fine when

+         multiple commits are returned.

+         """

+         branch = "branch"

+ 

+         result = ["hash", "last_hash"]

+         self.repo.repo.git.rev_list.return_value = result

+ 

+         commit = self.repo.first_commit(branch)

+ 

+         self.repo.repo.git.rev_list.assert_called_with("--max-parents=0", branch)

+ 

+         assert commit == "last_hash"

+ 

+     def test_first_commit_no_commit(self):

+         """

+         Assert that first commit returning works fine when

+         no commit is returned.

+         """

+         branch = "branch"

+ 

+         result = ""

+         self.repo.repo.git.rev_list.return_value = result

+ 

+         commit = self.repo.first_commit(branch)

+ 

+         self.repo.repo.git.rev_list.assert_called_with("--max-parents=0", branch)

+ 

+         assert commit is None

The added file is too large to be shown here, see it at: tests/utils/test_pagure.py
@@ -0,0 +1,368 @@ 

+ """

+ Unit tests for `toddlers.utils.pdc`.

+ """

+ from unittest.mock import call, MagicMock

+ 

+ import pytest

+ 

+ import toddlers.utils.pdc as pdc

+ 

+ 

+ class TestPdcSetPdc:

+     """

+     Test class for `toddlers.utils.pdc.set_pdc` function.

+     """

+ 

+     def test_set_pdc(self):

+         """

+         Test initialization of PDC module.

+         """

+         config = {

+             "pdc_config": {

+                 "server": "https://pdc.fedoraproject.org/rest_api/v1/",

+                 "ssl_verify": False,

+                 "token": "token",

+             }

+         }

+         pdc_client = pdc.set_pdc(config)

+ 

+         assert pdc_client

+         assert pdc._PDC

+ 

+ 

+ class TestPdcGetPdc:

+     """

+     Test class for `toddlers.utils.pdc.get_pdc` function.

+     """

+ 

+     def test_get_pdc_not_set_up(self):

+         """

+         Assert error when pdc module wasn't initialized.

+         """

+         pdc._PDC = None

+         error = "No PDC connection set, call set_pdc first"

+ 

+         with pytest.raises(ValueError, match=error):

+             pdc.get_pdc()

+ 

+     def test_get_pdc(self):

+         """

+         Assert PDCClient is returned when pdc module is initialized.

+         """

+         config = {

+             "pdc_config": {

+                 "server": "https://pdc.fedoraproject.org/rest_api/v1/",

+                 "ssl_verify": False,

+                 "token": "token",

+             }

+         }

+         pdc_client = pdc.set_pdc(config)

+ 

+         exp = pdc.get_pdc()

+ 

+         assert exp == pdc_client

+ 

+ 

+ class TestPdcPdcClientForConfig:

+     """

+     Test class for `toddlers.utils.pdc.pdc_client_for_config` function.

+     """

+ 

+     def test_pdc_client_for_config(self):

+         """

+         Assert that PDC is correctly initialized.

+         """

+         config = {

+             "pdc_config": {

+                 "server": "https://pdc.fedoraproject.org/rest_api/v1/",

+                 "ssl_verify": False,

+                 "token": "token",

+             }

+         }

+         pdc_client = pdc.pdc_client_for_config(config)

+ 

+         assert pdc_client

+ 

+ 

+ class TestPdcGetSla:

+     """

+     Test class for `toddlers.utils.pdc.get_sla` function.

+     """

+ 

+     def setup(self):

+         """

+         Setup the PDC module.

+         """

+         pdc._PDC = MagicMock()

+ 

+     def test_get_sla(self):

+         """

+         Assert that correct response is handled.

+         """

+         response = {"count": 1, "results": [{"id": 3}]}

+ 

+         pdc._PDC["component-sla-types"]._.return_value = response

+ 

+         result = pdc.get_sla("rawhide")

+ 

+         assert result == {"id": 3}

+ 

+     def test_get_sla_not_found(self):

+         """

+         Assert that incorrect response is handled.

+         """

+         response = {"count": 0, "results": []}

+ 

+         pdc._PDC["component-sla-types"]._.return_value = response

+ 

+         result = pdc.get_sla("rawhide")

+ 

+         assert not result

+ 

+ 

+ class TestPdcNewSLAToBranch:

+     """

+     Test class for `toddlers.utils.pdc.new_sla_to_branch` function.

+     """

+ 

+     def setup(self):

+         """

+         Setup the PDC module.

+         """

+         pdc._PDC = MagicMock()

+ 

+     def test_new_sla_to_branch(self):

+         """

+         Assert that correct response is handled.

+         """

+         sla = "sla"

+         eol = "2020-01-01"

+         global_component = "global_component"

+         branch_name = "branch"

+         branch_type = "branch_type"

+ 

+         pdc.new_sla_to_branch(

+             sla_name=sla,

+             eol=eol,

+             global_component=global_component,

+             branch=branch_name,

+             branch_type=branch_type,

+         )

+ 

+         pdc._PDC["component-branch-slas"]._.assert_called_with(

+             {

+                 "sla": sla,

+                 "eol": eol,

+                 "branch": {

+                     "global_component": global_component,

+                     "name": branch_name,

+                     "type": branch_type,

+                 },

+             }

+         )

+ 

+ 

+ class TestPdcGetBranch:

+     """

+     Test class for `toddlers.utils.pdc.get_branch` function.

+     """

+ 

+     def setup(self):

+         """

+         Setup the PDC module.

+         """

+         pdc._PDC = MagicMock()

+ 

+     def test_get_branch(self):

+         """

+         Assert that correct response is handled.

+         """

+         response = {"count": 1, "results": [{"id": 3}]}

+ 

+         global_component = "global_component"

+         name = "branch"

+         branch_type = "branch_type"

+ 

+         pdc._PDC["component-branches"]._.return_value = response

+ 

+         result = pdc.get_branch(global_component, name, branch_type)

+ 

+         assert result == {"id": 3}

+ 

+         pdc._PDC["component-branches"]._.assert_called_with(

+             global_component=global_component, name=name, type=branch_type

+         )

+ 

+     def test_get_branch_not_found(self):

+         """

+         Assert that incorrect response is handled.

+         """

+         response = {"count": 0, "results": []}

+ 

+         global_component = "global_component"

+         name = "branch"

+         branch_type = "branch_type"

+ 

+         pdc._PDC["component-branches"]._.return_value = response

+ 

+         result = pdc.get_branch(global_component, name, branch_type)

+ 

+         assert not result

+ 

+         pdc._PDC["component-branches"]._.assert_called_with(

+             global_component=global_component, name=name, type=branch_type

+         )

+ 

+ 

+ class TestPdcNewBranch:

+     """

+     Test class for `toddlers.utils.pdc.new_branch` function.

+     """

+ 

+     def setup(self):

+         """

+         Setup the PDC module.

+         """

+         pdc._PDC = MagicMock()

+ 

+     def test_new_branch_already_exists(self):

+         """

+         Assert that component is not created when it doesn't exist.

+         """

+         response = {"count": 1, "results": [{"id": 3}]}

+ 

+         global_component = "global_component"

+         branch = "branch"

+         branch_type = "branch_type"

+ 

+         pdc._PDC["component-branches"]._.return_value = response

+ 

+         pdc.new_branch(global_component, branch, branch_type)

+ 

+         pdc._PDC["component-branches"]._.assert_called_with(

+             global_component=global_component, name=branch, type=branch_type

+         )

+ 

+     def test_new_branch_not_found(self):

+         """

+         Assert that component is created when not found.

+         """

+         response = {"count": 0, "results": []}

+ 

+         global_component = "global_component"

+         branch = "branch"

+         branch_type = "branch_type"

+ 

+         pdc._PDC["component-branches"]._.return_value = response

+ 

+         pdc.new_branch(global_component, branch, branch_type)

+ 

+         pdc._PDC["component-branches"]._.assert_has_calls(

+             [

+                 call(global_component=global_component, name=branch, type=branch_type),

+                 call(

+                     {

+                         "global_component": global_component,

+                         "name": branch,

+                         "type": branch_type,

+                     }

+                 ),

+             ]

+         )

+ 

+ 

+ class TestPdcGetGlobalComponent:

+     """

+     Test class for `toddlers.utils.pdc.get_global_component` function.

+     """

+ 

+     def setup(self):

+         """

+         Setup the PDC module.

+         """

+         pdc._PDC = MagicMock()

+ 

+     def test_get_global_component(self):

+         """

+         Assert that correct response is handled.

+         """

+         response = {"count": 1, "results": [{"id": 3}]}

+ 

+         global_component = "global_component"

+ 

+         pdc._PDC["global_components"]._.return_value = response

+ 

+         result = pdc.get_global_component(global_component)

+ 

+         assert result == {"id": 3}

+ 

+         pdc._PDC["global_components"]._.assert_called_with(

+             name=global_component,

+         )

+ 

+     def test_get_global_component_not_found(self):

+         """

+         Assert that incorrect response is handled.

+         """

+         response = {"count": 0, "results": []}

+ 

+         global_component = "global_component"

+ 

+         pdc._PDC["global-components"]._.return_value = response

+ 

+         result = pdc.get_global_component(global_component)

+ 

+         assert not result

+ 

+         pdc._PDC["global-components"]._.assert_called_with(

+             name=global_component,

+         )

+ 

+ 

+ class TestPdcNewGlobalComponent:

+     """

+     Test class for `toddlers.utils.pdc.new_global_component` function.

+     """

+ 

+     def setup(self):

+         """

+         Setup the PDC module.

+         """

+         pdc._PDC = MagicMock()

+ 

+     def test_new_global_component_already_exists(self):

+         """

+         Assert that component is not created when it doesn't exist.

+         """

+         response = {"count": 1, "results": [{"id": 3}]}

+ 

+         global_component = "global_component"

+         dist_git_url = "https://src.fedoraproject.org/example"

+ 

+         pdc._PDC["global_components"]._.return_value = response

+ 

+         pdc.new_global_component(global_component, dist_git_url)

+ 

+         pdc._PDC["global_components"]._.assert_called_with(

+             name=global_component,

+         )

+ 

+     def test_new_global_component_not_found(self):

+         """

+         Assert that component is created when not found.

+         """

+         response = {"count": 0, "results": []}

+ 

+         global_component = "global_component"

+         dist_git_url = "https://src.fedoraproject.org/example"

+ 

+         pdc._PDC["global-components"]._.return_value = response

+ 

+         pdc.new_global_component(global_component, dist_git_url)

+ 

+         pdc._PDC["global-components"]._.assert_has_calls(

+             [

+                 call(name=global_component),

+                 call({"name": global_component, "dist_git_web_url": dist_git_url}),

+             ]

+         )

file modified
+72 -1
@@ -101,6 +101,10 @@ 

  # This is the same format as used by the distgit_bugzilla_sync cron/app

  email_overrides_file = "/path/to/email_overrides.toml"

  

+ # Path to temporary directory

+ # Will be used for creating temporary files and directories

+ temp_dir = "path/to/temporary/folder"

+ 

  [consumer_config.default.pdc_config]

  # Configuration to talk to PDC, as understood by pdc-client.

  server = "https://pdc.fedoraproject.org/rest_api/v1/"
@@ -187,7 +191,7 @@ 

  ]

  primary_arches = ['armhfp', 'aarch64', 'x86_64']

  alternate_arches = ['ppc64le','s390x']

- releases = ['rawhide', 33, 32]

+ releases = ['rawhide', '33', '32']

  

  fedora_dl_baseurl = 'http://dl.fedoraproject.org/pub/fedora/linux/'

  fedora_dl_alternateurl = 'http://dl.fedoraproject.org/pub/fedora-secondary/'
@@ -220,6 +224,73 @@ 

  s390x = 's390x'

  

  

+ # Configuration section for scm_request_processor

+ [consumer_config.scm_request_processor]

+ # FAS username of the user that will comment on behalf of toddler

+ pagure_user = "username"

+ pagure_url = "https://pagure.io"

+ pagure_api_key = "API token for pagure"

+ # Monitoring choices for release-monitoring.org

+ monitor_choices = ['no-monitoring', 'monitoring', 'monitoring-with-scratch']

+ # What we should look for in validation comment

+ validation_comment = "valid"

+ # Text for the ping if the ticket needs to be manually verified

+ ping_comment = "This request wants to skip bugzilla validation! {maintainers} could you check if this is correct? If yes, please respond to this ticket with 'valid' comment

+ 

+ 

+ # Pagure mapping to bugzilla

+ [consumer_config.scm_request_processor.pagure_namespace_to_component]

+ rpms = 'Package Review'

+ container = 'Container Review'

+ modules = 'Module Review'

+ test-modules = 'Module Review'

+ 

+ [consumer_config.scm_request_processor.pagure_namespace_to_product]

+ rpms = ['Fedora', 'Fedora EPEL']

+ container = ['Fedora Container Images']

+ modules = ['Fedora Modules']

+ test-modules = ['Fedora']

+ 

+ # SLAS configuration for scm_request_processor

+ [consumer_config.scm_request_processor.branch_slas]

+ 

+ [consumer_config.scm_request_processor.branch_slas.rawhide]

+ rawhide = '2222-01-01'

+ 

+ [consumer_config.scm_request_processor.branch_slas.stable]

+ rawhide = '2222-01-01'

+ 

+ [consumer_config.scm_request_processor.branch_slas.main]

+ rawhide = '2222-01-01'

+ 

+ [consumer_config.scm_request_processor.branch_slas.epel8]

+ stable_api = '2029-05-31'

+ security_fixes = '2029-05-31'

+ bug_fixes = '2029-05-31'

+ 

+ [consumer_config.scm_request_processor.branch_slas.epel8-playground]

+ stable_api = '2029-05-31'

+ security_fixes = '2029-05-31'

+ bug_fixes = '2029-05-31'

+ 

+ [consumer_config.scm_request_processor.branch_slas.epel8-next]

+ stable_api = '2024-05-31'

+ security_fixes = '2024-05-31'

+ bug_fixes = '2024-05-31'

+ 

+ [consumer_config.scm_request_processor.branch_slas.epel7]

+ stable_api = '2024-06-30'

+ security_fixes = '2024-06-30'

+ bug_fixes = '2024-06-30'

+ 

+ [consumer_config.scm_request_processor.branch_slas.f35]

+ security_fixes = '2022-11-26'

+ bug_fixes = '2022-11-26'

+ 

+ [consumer_config.scm_request_processor.branch_slas.f34]

+ security_fixes = '2022-03-08'

+ bug_fixes = '2022-03-08'

+ 

  [qos]

  prefetch_size = 0

  prefetch_count = 25

@@ -0,0 +1,2 @@ 

+ from .pagure_error import PagureError  # noqa: F401

+ from .validation_error import ValidationError  # noqa: F401

@@ -0,0 +1,7 @@ 

+ """

+ Exception that is raised by pagure module.

+ """

+ 

+ 

+ class PagureError(Exception):

+     pass

@@ -0,0 +1,7 @@ 

+ """

+ Exception that is raised when validation fails.

+ """

+ 

+ 

+ class ValidationError(Exception):

+     pass

The added file is too large to be shown here, see it at: toddlers/plugins/scm_request_processor.py
@@ -14,6 +14,7 @@ 

  import xmlrpc.client

  

  from bugzilla import Bugzilla

+ from bugzilla.bug import Bug

  

  

  _log = logging.getLogger(__name__)
@@ -45,7 +46,7 @@ 

  def get_bz() -> Bugzilla:

      """Retrieve a connection to bugzilla

  

-     :raises xmlrpclib.ProtocolError: If we're unable to contact bugzilla

+     :raises ValueError: If bugzilla object wasn't initialized

      """

      if _BUGZILLA is None:

          raise ValueError("No bugzilla connection set, call set_bz first")
@@ -562,6 +563,59 @@ 

              _log.info("[NOCHANGE] %s/%s", product, package)

  

  

+ def get_bug(bug_id: str) -> Optional[Bug]:

+     """

+     Retrieve bug from bugzilla.

+ 

+     Params:

+       bug_id: Id of the bug to retrieve

+ 

+     Returns:

+       Bug object if bug is retrieved, otherwise None.

+     """

+     bz = get_bz()

+ 

+     try:

+         bug = execute_bugzilla_call(bz.getbug, {"id": bug_id})

+     except xmlrpc.client.Fault as e:

+         # Output something useful in args

+         e.args = (bug_id, e.faultCode, e.faultString)

+         raise

+     except xmlrpc.client.ProtocolError as e:

+         e.args = ("ProtocolError", e.errcode, e.errmsg)

+         raise

+ 

+     return bug

+ 

+ 

+ def comment_on_bug(bug_id: str, comment: str) -> None:

+     """

+     Add comment to bug on Bugzilla.

+ 

+     Params:

+       bug_id: Identifier of the bug

+       comment: Comment to post

+ 

+     Raises:

+       `xmlrpc.client.Fault`: When the operation fails.

+       `xmlrpc.client.ProtocolError`: When communication with bugzilla fails.

+     """

+     bz = get_bz()

+     _log.info("Adding comment `%s` to `%s`", comment, bug_id)

+ 

+     data = {"id": bug_id, "comment": comment}

+ 

+     try:

+         execute_bugzilla_call(bz.comment, data)

+     except xmlrpc.client.Fault as e:

+         # Output something useful in args

+         e.args = (data, e.faultCode, e.faultString)

+         raise

+     except xmlrpc.client.ProtocolError as e:

+         e.args = ("ProtocolError", e.errcode, e.errmsg)

+         raise

+ 

+ 

  R = TypeVar("R")

  

  

@@ -105,3 +105,48 @@ 

          pass

  

      return user

+ 

+ 

+ def user_member_of(user: dict, group: str) -> bool:

+     """

+     Check if the user is member of group.

+ 

+     Params:

+       user: Dictionary containing user data

+       group: Group to check for membership

+ 

+     Returns:

+       Result of group membership. False if the check fails.

+     """

+     fasjson = get_fasjson()

+     is_member = False

+     try:

+         is_member = fasjson.check_membership(

+             groupname=group, username=user["username"]

+         ).result

+     except ClientError:

+         pass

+ 

+     return is_member

+ 

+ 

+ def get_user_by_username(username: str) -> Optional[dict]:

+     """

+     Returns the user found in FAS for provided username.

+ 

+     Params:

+       username: Username to look for

+ 

+     Returns:

+       Dictionary representing user.

+     """

+     fasjson = get_fasjson()

+     user = None

+     try:

+         result = fasjson.search(username=username).result or []

+         if result:

+             user = result[0]

+     except ClientError:

+         pass

+ 

+     return user

@@ -0,0 +1,64 @@ 

+ """

+ Wrapper for git operations using GitPython library.

+ 

+ Author: mkonecny@redhat.com

+ """

+ from typing import Optional

+ 

+ import git

+ 

+ 

+ def clone_repo(remote: str, destination: str) -> "GitRepo":

+     """

+     Clone the remote repository.

+ 

+     Params:

+       remote: URL of remote repository

+       destination: Path to clone the repo to

+ 

+     Returns:

+       Object representing git repository.

+     """

+     repo = git.Repo.clone_from(remote, destination)

+ 

+     return GitRepo(repo)

+ 

+ 

+ class GitRepo:

+     """

+     Class representing git repository.

+ 

+     Arguments:

+       repo (`git.Repo`): Inner representation of git repository

+     """

+ 

+     repo: git.Repo = None

+ 

+     def __init__(self, repo: git.Repo) -> None:

+         """

+         Initialize GitRepo object.

+ 

+         Params:

+           repo: Git repo object

+         """

+         self.repo = repo

+ 

+     def first_commit(self, branch: str) -> Optional[str]:

+         """

+         Returns the first commit on the repository on specified branch.

+ 

+         Params:

+           branch: Branch to look for the first commit on

+ 

+         Returns:

+           Hash of commit.

+         """

+         commits = list(self.repo.git.rev_list("--max-parents=0", branch))

+ 

+         result = None

+ 

+         if commits:

+             # Return the last one which is the first commit

+             result = commits[-1]

+ 

+         return result

@@ -0,0 +1,565 @@ 

+ """

+ This module is a wrapper for pagure. It uses the pagure API to communicate with

+ configured pagure instance.

+ To work with it you need to set it up first by calling `set_pagure`.

+ 

+ Examples:

+   from utils import pagure, requests

+ 

+   pagure_config = {

+     "pagure_url": "https://pagure.io",

+     "pagure_api_key": "secret API key"

+   }

+ 

+   pagure_io = pagure.set_pagure(pagure_config)

+ 

+   pagure_io.close_issue("<repo>", <issue_id>)

+ """

+ import json

+ import logging

+ from typing import Any, Optional

+ 

+ from toddlers.exceptions import PagureError

+ from toddlers.utils import requests

+ 

+ log = logging.getLogger(__name__)

+ 

+ 

+ def set_pagure(conf: dict) -> Any:

+     """

+     Set the connection to pagure.

+ 

+     Params:

+       conf: This needs to have keys "pagure_url" and "pagure_api_key"

+     """

+     return Pagure(conf)

+ 

+ 

+ class Pagure:

+     """

+     Object that is a wrapper above pagure API.

+     """

+ 

+     # URL to pagure

+     _pagure_url: str = ""

+     # API key for pagure instance

+     _pagure_api_key: Optional[str] = None

+     # Requests Session object used for communication

+     _requests_session: requests.requests.Session

+ 

+     def __init__(self, config: dict) -> None:

+         """

+         Initialize pagure instance.

+ 

+         Params:

+           config: This needs to have keys "pagure_url" and "pagure_api_key"

+ 

+         Raises:

+           `ValueError` if configuration value is missing

+         """

+         self._pagure_url = config.get("pagure_url", "")

+         if not self._pagure_url:

+             raise ValueError("No pagure_url found in the configuration file")

+ 

+         self._pagure_api_key = config.get("pagure_api_key")

+         if not self._pagure_api_key:

+             raise ValueError("No pagure_api_key found in the configuration file")

+ 

+         self._requests_session = requests.make_session()

+ 

+     def get_auth_header(self) -> dict:

+         """

+         Get the HTTP header with authorization for the desired service.

+ 

+         Returns:

+           A dictionary of the HTTP header

+         """

+         return {

+             "Authorization": "token {0}".format(self._pagure_api_key),

+             "Accept": "application/json",

+             "Content-Type": "application/json",

+         }

+ 

+     def get_issue(self, issue_id: int, namespace: str) -> dict:

+         """

+         Get specific issue from project in pagure.

+ 

+         Params:

+           issue_id: Issue to retrieve

+           namespace: Project namespace. For example: 'releng/fedora-scm-requests'

+ 

+         Returns:

+           Dictionary containing pagure issue.

+ 

+         Raises:

+           toddlers.utils.exceptions.PagureError when the issue couldn't be retrieved.

+         """

+         api_url = "{0}/api/0/{1}/issue/{2}".format(

+             self._pagure_url, namespace, issue_id

+         )

+         headers = self.get_auth_header()

+ 

+         log.debug(

+             "Retrieving issue '{0}' from project '{1}'".format(issue_id, namespace)

+         )

+         response = self._requests_session.get(api_url, headers=headers)

+ 

+         result = {}

+ 

+         if response.status_code == 200:

+             result = response.json()

+             return result

+ 

+         log.error(

+             "Error when retrieving issue '{0}' from project '{1}'. "

+             "Got status_code '{2}'.".format(issue_id, namespace, response.status_code)

+         )

+ 

+         raise PagureError(

+             "Couldn't retrieve issue '{0}' from project '{1}'".format(

+                 issue_id, namespace

+             )

+         )

+ 

+     def close_issue(

+         self, issue_id: int, namespace: str, message: str, reason: str = "Closed"

+     ):

+         """

+         Close the issue defined by the id with provided message and reason.

+ 

+         Params:

+           issue_id: Identifier of the issue

+           namespace: Project namespace. For example: 'releng/fedora-scm-requests'

+           message: Message to add when closing the ticket

+           reason: Reason to close the ticket with, this needs to be valid reason

+             accepted on the project issue tracker. Default: Fixed.

+ 

+         Raises:

+           toddlers.utils.exceptions.PagureError when the issue couldn't be closed.

+         """

+         issue_url = "{0}/{1}/issue/{2}".format(self._pagure_url, namespace, issue_id)

+         api_url = "{0}/api/0/{1}/issue/{2}/status".format(

+             self._pagure_url, namespace, issue_id

+         )

+         status_payload = {"status": reason}

+         headers = self.get_auth_header()

+ 

+         if message:

+             self.add_comment_to_issue(issue_id, namespace=namespace, comment=message)

+ 

+         log.debug(

+             "Closing issue '{0}' with reason '{1}' adding message '{2}'".format(

+                 issue_url, reason, message

+             )

+         )

+         response = self._requests_session.post(

+             api_url, data=json.dumps(status_payload), headers=headers

+         )

+ 

+         if response.status_code == 200:

+             return

+ 

+         log.error(

+             "Error when closing issue '{0}'. Got status_code '{1}'.".format(

+                 issue_url, response.status_code

+             )

+         )

+ 

+         raise PagureError("Couldn't close issue '{0}'".format(issue_url))

+ 

+     def add_comment_to_issue(self, issue_id: int, namespace: str, comment: str) -> None:

+         """

+         Comment on issue defined by the id.

+ 

+         Params:

+           issue_id: Identifier of the issue

+           namespace: Project namespace. For example: 'releng/fedora-scm-requests'

+           message: Message to add when closing the ticket

+ 

+         Raises:

+           toddlers.utils.exceptions.PagureError: When the issue couldn't be commented on.

+         """

+         issue_url = "{0}/{1}/issue/{2}".format(self._pagure_url, namespace, issue_id)

+         api_url = "{0}/api/0/{1}/issue/{2}/comment".format(

+             self._pagure_url, namespace, issue_id

+         )

+         comment_payload = {"comment": comment}

+         headers = self.get_auth_header()

+ 

+         log.debug(

+             "Commenting on issue '{0}' with message '{1}'".format(issue_url, comment)

+         )

+         response = self._requests_session.post(

+             api_url, data=json.dumps(comment_payload), headers=headers

+         )

+ 

+         if response.status_code == 200:

+             return

+ 

+         log.error(

+             "Error when commenting on issue '{0}'. Got status_code '{1}'.".format(

+                 issue_url, response.status_code

+             )

+         )

+ 

+         raise PagureError("Couldn't comment on issue '{0}'".format(issue_url))

+ 

+     def user_exists(self, username: str) -> bool:

+         """

+         Check if the user exists in Pagure.

+ 

+         Params:

+         username: a string of the user's username

+ 

+         Returns:

+         Result of the check as boolean.

+         """

+         user_url = "{0}/api/0/users?pattern={1}".format(self._pagure_url, username)

+ 

+         response = self._requests_session.get(user_url)

+ 

+         if response.status_code == 200:

+             data = response.json()

+             if not data["users"]:

+                 return False

+             return username in data["users"]

+ 

+         log.error(

+             "Error when checking for user '{0}'. Got status_code '{1}'.".format(

+                 username, response.status_code

+             )

+         )

+ 

+         raise PagureError("Couldn't get user '{0}'".format(username))

+ 

+     def new_project(

+         self,

+         namespace: str,

+         repo: str,

+         description: str,

+         upstream_url: str,

+         default_branch: str,

+         initial_commit: bool = False,

+         alias: bool = False,

+     ) -> None:

+         """

+         Create mew project in Pagure.

+ 

+         Params:

+           namespace: Project namespace

+           repo: Project name

+           description: Description of the project

+           upstream_url: URL to upstream of the project

+           default_branch: Default branch to create

+           initial_commit: Indicate whether to create initial_commit or not

+           alias: Indicate whether to create branch alias. Creates alias main->rawhide.

+             Use only in case of Dist Git!

+ 

+         Raises:

+             `toddlers.utils.exceptions.PagureError``: When the project creation fails.

+         """

+         pagure_new_project_url = "{0}/api/0/new".format(self._pagure_url)

+         headers = self.get_auth_header()

+         payload = {

+             "namespace": namespace,

+             "name": repo,

+             "default_branch": default_branch,

+             "description": description or "The {0} package\n".format(repo),

+             "url": upstream_url or "",

+             "wait": True,

+         }

+ 

+         if initial_commit:

+             payload["create_readme"] = True

+ 

+         log.debug("Creating project '{0}/{1}'".format(namespace, repo))

+         response = self._requests_session.post(

+             pagure_new_project_url, data=json.dumps(payload), headers=headers

+         )

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when creating project '{0}/{1}'. Got status_code '{2}'.".format(

+                     namespace, repo, response.status_code

+                 )

+             )

+             raise PagureError(

+                 "Couldn't create project '{0}/{1}'".format(namespace, repo)

+             )

+ 

+         # Don't create alias without initial commit

+         # Alias needs to be created from commit

+         if alias and initial_commit:

+             # Only create alias for rpms and container namespace

+             if namespace in ["rpms", "container"]:

+                 pagure_new_git_alias_url = "{0}/api/0/{1}/{2}/git/alias/new".format(

+                     self._pagure_url, namespace, repo

+                 )

+                 payload = {

+                     "alias_from": "main",

+                     "alias_to": "rawhide",

+                 }

+                 log.debug(

+                     "Creating alias for project '{0}/{1}'".format(namespace, repo)

+                 )

+                 response = self._requests_session.post(

+                     pagure_new_git_alias_url, data=json.dumps(payload), headers=headers

+                 )

+ 

+                 if response.status_code != 200:

+                     log.error(

+                         "Error when creating alias for project '{0}/{1}'. "

+                         "Got status_code '{2}'.".format(

+                             namespace, repo, response.status_code

+                         )

+                     )

+                     raise PagureError(

+                         "Couldn't create alias for project '{0}/{1}'".format(

+                             namespace, repo

+                         )

+                     )

+ 

+     def new_branch(

+         self,

+         namespace: str,

+         repo: str,

+         branch: str,

+         from_commit: str = "",

+         from_branch: str = "",

+     ) -> None:

+         """

+         Create a new branch in pagure repository.

+ 

+         Params:

+           namespace: Namespace of the project

+           repo: Name of the project to create branch in

+           branch: Name of the new branch

+           from_commit: Commit from which to create the new branch. Only one of

+             `from_commit` or `from_branch` must be set.

+           from_commit: Branch from which to create the new branch. Only one of

+             `from_commit` or `from_branch` must be set.

+ 

+         Raises:

+             `toddlers.utils.exceptions.PagureError``: When the branch creation fails.

+         """

+         if from_commit and from_branch:

+             raise RuntimeError(

+                 "`from_commit` and `from_branch` were both " "specified. Only use one."

+             )

+         elif not from_commit and not from_branch:

+             raise RuntimeError(

+                 "You must specify either `from_commit` or " "`from_branch`"

+             )

+ 

+         branch_api_url = "{0}/api/0/{1}/{2}/git/branch".format(

+             self._pagure_url, namespace, repo

+         )

+         headers = self.get_auth_header()

+         payload = {"branch": branch}

+         if from_commit:

+             payload["from_commit"] = from_commit

+         else:

+             payload["from_branch"] = from_branch

+ 

+         log.debug("Creating branch for project '{0}/{1}'".format(namespace, repo))

+         response = self._requests_session.post(

+             branch_api_url, data=json.dumps(payload), headers=headers

+         )

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when creating branch in project '{0}/{1}'. Got status_code '{2}'.".format(

+                     namespace, repo, response.status_code

+                 )

+             )

+             raise PagureError(

+                 "Couldn't create branch in project '{0}/{1}'".format(namespace, repo)

+             )

+ 

+     def set_monitoring_status(

+         self,

+         namespace: str,

+         repo: str,

+         monitoring_level: str,

+     ) -> None:

+         """

+         Set a monitoring status for pagure repository. This will work only on dist git.

+ 

+         Params:

+           namespace: Namespace of the project

+           repo: Name of the project to create branch in

+           monitoring_level: Monitoring level to set

+ 

+         Raises:

+             `toddlers.utils.exceptions.PagureError``: When setting the monitoring level fails.

+         """

+         monitoring_api_url = "{0}/_dg/anitya/{1}/{2}".format(

+             self._pagure_url, namespace, repo

+         )

+         headers = self.get_auth_header()

+         payload = {"anitya_status": monitoring_level}

+ 

+         log.debug(

+             "Setting monitoring to '{0}' for project '{1}/{2}'".format(

+                 monitoring_level, namespace, repo

+             )

+         )

+         response = self._requests_session.post(

+             monitoring_api_url, data=json.dumps(payload), headers=headers

+         )

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when setting monitoring on project '{0}/{1}'. Got status_code '{2}'.".format(

+                     namespace, repo, response.status_code

+                 )

+             )

+             raise PagureError(

+                 "Couldn't set monitoring on project '{0}/{1}'".format(namespace, repo)

+             )

+ 

+     def change_project_main_admin(

+         self, namespace: str, repo: str, new_main_admin: str

+     ) -> None:

+         """

+         Change the main admin of a project in pagure.

+ 

+         Params:

+           namespace: Namespace of the project

+           repo: Name of the project

+           new_admin_main: Username of the new main admin

+ 

+         Raises:

+             `toddlers.utils.exceptions.PagureError``: When setting new admin fails.

+         """

+         admin_api_url = "{0}/api/0/{1}/{2}".format(self._pagure_url, namespace, repo)

+         headers = self.get_auth_header()

+         payload = {"main_admin": new_main_admin}

+ 

+         log.debug(

+             "Setting new admin to '{0}' for project '{1}/{2}'".format(

+                 new_main_admin, namespace, repo

+             )

+         )

+         response = self._requests_session.post(

+             admin_api_url, data=json.dumps(payload), headers=headers

+         )

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when setting new admin on project '{0}/{1}'. Got status_code '{2}'.".format(

+                     namespace, repo, response.status_code

+                 )

+             )

+             raise PagureError(

+                 "Couldn't set new admin on project '{0}/{1}'".format(namespace, repo)

+             )

+ 

+     def get_project_contributors(self, namespace: str, repo: str) -> Any:

+         """

+         Get contributors of the project.

+ 

+         Params:

+           namespace: Namespace of the project

+           repo: Name of the project

+ 

+         Returns:

+           Dictionary containing list of contributors.

+ 

+         Raises:

+           `toddlers.utils.exceptions.PagureError``: When getting contributors fails.

+         """

+         contributors_api_url = "{0}/api/0/{1}/{2}/contributors".format(

+             self._pagure_url, namespace, repo

+         )

+         headers = self.get_auth_header()

+ 

+         log.debug("Getting contributors for project '{0}/{1}'".format(namespace, repo))

+         response = self._requests_session.get(contributors_api_url, headers=headers)

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when retrieving contributors project '{0}/{1}'. "

+                 "Got status_code '{2}'.".format(namespace, repo, response.status_code)

+             )

+             raise PagureError(

+                 "Couldn't get contributors for project '{0}/{1}'".format(

+                     namespace, repo

+                 )

+             )

+ 

+         result = response.json()

+ 

+         return result

+ 

+     def get_default_branch(self, namespace: str, repo: str) -> Any:

+         """

+         Return the default branch for the specified repository.

+ 

+         Params:

+           namespace: Namespace of the project

+           repo: Name of the project

+ 

+         Returns:

+           Name of the default branch or None.

+ 

+         Raises:

+           `toddlers.utils.exceptions.PagureError``: When getting default branch fails.

+         """

+         branches_api_url = "{0}/api/0/{1}/{2}/git/branches".format(

+             self._pagure_url, namespace, repo

+         )

+         headers = self.get_auth_header()

+ 

+         log.debug(

+             "Getting default branch for project '{0}/{1}'".format(namespace, repo)

+         )

+         response = self._requests_session.get(branches_api_url, headers=headers)

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when getting default branch for project '{0}/{1}'. "

+                 "Got status_code '{2}'.".format(namespace, repo, response.status_code)

+             )

+             raise PagureError(

+                 "Couldn't get default branch for project '{0}/{1}'".format(

+                     namespace, repo

+                 )

+             )

+ 

+         result = response.json().get("default")

+ 

+         return result

+ 

+     def get_project(self, namespace: str, repo: str) -> Any:

+         """

+         Get contributors of the project.

+ 

+         Params:

+           namespace: Namespace of the project

+           repo: Name of the project

+ 

+         Returns:

+           Dictionary containing list of contributors.

+ 

+         Raises:

+           `toddlers.utils.exceptions.PagureError``: When getting contributors fails.

+         """

+         contributors_api_url = "{0}/api/0/{1}/{2}".format(

+             self._pagure_url, namespace, repo

+         )

+         headers = self.get_auth_header()

+ 

+         log.debug("Getting project '{0}/{1}'".format(namespace, repo))

+         response = self._requests_session.get(contributors_api_url, headers=headers)

+ 

+         if response.status_code != 200:

+             log.error(

+                 "Error when retrieving project '{0}/{1}'. "

+                 "Got status_code '{2}'.".format(namespace, repo, response.status_code)

+             )

+             raise PagureError("Couldn't get project '{0}/{1}'".format(namespace, repo))

+ 

+         result = response.json()

+ 

+         return result

file modified
+171 -1
@@ -1,8 +1,178 @@ 

+ from typing import Mapping, Optional

+ 

  from pdc_client import PDCClient

  

+ _PDC = None

+ 

+ 

+ def set_pdc(config: Mapping[str, str]) -> PDCClient:

+     """

+     Setup the PDC client from config.

+ 

+     Params:

+       config: Configuration dictionary with PDC client info.

+ 

+     Returns:

+       PDCClient object.

+     """

+     global _PDC

+ 

+     _PDC = pdc_client_for_config(config)

+     return _PDC

  

- __all__ = ["pdc_client_for_config"]

+ 

+ def get_pdc() -> PDCClient:

+     """Retrieve a connection to PDC

+ 

+     :raises ValueError: If PDCClient object wasn't initialized

+     """

+     if _PDC is None:

+         raise ValueError("No PDC connection set, call set_pdc first")

+ 

+     return _PDC

  

  

  def pdc_client_for_config(config):

      return PDCClient(**config.get("pdc_config", {}))

+ 

+ 

+ def get_sla(sla_name: str) -> Optional[dict]:

+     """

+     Retrieves SLA from PDC.

+ 

+     Params:

+       sla_name: Name of the sla we are looking for

+ 

+     Returns:

+       Dictionary containing the SLA or None if nothing is found.

+     """

+     pdc = get_pdc()

+     result = None

+     sla_query = pdc["component-sla-types"]._(name=sla_name)

+     if sla_query["count"] == 1:

+         result = sla_query["results"][0]

+ 

+     return result

+ 

+ 

+ def new_sla_to_branch(

+     sla_name: str, eol: str, global_component: str, branch: str, branch_type: str

+ ) -> None:

+     """

+     Create a new SLA to branch mapping in PDC.

+ 

+     Params:

+       sla_name: Name of the SLA to create

+       eol: End Of Life of the SLA in the format "YYYY-MM-DD"

+       global_component: Global component that the branch belongs to

+       branch: Name of the branch

+       branch_type: Type of the branch (e.g. rpm, module, etc.)

+     """

+     payload = {

+         "sla": sla_name,

+         "eol": eol,

+         "branch": {

+             "global_component": global_component,

+             "name": branch,

+             "type": branch_type,

+         },

+     }

+     pdc = get_pdc()

+     pdc["component-branch-slas"]._(payload)

+ 

+ 

+ def get_branch(global_component: str, branch: str, branch_type: str) -> Optional[dict]:

+     """

+     Get a branch in PDC.

+ 

+     Params:

+       global_component: a string of the Global Component the branch

+         belongs to

+       branch: a string of the branch name to search for

+       branch_type: a string of the branch type to search for (e.g. rpm,

+         module, etc.)

+ 

+     Returns:

+       A dictionary of the branch in PDC

+     """

+     query_args = {

+         "global_component": global_component,

+         "name": branch,

+         "type": branch_type,

+     }

+     pdc = get_pdc()

+     branch_query = pdc["component-branches"]._(**query_args)

+ 

+     result = None

+ 

+     if branch_query["count"] != 0:

+         result = branch_query["results"][0]

+ 

+     return result

+ 

+ 

+ def new_branch(global_component: str, branch: str, branch_type: str) -> None:

+     """

+     Create a new branch in PDC. If branch already exists it does nothing.

+ 

+     Params:

+       global_component: a string of the Global Component the branch

+         belongs to

+       branch: a string of the branch name to create

+       branch_type: a string of the branch type to create (e.g. rpm,

+         module, etc.)

+     """

+     existing_branch = get_branch(global_component, branch, branch_type)

+ 

+     if existing_branch:

+         return

+ 

+     payload = {

+         "global_component": global_component,

+         "name": branch,

+         "type": branch_type,

+     }

+     pdc = get_pdc()

+     pdc["component-branches"]._(payload)

+ 

+ 

+ def get_global_component(global_component: str) -> Optional[dict]:

+     """

+     Retrieves global component from PDC.

+ 

+     Params:

+       global_component: Global component to retrieve

+ 

+     Returns:

+       Dictionary representing global component or None.

+     """

+     pdc = get_pdc()

+     gc_query = pdc["global-components"]._(name=global_component)

+ 

+     result = None

+ 

+     if gc_query["count"] != 0:

+         result = gc_query["results"][0]

+ 

+     return result

+ 

+ 

+ def new_global_component(global_component: str, dist_git_url: str) -> None:

+     """

+     Creates a new global component in PDC. If it already exists do nothing.

+ 

+     Params:

+       global_component: Name of the global component to create

+       dist_git_url: A URL to dist git repository

+     """

+     # First check if the component already exists

+     existing_global_component = get_global_component(global_component)

+ 

+     if existing_global_component:

+         return

+ 

+     payload = {"name": global_component, "dist_git_web_url": dist_git_url}

+ 

+     # If it doesn't exist create one

+     pdc = get_pdc()

+     pdc["global-components"]._(payload)

This toddler is automating the functionality of fedscm_admin.
The original ticket for the automation request can be found here.

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 10m 04s

2 new commits added

  • Add tests for pagure module
  • Add pagure get_auth method
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 10m 02s

1 new commit added

  • Add close_issue and add_comment_to_issue to pagure
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 13m 06s

4 new commits added

  • Process verify_slas method in scm_request_processor
  • Add get_sla function to PDC
  • Add PagureError and ValidationError
  • Add set_pdc function
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 11m 28s

2 new commits added

  • Add get_bug function to bugzilla systems
  • Start rewrite create_new_repo in scm_request_processor
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 16m 23s

4 new commits added

  • Add bug validation method to scm_request_processor
  • Add function to get user by username to fas module
  • Add check for group membership to fedora_account module
  • Work with bugzilla.bug.Bug object instead of dict
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 12m 22s

Why not call fedscm-admin instead of copy pasting all that piece of code?

@mohanboddu
This was my initial idea, but @humaton wanted us to not use it and instead just take what is relevant.

3 new commits added

  • Continue with migration of create_new_repo
  • Create Pagure class
  • Add user_exists to pagure module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 10m 07s

3 new commits added

  • Continue with migration of create_new_repo in scm_request_processor
  • Add global_components functions to PDC module
  • Add get_branch function to PDC module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 11m 13s

4 new commits added

  • Continue with migration of create_new_repo
  • Add method for creating repo to Pagure module
  • Add function for adding sla to branch in PDC module
  • Add function new_branch to PDC module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 10m 19s

rebased onto 47c6345

2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 44s

3 new commits added

  • Continue with migration of create_new_repo for smc_request_processor
  • Add method for setting monitoring status to Pagure module
  • Add method for creating new branch to Pagure module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 07s

3 new commits added

  • Finish migration of create_new_repo method in scm_request_processor
  • Add comment function to Bugzilla module
  • Add method to change main admin to Pagure module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 38s

2 new commits added

  • Start working on migration of create new branch in scm_request_processor
  • Add method to get project contributors to Pagure module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 44s

3 new commits added

  • Add method to obtain default branch to pagure module
  • Migrate create_new_branch to toddler in scm_request_processor
  • Add git module to utils
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 49s

1 new commit added

  • Add first unit tests for scm_request_processor
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 10m 10s

1 new commit added

  • Add test generated file to gitignore
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 11m 43s

1 new commit added

  • Add unit tests for scm_request_processor module
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 57s

1 new commit added

  • Add unit tests for smc_request_processsor
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 43s

1 new commit added

  • Add unit tests to scm_request_processor plugin
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 10m 04s

4 new commits added

  • Fix mypy issues
  • Fix flake8 errors
  • Fix formatting
  • Unit tests for scm_request_processor done
2 years ago

Build succeeded.

  • tox : SUCCESS in 11m 33s

2 new commits added

  • Add manual way to run scm_request_processor toddler
  • Add method to retrieve issue to pagure module
2 years ago

Build succeeded.

  • tox : SUCCESS in 10m 05s

1 new commit added

  • Add manual interference to scm_request_processor
2 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

  • tox : FAILURE in 9m 53s

1 new commit added

  • Fix the tests
2 years ago

Build succeeded.

  • tox : SUCCESS in 11m 32s

2 new commits added

  • Fix syntax errors in example config
  • Don't create alias when no commit is created
2 years ago

Build succeeded.

  • tox : SUCCESS in 10m 51s

4 new commits added

  • Fix unit tests
  • Fix the handling of fedora message in scm_request_processor
  • Fix the TOML syntax errors in config example
  • Use the correct API url for comment
2 years ago

Build succeeded.

  • tox : SUCCESS in 9m 13s

I'm currently stuck at this issue in pagure https://pagure.io/pagure/issue/5284, it seems that I'm not able to comment on ticket using Pagure API.

1 new commit added

  • Send json the correct way
2 years ago

I found out that the yesterday issue was on my side, but I'm currently waiting for https://pagure.io/fedora-infra/ansible/pull-request/1013, which allows me to create API key with ability to close issue.
Currently if you try it, you will get a 401, because the API key can't be generated with the required ACL through pagure.io user settings.

Build succeeded.

  • tox : SUCCESS in 9m 02s

2 new commits added

  • Minor fixes
  • Add documentation for scm_request_processor
2 years ago

Build succeeded.

  • tox : SUCCESS in 11m 38s

1 new commit added

  • Notify the maintainers even if issue already contains a comment
2 years ago

Build succeeded.

  • tox : SUCCESS in 9m 06s

Pull-Request has been merged by zlopez

2 years ago

Build succeeded.

  • tox : SUCCESS in 9m 09s