{"id":3752,"date":"2021-12-21T14:26:25","date_gmt":"2021-12-21T14:26:25","guid":{"rendered":"https:\/\/devexperts.com\/blog\/?p=3752"},"modified":"2022-07-28T13:42:33","modified_gmt":"2022-07-28T13:42:33","slug":"shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server","status":"publish","type":"post","link":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/","title":{"rendered":"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server"},"content":{"rendered":"\n<div class=\"wp-block-devexperts-custom-thumbnail\"><figure><picture><source media=\"(max-width: 639px)\" data-srcset=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/1148x1148-1-574x574.png 2x, https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/1148x1148-1-300x300.png 1x\"\/><source media=\"(min-width: 640px) and (max-width: 767px)\" data-srcset=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-1168x657.png 2x, https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-600x338.png 1x\"\/><source media=\"(min-width: 768px) and (max-width: 1023px)\" data-srcset=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-1168x657.png 2x, https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-728x410.png 1x\"\/><source media=\"(min-width: 1024px) and (max-width: 1279px)\" data-srcset=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-1168x657.png 1x, https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-690x388.png 1x\"\/><source media=\"(min-width: 1280px)\" data-srcset=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-1752x986.png 2x,\n\t\t\t\thttps:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-1752x986.png 1.5x,\n\t\t\t\thttps:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-870x489.png 1x\"\/><img decoding=\"async\" class=\"singleThumbnail lazyload\" src=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-1024x576.png\" data-src=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/2336x1314-1-870x489.png\"\/><\/picture><\/figure><\/div>\n\n\n\n<p>Shadow merge commit build status is a plugin we developed for the Atlassian Bitbucket Server. It allows monitoring the build status of code that would be in the target branch after a real Pull-Request merge and vetoing the merge if the build fails. It is quite simple, but fills a gaping hole in the functionality required for <a href=\"https:\/\/devexperts.com\/blog\/fintech-qa-continuous-integration-in-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">continuous integration<\/a>.<\/p>\n\n\n\n<p>We work with large amounts of data, so possible workarounds aren\u2019t a good fit for us \u2014 they\u2019re just unable to provide the required performance.<\/p>\n\n\n\n<p>Developing our own plugin turned out to be the best solution for us.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-so-what-does-the-plugin-do\">So what does the plugin do?<\/h2>\n\n\n\n<p>Starting from Bitbucket Server 7.X, our plugin does build a shadow merge commit, which is its most sophisticated part. The plugin provides a standard git ref to that shadow merge commit so it could be read by a regular CI to make a build.<\/p>\n\n\n\n<p>The end user\u2019s part is to configure CI to read a repo with the given ref to commit, then to make a build, and to post the build status to Bitbucket Server.<\/p>\n\n\n\n<p>After that, the plugin displays that build status on UI and acts accordingly in terms of blocking (vetoing) merge for Pull-Request.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-it-sees-the-build-status-for-the-shadow-merge-commit-in-pull-request\">It sees the build status for the shadow merge commit in Pull-Request.<\/h3>\n\n\n\n<p>Thus, you can check the build status for the shadow merge commit to be sure the target branch will have good quality after the actual merge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-it-facilitates-your-ci-practices-on-the-shadow-merge-commit\">It facilitates your CI practices on the shadow merge commit.<\/h3>\n\n\n\n<p>You can run CI builds on the shadow merge commit to verify the code that will be in the target branch after the real pull-request merge. Commit is rebuilt automatically on any change in source or target branches.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-it-vetoes-pull-request-if-the-shadow-merge-commit-is-failed\">It vetoes pull-request if the shadow merge commit is failed.<\/h3>\n\n\n\n<p>The target branch might be highly sensitive (like production\/ or release\/), so, to avoid its breakages, the plugin blocks merge of pull-request if a build is failed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-on-top-of-that\">On top of that<\/h2>\n\n\n\n<p>You can enable automatic merge if no veto on pull-request exists at the moment of any of the following events: pull-request is approved, source branch build status is set, the shadow merge commit build status is set, and the task is resolved or deleted.<\/p>\n\n\n\n<p>The plugin also lets you set an option to delete the source branch upon a successful merge.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-lastly\">Lastly<\/h2>\n\n\n\n<p>Since we published the plugin on the Atlassian marketplace, it has become quite popular among teams who work on the Bitbucket server \u2014 by December 2021, it was installed 60 times. We received KUDOs from happy users, which fuelled our motivation to continue developing for the benefit of the entire IT community.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Shadow merge commit build status is a plugin we developed for the Atlassian Bitbucket Server. It allows monitoring the build &hellip; <\/p>\n","protected":false},"author":32,"featured_media":3756,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2020],"tags":[36,62],"class_list":["post-3752","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fintech","tag-development","tag-technology"],"acf":{"nifty_post_card_image":4395,"nifty_post_card_index_big":4398,"nifty_post_inner_image":4397,"nifty_post_card_banner":4396},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Shadow Merge Commit Build Status \u2014 Devexperts Blog<\/title>\n<meta name=\"description\" content=\"Our plugin for the Atlassian Bitbucket Server allows users to monitor the build status of code that would be in the target branch.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server\" \/>\n<meta property=\"og:description\" content=\"Our plugin for the Atlassian Bitbucket Server allows users to monitor the build status of code that would be in the target branch.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\" \/>\n<meta property=\"og:site_name\" content=\"Devexperts Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/devexperts\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-21T14:26:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-28T13:42:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header_li.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Andrey Karpov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header_tw.png\" \/>\n<meta name=\"twitter:creator\" content=\"@devexperts\" \/>\n<meta name=\"twitter:site\" content=\"@devexperts\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrey Karpov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\"},\"author\":{\"name\":\"Andrey Karpov\"},\"headline\":\"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server\",\"datePublished\":\"2021-12-21T14:26:25+00:00\",\"dateModified\":\"2022-07-28T13:42:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\"},\"wordCount\":452,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/devexperts.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png\",\"keywords\":[\"development\",\"technology\"],\"articleSection\":[\"Fintech\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\",\"url\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\",\"name\":\"Shadow Merge Commit Build Status \u2014 Devexperts Blog\",\"isPartOf\":{\"@id\":\"https:\/\/devexperts.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png\",\"datePublished\":\"2021-12-21T14:26:25+00:00\",\"dateModified\":\"2022-07-28T13:42:33+00:00\",\"description\":\"Our plugin for the Atlassian Bitbucket Server allows users to monitor the build status of code that would be in the target branch.\",\"breadcrumb\":{\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage\",\"url\":\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png\",\"contentUrl\":\"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png\",\"width\":3840,\"height\":700,\"caption\":\"Shadow merge commit build status\u2014our plugin for the Bitbucket server\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devexperts.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devexperts.com\/blog\/#website\",\"url\":\"https:\/\/devexperts.com\/blog\/\",\"name\":\"Devexperts Blog\",\"description\":\"We make complex finance ideas on technology, innovation and business simple\",\"publisher\":{\"@id\":\"https:\/\/devexperts.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devexperts.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/devexperts.com\/blog\/#organization\",\"name\":\"Devexperts LLC\",\"url\":\"https:\/\/devexperts.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/devexperts.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/devexperts.com\/blog\/app\/uploads\/2019\/08\/DX-logo.png\",\"contentUrl\":\"https:\/\/devexperts.com\/blog\/app\/uploads\/2019\/08\/DX-logo.png\",\"width\":167,\"height\":30,\"caption\":\"Devexperts LLC\"},\"image\":{\"@id\":\"https:\/\/devexperts.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/devexperts\/\",\"https:\/\/x.com\/devexperts\",\"https:\/\/www.linkedin.com\/company\/devexperts\",\"https:\/\/www.youtube.com\/channel\/UCF3FRmes2KrcVsTXQ1aAB5w\/featured\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Shadow Merge Commit Build Status \u2014 Devexperts Blog","description":"Our plugin for the Atlassian Bitbucket Server allows users to monitor the build status of code that would be in the target branch.","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:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/","og_locale":"en_US","og_type":"article","og_title":"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server","og_description":"Our plugin for the Atlassian Bitbucket Server allows users to monitor the build status of code that would be in the target branch.","og_url":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/","og_site_name":"Devexperts Blog","article_publisher":"https:\/\/www.facebook.com\/devexperts\/","article_published_time":"2021-12-21T14:26:25+00:00","article_modified_time":"2022-07-28T13:42:33+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header_li.png","type":"image\/png"}],"author":"Andrey Karpov","twitter_card":"summary_large_image","twitter_image":"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header_tw.png","twitter_creator":"@devexperts","twitter_site":"@devexperts","twitter_misc":{"Written by":"Andrey Karpov","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#article","isPartOf":{"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/"},"author":{"name":"Andrey Karpov"},"headline":"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server","datePublished":"2021-12-21T14:26:25+00:00","dateModified":"2022-07-28T13:42:33+00:00","mainEntityOfPage":{"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/"},"wordCount":452,"commentCount":0,"publisher":{"@id":"https:\/\/devexperts.com\/blog\/#organization"},"image":{"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage"},"thumbnailUrl":"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png","keywords":["development","technology"],"articleSection":["Fintech"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/","url":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/","name":"Shadow Merge Commit Build Status \u2014 Devexperts Blog","isPartOf":{"@id":"https:\/\/devexperts.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage"},"image":{"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage"},"thumbnailUrl":"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png","datePublished":"2021-12-21T14:26:25+00:00","dateModified":"2022-07-28T13:42:33+00:00","description":"Our plugin for the Atlassian Bitbucket Server allows users to monitor the build status of code that would be in the target branch.","breadcrumb":{"@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#primaryimage","url":"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png","contentUrl":"https:\/\/devexperts.com\/blog\/app\/uploads\/2021\/12\/shadow_merge_header.png","width":3840,"height":700,"caption":"Shadow merge commit build status\u2014our plugin for the Bitbucket server"},{"@type":"BreadcrumbList","@id":"https:\/\/devexperts.com\/blog\/shadow-merge-commit-build-status-our-plugin-for-the-bitbucket-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devexperts.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Shadow Merge Commit Build Status \u2014 Our Plugin for the Bitbucket Server"}]},{"@type":"WebSite","@id":"https:\/\/devexperts.com\/blog\/#website","url":"https:\/\/devexperts.com\/blog\/","name":"Devexperts Blog","description":"We make complex finance ideas on technology, innovation and business simple","publisher":{"@id":"https:\/\/devexperts.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devexperts.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/devexperts.com\/blog\/#organization","name":"Devexperts LLC","url":"https:\/\/devexperts.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/devexperts.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/devexperts.com\/blog\/app\/uploads\/2019\/08\/DX-logo.png","contentUrl":"https:\/\/devexperts.com\/blog\/app\/uploads\/2019\/08\/DX-logo.png","width":167,"height":30,"caption":"Devexperts LLC"},"image":{"@id":"https:\/\/devexperts.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/devexperts\/","https:\/\/x.com\/devexperts","https:\/\/www.linkedin.com\/company\/devexperts","https:\/\/www.youtube.com\/channel\/UCF3FRmes2KrcVsTXQ1aAB5w\/featured"]}]}},"_links":{"self":[{"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/posts\/3752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/comments?post=3752"}],"version-history":[{"count":14,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/posts\/3752\/revisions"}],"predecessor-version":[{"id":4694,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/posts\/3752\/revisions\/4694"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/media\/3756"}],"wp:attachment":[{"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/media?parent=3752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/categories?post=3752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devexperts.com\/blog\/wp-json\/wp\/v2\/tags?post=3752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}