{"id":4006,"date":"2023-03-22T15:05:12","date_gmt":"2023-03-22T15:05:12","guid":{"rendered":"https:\/\/gitprotect.io\/blog\/?p=4006"},"modified":"2024-03-08T11:55:08","modified_gmt":"2024-03-08T11:55:08","slug":"merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github","status":"publish","type":"post","link":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/","title":{"rendered":"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub"},"content":{"rendered":"\n<p>In today&#8217;s world, automation has become increasingly important in software development for several reasons:<\/p>\n\n\n\n<!--more-->\n\n\n\n<ul class=\"wp-block-list\">\n<li>Efficiency<\/li>\n\n\n\n<li>Quality assurance<\/li>\n\n\n\n<li>Scalability<\/li>\n\n\n\n<li>Cost savings<\/li>\n<\/ul>\n\n\n\n<p>Indeed, automating code increases efficiency by reducing manual and repetitive tasks, freeing up time for more complex ones. It also ensures code consistency and quality by setting up automated tests to catch errors early on, improving the overall quality of the code.&nbsp;<\/p>\n\n\n\n<p>Automation makes it easier to scale development projects and can lead to cost savings by streamlining the development process and reducing errors.<\/p>\n\n\n\n<p>Concepts and solutions are existing on GitHub and they can be life changers.<\/p>\n\n\n\n<p>GitHub is full of interesting concepts allowing you to scale your development process like automating your GitHub backup, but there are a lot of complementary solutions that you can use at the same time together to upgrade your code.&nbsp;<\/p>\n\n\n\n<p>One of the most interesting is the merge queue concept that can help secure and automate your code on GitHub, making the development process smoother and more efficient, and that\u2019s what we will talk about with <a href=\"https:\/\/mergify.com\" target=\"_blank\" rel=\"noreferrer noopener\">Mergify<\/a> in this article.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Understanding the problem it solves&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">The common issue: merging outdated pull requests<\/h3>\n\n\n\n<p>To better understand the issue, imagine the following situation:&nbsp;<\/p>\n\n\n\n<p>The main branch has passed its <a href=\"https:\/\/gitprotect.io\/blog\/continuous-integration-and-continuous-delivery-with-jira-done-right-advanced\/\" target=\"_blank\" rel=\"noreferrer noopener\">continuous integration<\/a> testing, and a pull request (PR1) has been created, which has also passed the CI.\u00a0<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/0w1pQ1G3a2wkv2EyVAHdKv7p6WJQe8sBJq-aA5Va1btOyVJkgXNK3rJCEZ1JeJFps8w_jfZW6DG3epQsMRsfY9_fbcsEy2tjcvOSg1TCaWZou3Wochk1_dDSkMhmzsMx_AMjRAWwtnXh-iE8w9Myqg\" alt=\"Continuous integration 1\" style=\"width:499px;height:250px\"\/><\/figure><\/div>\n\n\n<p>At this point, the repository is in a state of perfect harmony. However, it is temporary state.<\/p>\n\n\n\n<p>While PR1 is still open, a new commit is pushed to the main branch, either directly or through another pull request. As a result, the main branch is modified, and the CI runs tests against it, which passes again.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/7byHn77QFdhC55VsXUGpuVJ_3r90hzB8kEYyPCrrMv7KjrB9_N1xx2TD_X2P9e6m9wFmC7Ei8RXmSkw_IygtBc1cQxbFZGuDhJp0qvmFXs_pWslI1gRyr-3AFniWL37s48GMPh3JECIbDm-VS7QEeg\" alt=\"Continuous Integration 2\" style=\"width:499px;height:250px\"\/><\/figure><\/div>\n\n\n<p>Although PR1 is still valid according to the CI, a new merge commit is created when the merge button is pressed, and the CI tests fail. BOOM.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/bL9N_x3QnQbf_Uhez7B_eAdm32VOf_5wCLR8jxwnFbgbReurzAE0Xiv6UFZzOeV9BZeZXuIw75MByaA6qegTFl8iCH6mjeEjyMsDcGn0KobhoBtJY3KV6Qau5uke56aZkM-2CoER7_9ZXGuwFErxFg\" alt=\"Continuous Integration 3\" style=\"width:499px;height:250px\"\/><\/figure><\/div>\n\n\n<p>The reason for the failure is that PR1 does not have the latest version of the code, which includes new tests introduced in the main branch. When PR1 was marked as valid, the CI did not test it with the new commit added to the main branch. Therefore, it lacks the necessary code to pass the new test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to deal with this situation?<\/h3>\n\n\n\n<p>Basically, the problem is all about rebasing and the necessity for each pull request to be up-to-date. So you are facing 2 solutions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Only run your CI on the head of your feature branch &#8211; and do not require your feature branch to be up-to-date with the main branch.<\/li>\n<\/ul>\n\n\n\n<p>\u2192 The main drawback here is that your feature branch might be compatible with the main branch, or not.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Require all feature branches to be up-to-date with the target.<\/li>\n<\/ul>\n\n\n\n<p>\u2192 The main drawback is that you waste a lot of time and money.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">These solutions are hardly adapted<\/h2>\n\n\n\n<p>Let\u2019s be clear, that\u2019s a quite common situation for organizations and teams working with CI\/CD processes, making you create merge conflicts, unsecured code, and wasting a lot of time doing things manually, decreasing security and Developer experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A better solution: the merge queue&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is a Merge Queue?&nbsp;<\/h3>\n\n\n\n<p>The merge queue concept is a way of managing your PRs in a centralized location, where PRs can be integrated, tested, and merged automatically and sequentially. The idea is to have a dedicated queue where PRs can be tracked and managed, prioritized, with each PR going through a series of automated tests before being merged into the main branch.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/DFeqQQeI_6T7ILLedT68cIBSE9zPR6g7kJxJk-ij8XUfv073re9eGlzff332wm1jjuTECb30cLvI_WBNehydYh6eejG6bXQiX1qLzPfdx58WSUtpkUE_8pPLBGqPE1L4xOGZueovHFqhj5BGgQVlKg\" alt=\"What is a Merge Queue\" style=\"width:499px;height:750px\"\/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">How does a merge queue work?<\/h3>\n\n\n\n<p>1. Queue valid PRs<\/p>\n\n\n\n<p>Run the engine on your pull requests. All valid pull requests &#8211;&nbsp; the ones which validated all the conditions can be added to the queue.<\/p>\n\n\n\n<p>2. Update and CI<\/p>\n\n\n\n<p>The merge queue will make sure that each PR in the queue is up-to-date by merging the main branch into the feature branch.<\/p>\n\n\n\n<p>Then the CI reruns to make sure the PR is mergeable.<\/p>\n\n\n\n<p>3. To merge or not to merge, that\u2019s the question<\/p>\n\n\n\n<p>Two quite distinct cases:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All checks passed \u2192 merge the PR.<\/li>\n\n\n\n<li>Failing test \u2192 remove the PR from the queue.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">A GitHub Backup complementary solution<\/h2>\n\n\n\n<p>A merge queue provides an additional layer of protection against any possible failure or disruption of the standard GitHub merge process. This solution ensures that all pull requests are properly reviewed and merged in a controlled and efficient manner.<\/p>\n\n\n\n<p>Remember that having your workflow trusted and conflict-free has an impact on your data. That is why you should always remember to perform automated GitHub backups as another layer of security. This way you restore copies from any point in time and roll data back to the previous states. Want to find out more about the most reliable features and practical tips? <a href=\"https:\/\/gitprotect.io\/blog\/github-backup-best-practices\/\" target=\"_blank\" rel=\"noreferrer noopener\">Read GitHub Backup Best Practices article.<\/a><\/p>\n\n\n\n<p>At GitProtect we recommend you try Mergify\u2019s Merge Queue.&nbsp;<\/p>\n\n\n\n<p>Mergify is a CI\/CD pipeline optimizer trusted by Airtable, Mozilla, and AWS to automate their pull requests and secure the code merge using a merge queue.&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button aligncenter\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/mergify.com\/\" style=\"border-radius:50px;background-color:#28abe1\" target=\"_blank\" rel=\"noreferrer noopener\">Try Mergify now!<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In today&#8217;s world, automation has become increasingly important in software development for several reasons:<\/p>\n","protected":false},"author":11,"featured_media":4009,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3],"tags":[],"class_list":["post-4006","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git-backup-101","category-github","post--single"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub - Blog | GitProtect.io<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub - Blog | GitProtect.io\" \/>\n<meta property=\"og:description\" content=\"In today&#8217;s world, automation has become increasingly important in software development for several reasons:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | GitProtect.io\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/XoperoSoftware\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-22T15:05:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-08T11:55:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Guest Expert\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:site\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Guest Expert\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\"},\"author\":{\"name\":\"Guest Expert\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/a4b0df0611bfe009e1384b155b9d6b82\"},\"headline\":\"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub\",\"datePublished\":\"2023-03-22T15:05:12+00:00\",\"dateModified\":\"2024-03-08T11:55:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\"},\"wordCount\":848,\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg\",\"articleSection\":[\"Git Backup 101\",\"GitHub\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\",\"name\":\"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub - Blog | GitProtect.io\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg\",\"datePublished\":\"2023-03-22T15:05:12+00:00\",\"dateModified\":\"2024-03-08T11:55:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg\",\"width\":1200,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/gitprotect.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"name\":\"GitProtect.io Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gitprotect.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\",\"name\":\"GitProtect.io\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"width\":528,\"height\":528,\"caption\":\"GitProtect.io\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/XoperoSoftware\/\",\"https:\/\/x.com\/GitProtectio\",\"https:\/\/www.linkedin.com\/company\/xopero-software\/\",\"https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/a4b0df0611bfe009e1384b155b9d6b82\",\"name\":\"Guest Expert\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/guest-expert_avatar-96x96.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/guest-expert_avatar-96x96.png\",\"caption\":\"Guest Expert\"},\"url\":\"https:\/\/gitprotect.io\/blog\/author\/guest-expert\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub - Blog | GitProtect.io","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/","og_locale":"en_US","og_type":"article","og_title":"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub - Blog | GitProtect.io","og_description":"In today&#8217;s world, automation has become increasingly important in software development for several reasons:","og_url":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/","og_site_name":"Blog | GitProtect.io","article_publisher":"https:\/\/www.facebook.com\/XoperoSoftware\/","article_published_time":"2023-03-22T15:05:12+00:00","article_modified_time":"2024-03-08T11:55:08+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg","type":"image\/jpeg"}],"author":"Guest Expert","twitter_card":"summary_large_image","twitter_creator":"@GitProtectio","twitter_site":"@GitProtectio","twitter_misc":{"Written by":"Guest Expert","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#article","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/"},"author":{"name":"Guest Expert","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/a4b0df0611bfe009e1384b155b9d6b82"},"headline":"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub","datePublished":"2023-03-22T15:05:12+00:00","dateModified":"2024-03-08T11:55:08+00:00","mainEntityOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/"},"wordCount":848,"publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg","articleSection":["Git Backup 101","GitHub"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/","url":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/","name":"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub - Blog | GitProtect.io","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg","datePublished":"2023-03-22T15:05:12+00:00","dateModified":"2024-03-08T11:55:08+00:00","breadcrumb":{"@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#primaryimage","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/03\/Mergify_Merge-Queue-concept.jpg","width":1200,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/gitprotect.io\/blog\/merge-queue-concept-a-complementary-solution-to-secure-and-automate-your-code-on-github\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/gitprotect.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Merge Queue Concept: A Complementary Solution To Secure And Automate Your Code on GitHub"}]},{"@type":"WebSite","@id":"https:\/\/gitprotect.io\/blog\/#website","url":"https:\/\/gitprotect.io\/blog\/","name":"GitProtect.io Blog","description":"","publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gitprotect.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gitprotect.io\/blog\/#organization","name":"GitProtect.io","url":"https:\/\/gitprotect.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","width":528,"height":528,"caption":"GitProtect.io"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/XoperoSoftware\/","https:\/\/x.com\/GitProtectio","https:\/\/www.linkedin.com\/company\/xopero-software\/","https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w"]},{"@type":"Person","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/a4b0df0611bfe009e1384b155b9d6b82","name":"Guest Expert","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/guest-expert_avatar-96x96.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/guest-expert_avatar-96x96.png","caption":"Guest Expert"},"url":"https:\/\/gitprotect.io\/blog\/author\/guest-expert\/"}]}},"_links":{"self":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/4006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/comments?post=4006"}],"version-history":[{"count":6,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/4006\/revisions"}],"predecessor-version":[{"id":5102,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/4006\/revisions\/5102"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media\/4009"}],"wp:attachment":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media?parent=4006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/categories?post=4006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/tags?post=4006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}