[{"data":1,"prerenderedAt":1001},["ShallowReactive",2],{"/blog/enable-slos-as-code":3,"navigation-en-us":198,"banner-en-us":624,"footer-en-us":634,"blog-post-authors-en-us-Quan To|Jeremy Cooper|Ian Bartholomew":878,"blog-related-posts-en-us-enable-slos-as-code":915,"blog-promotions-en-us":937,"next-steps-en-us":991},{"id":4,"title":5,"authors":6,"body":10,"category":176,"date":177,"description":178,"extension":179,"externalUrl":180,"faq":180,"featured":181,"heroImage":182,"meta":183,"navigation":184,"path":185,"seo":186,"slug":190,"stem":191,"tags":192,"template":196,"updatedDate":180,"__hash__":197},"blogPosts/en-us/blog/enable-slos-as-code.md","Enable SLO-as-Code with Nobl9 and GitLab",[7,8,9],"Quan To","Jeremy Cooper","Ian Bartholomew",{"type":11,"value":12,"toc":172},"minimark",[13,17,20,23,33,38,41,48,55,61,80,92,103,109,115,121,129,135,141,144,153,158],[14,15,16],"p",{},"Nobl9 recently integrated with GitLab's CI to enable a consistent mechanism to publish Service Level Objectives (SLO) definitions from GitLab to Nobl9. With this SLO-as-Code integration, DevOps teams can take action when their error budgets are burning too fast or are about to be exhausted.",[14,18,19],{},"In today’s systems, 100% uptime isn’t realistic given the complex architectures and dependencies involved. SLOs enable you to define targets and have an error budget for tracking what's “good enough.” For example, you can target uptime of 99.9%, 99%, or even 95% because what truly matters is how much downtime or errors are acceptable before there is real customer impact.",[14,21,22],{},"Typically when organizations think about SLO-as-Code, they must use separate products to ensure their SLO definitions are always in sync with whatever tool they are using. This usually includes running command-line tools manually or building custom integrations within their code repositories.",[14,24,25,26,32],{},"With this CI configuration, every time you build your repo, GitLab will call ",[27,28,31],"a",{"href":29,"rel":30},"https://docs.nobl9.com/sloctl-user-guide",[],"sloctl",", our command-line tool, and push the SLO definition to Nobl9. Customers can continue using GitLab to version their SLO definitions and keep their SLOs consistent. This ensures your SLO definition will always be up to date with what’s in Nobl9 and removes any discrepancies over what the latest SLO definition actually is. SREs, engineers, and anyone using the SLOs can still debate what the targets need to be, but there will always be a definitive source of truth in your code repository on what the current definition is.",[34,35,37],"h2",{"id":36},"getting-started","Getting started",[14,39,40],{},"To set this up in GitLab, follow these steps:",[14,42,43,47],{},[44,45,46],"strong",{},"1."," Select Settings -> CI/CD, and click the Expand button next to Variables.",[14,49,50],{},[51,52],"img",{"alt":53,"src":54},"CICD_settings","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398760/blog/Content%20Images/nobl9_2.png",[14,56,57,60],{},[44,58,59],{},"2."," Add the following variables:",[62,63,64,68,71,74,77],"ul",{},[65,66,67],"li",{},"CLIENT_ID",[65,69,70],{},"CLIENT_SECRET",[65,72,73],{},"ACCESS_TOKEN",[65,75,76],{},"PROJECT",[65,78,79],{},"SLOCTL_YML",[14,81,82,85,86,91],{},[44,83,84],{},"Note:"," If you haven’t done so already, you’ll need to install sloctl. You can install the executable on your local machine by following the instructions in the ",[27,87,90],{"href":88,"rel":89},"https://docs.nobl9.com/sloctl-user-guide#setting-up-sloctl",[],"user guide",". Once sloctl is installed, you can run the following command to retrieve your CLIENT_ID, CLIENT_SECRET, and ACCESS_TOKEN:",[93,94,99],"pre",{"className":95,"code":97,"language":98},[96],"language-text","cat ~/.config/nobl9/config.toml\n\n\nThe PROJECT value is the name of the project inside Nobl9 that your SLO belongs \nto.\n\n\nThe SLOCTL_YML value is the Nobl9 YAML file you want to push to Nobl9 on each \nchange.\n","text",[100,101,97],"code",{"__ignoreMap":102},"",[14,104,105],{},[51,106],{"alt":107,"src":108},"install_sloctl","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398760/blog/Content%20Images/nobl9_3.png",[14,110,111,114],{},[44,112,113],{},"3."," Create the CI/CD job to apply the YAML, by going to CI/CD -> Jobs and clicking “Create CI/CD configuration file”.",[14,116,117],{},[51,118],{"alt":119,"src":120},"create_config","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398760/blog/Content%20Images/nobl9_4.png",[14,122,123,124,128],{},"Enter the following code in the ",[125,126,127],"em",{},".gitlab.ci.yml"," file:",[93,130,133],{"className":131,"code":132,"language":98},[96],"    variables:\n\n\n      CLIENT_ID: $NOBL9_CLIENT_ID\n\n\n      CLIENT_SECRET: $NOBL9_CLIENT_SECRET\n\n\n      ACCESS_TOKEN: $NOBL9_ACCESS_TOKEN\n\n\n      PROJECT: $NOBL9_PROJECT\n\n\n      SLOCTL_YML: $SLOCTL_YML\n\n\n    include:\n\n\n      - project: 'nobl9/nobl9-ci-template'\n\n\n        ref: main\n\n\n        file: '/nobl9.gitlab-ci.yml'\n",[100,134,132],{"__ignoreMap":102},[14,136,137,140],{},[44,138,139],{},"4."," Kick off a build. Any changes to the SLOCTL_YML file that you reference will now automatically be pushed to Nobl9 once the updates are committed.",[14,142,143],{},"By partnering with GitLab and providing a convenient CI script and a command-line tool for managing SLOs, Nobl9 has truly enabled SLO-as-Code. We encourage existing Nobl9 customers who use GitLab to give it a try.",[14,145,146,147,152],{},"If you haven’t experienced Nobl9 yet, you can sign up for a free 30-day trial at ",[27,148,151],{"href":149,"rel":150},"http://nobl9.com/signup",[],"nobl9.com/signup"," to see all that it has to offer.",[14,154,155],{},[125,156,157],{},"Quan To is Senior Director of Product Management, Jeremy Cooper is Senior Solutions Engineer, and Ian Bartholomew is SRE Manager at Nobl9.",[14,159,160,161,166,167],{},"Cover image by ",[27,162,165],{"href":163,"rel":164},"https://unsplash.com/@varpap",[],"Vardan Papikayan"," on ",[27,168,171],{"href":169,"rel":170},"https://unsplash.com/photos/JzE1dHEaAew",[],"Unsplash",{"title":102,"searchDepth":173,"depth":173,"links":174},2,[175],{"id":36,"depth":173,"text":37},"news","2022-05-09","Learn how to take advantage of a streamlined SLO process and maintain a single source of truth for SLO definitions within your DevOps platform.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669455/Blog/Hero%20Images/nobl9_1.jpg",{},true,"/en-us/blog/enable-slos-as-code",{"title":5,"description":178,"ogTitle":5,"ogDescription":178,"noIndex":181,"ogImage":182,"ogUrl":187,"ogSiteName":188,"ogType":189,"canonicalUrls":187},"https://about.gitlab.com/blog/enable-slos-as-code","https://about.gitlab.com","article","enable-slos-as-code","en-us/blog/enable-slos-as-code",[193,194,195],"integrations","CI","DevOps","BlogPost","l_xYbc3gql_aoU3N62sPAykxV4kUcRzpX7UUHadKsZQ",{"logo":199,"freeTrial":204,"sales":209,"login":214,"items":219,"search":544,"minimal":575,"duo":594,"switchNav":603,"pricingDeployment":614},{"config":200},{"href":201,"dataGaName":202,"dataGaLocation":203},"/","gitlab logo","header",{"text":205,"config":206},"Get free trial",{"href":207,"dataGaName":208,"dataGaLocation":203},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":210,"config":211},"Request a demo",{"href":212,"dataGaName":213,"dataGaLocation":203},"/sales/?contact-topic=request-demo","sales",{"text":215,"config":216},"Sign in",{"href":217,"dataGaName":218,"dataGaLocation":203},"https://gitlab.com/users/sign_in/","sign in",[220,249,349,354,466,522],{"text":221,"config":222,"menu":224},"Platform",{"dataNavLevelOne":223},"platform",{"type":225,"columns":226},"cards",[227,233,241],{"title":221,"description":228,"link":229},"The intelligent orchestration platform for DevSecOps",{"text":230,"config":231},"Explore our Platform",{"href":232,"dataGaName":223,"dataGaLocation":203},"/platform/",{"title":234,"description":235,"link":236},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":237,"config":238},"Meet GitLab Duo",{"href":239,"dataGaName":240,"dataGaLocation":203},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":242,"description":243,"link":244},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":245,"config":246},"Learn more",{"href":247,"dataGaName":248,"dataGaLocation":203},"/why-gitlab/","why gitlab",{"text":250,"left":184,"config":251,"menu":253},"Product",{"dataNavLevelOne":252},"solutions",{"type":254,"link":255,"columns":259,"feature":328},"lists",{"text":256,"config":257},"View all Solutions",{"href":258,"dataGaName":252,"dataGaLocation":203},"/solutions/",[260,284,307],{"title":261,"description":262,"link":263,"items":268},"Automation","CI/CD and automation to accelerate deployment",{"config":264},{"icon":265,"href":266,"dataGaName":267,"dataGaLocation":203},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[269,273,276,280],{"text":270,"config":271},"CI/CD",{"href":272,"dataGaLocation":203,"dataGaName":270},"/solutions/continuous-integration/",{"text":234,"config":274},{"href":239,"dataGaLocation":203,"dataGaName":275},"gitlab duo agent platform - product menu",{"text":277,"config":278},"Source Code Management",{"href":279,"dataGaLocation":203,"dataGaName":277},"/solutions/source-code-management/",{"text":281,"config":282},"Automated Software Delivery",{"href":266,"dataGaLocation":203,"dataGaName":283},"Automated software delivery",{"title":285,"description":286,"link":287,"items":292},"Security","Deliver code faster without compromising security",{"config":288},{"href":289,"dataGaName":290,"dataGaLocation":203,"icon":291},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[293,297,302],{"text":294,"config":295},"Application Security Testing",{"href":289,"dataGaName":296,"dataGaLocation":203},"Application security testing",{"text":298,"config":299},"Software Supply Chain Security",{"href":300,"dataGaLocation":203,"dataGaName":301},"/solutions/supply-chain/","Software supply chain security",{"text":303,"config":304},"Software Compliance",{"href":305,"dataGaName":306,"dataGaLocation":203},"/solutions/software-compliance/","software compliance",{"title":308,"link":309,"items":314},"Measurement",{"config":310},{"icon":311,"href":312,"dataGaName":313,"dataGaLocation":203},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[315,319,323],{"text":316,"config":317},"Visibility & Measurement",{"href":312,"dataGaLocation":203,"dataGaName":318},"Visibility and Measurement",{"text":320,"config":321},"Value Stream Management",{"href":322,"dataGaLocation":203,"dataGaName":320},"/solutions/value-stream-management/",{"text":324,"config":325},"Analytics & Insights",{"href":326,"dataGaLocation":203,"dataGaName":327},"/solutions/analytics-and-insights/","Analytics and insights",{"title":329,"type":254,"items":330},"GitLab for",[331,337,343],{"text":332,"config":333},"Enterprise",{"icon":334,"href":335,"dataGaLocation":203,"dataGaName":336},"Building","/enterprise/","enterprise",{"text":338,"config":339},"Small Business",{"icon":340,"href":341,"dataGaLocation":203,"dataGaName":342},"Work","/small-business/","small business",{"text":344,"config":345},"Public Sector",{"icon":346,"href":347,"dataGaLocation":203,"dataGaName":348},"Organization","/solutions/public-sector/","public sector",{"text":350,"config":351},"Pricing",{"href":352,"dataGaName":353,"dataGaLocation":203,"dataNavLevelOne":353},"/pricing/","pricing",{"text":355,"config":356,"menu":358},"Resources",{"dataNavLevelOne":357},"resources",{"type":254,"link":359,"columns":363,"feature":455},{"text":360,"config":361},"View all resources",{"href":362,"dataGaName":357,"dataGaLocation":203},"/resources/",[364,395,422],{"title":37,"items":365},[366,371,376,381,386,391],{"text":367,"config":368},"Install",{"href":369,"dataGaName":370,"dataGaLocation":203},"/install/","install",{"text":372,"config":373},"Quick start guides",{"href":374,"dataGaName":375,"dataGaLocation":203},"/get-started/","quick setup checklists",{"text":377,"config":378},"Learn",{"href":379,"dataGaLocation":203,"dataGaName":380},"https://university.gitlab.com/","learn",{"text":382,"config":383},"Product documentation",{"href":384,"dataGaName":385,"dataGaLocation":203},"https://docs.gitlab.com/","product documentation",{"text":387,"config":388},"Best practice videos",{"href":389,"dataGaName":390,"dataGaLocation":203},"/getting-started-videos/","best practice videos",{"text":392,"config":393},"Integrations",{"href":394,"dataGaName":193,"dataGaLocation":203},"/integrations/",{"title":396,"items":397},"Discover",[398,403,408,413,417],{"text":399,"config":400},"Customer success stories",{"href":401,"dataGaName":402,"dataGaLocation":203},"/customers/","customer success stories",{"text":404,"config":405},"Blog",{"href":406,"dataGaName":407,"dataGaLocation":203},"/blog/","blog",{"text":409,"config":410},"Demo Hub",{"href":411,"dataGaName":412,"dataGaLocation":203},"/demo-hub/","demo hub",{"text":414,"config":415},"The Source",{"href":416,"dataGaName":407,"dataGaLocation":203},"/the-source/",{"text":418,"config":419},"Remote",{"href":420,"dataGaName":421,"dataGaLocation":203},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":423,"items":424},"Connect",[425,430,435,440,445,450],{"text":426,"config":427},"GitLab Services",{"href":428,"dataGaName":429,"dataGaLocation":203},"/services/","services",{"text":431,"config":432},"Contribute",{"href":433,"dataGaName":434,"dataGaLocation":203},"https://contributors.gitlab.com","contribute",{"text":436,"config":437},"Community",{"href":438,"dataGaName":439,"dataGaLocation":203},"/community/","community",{"text":441,"config":442},"Forum",{"href":443,"dataGaName":444,"dataGaLocation":203},"https://forum.gitlab.com/","forum",{"text":446,"config":447},"Events",{"href":448,"dataGaName":449,"dataGaLocation":203},"/events/","events",{"text":451,"config":452},"Partners",{"href":453,"dataGaName":454,"dataGaLocation":203},"/partners/","partners",{"config":456,"title":459,"text":460,"link":461},{"background":457,"textColor":458},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":462,"config":463},"Read the latest",{"href":464,"dataGaName":465,"dataGaLocation":203},"/whats-new/","whats new",{"text":467,"config":468,"menu":470},"Company",{"dataNavLevelOne":469},"company",{"type":254,"columns":471},[472],{"items":473},[474,479,485,487,492,497,502,507,512,517],{"text":475,"config":476},"About",{"href":477,"dataGaName":478,"dataGaLocation":203},"/company/","about",{"text":480,"config":481,"footerGa":484},"Jobs",{"href":482,"dataGaName":483,"dataGaLocation":203},"/jobs/","jobs",{"dataGaName":483},{"text":446,"config":486},{"href":448,"dataGaName":449,"dataGaLocation":203},{"text":488,"config":489},"Leadership",{"href":490,"dataGaName":491,"dataGaLocation":203},"/company/team/e-group/","leadership",{"text":493,"config":494},"Handbook",{"href":495,"dataGaName":496,"dataGaLocation":203},"https://handbook.gitlab.com/","handbook",{"text":498,"config":499},"Investor relations",{"href":500,"dataGaName":501,"dataGaLocation":203},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":503,"config":504},"Trust Center",{"href":505,"dataGaName":506,"dataGaLocation":203},"/security/","trust center",{"text":508,"config":509},"AI Transparency Center",{"href":510,"dataGaName":511,"dataGaLocation":203},"/ai-transparency-center/","ai transparency center",{"text":513,"config":514},"Newsletter",{"href":515,"dataGaName":516,"dataGaLocation":203},"/company/contact/#contact-forms","newsletter",{"text":518,"config":519},"Press",{"href":520,"dataGaName":521,"dataGaLocation":203},"/press/","press",{"text":523,"config":524,"menu":525},"Contact us",{"dataNavLevelOne":469},{"type":254,"columns":526},[527],{"items":528},[529,534,539],{"text":530,"config":531},"Talk to sales",{"href":532,"dataGaName":533,"dataGaLocation":203},"/sales/","talk to sales",{"text":535,"config":536},"Support portal",{"href":537,"dataGaName":538,"dataGaLocation":203},"https://support.gitlab.com/hc/en-us","support portal",{"text":540,"config":541},"Customer portal",{"href":542,"dataGaName":543,"dataGaLocation":203},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":545,"login":546,"suggestions":553},"Close",{"text":547,"link":548},"To search repositories and projects, login to",{"text":549,"config":550},"gitlab.com",{"href":217,"dataGaName":551,"dataGaLocation":552},"search login","search",{"text":554,"default":555},"Suggestions",[556,558,562,564,568,572],{"text":234,"config":557},{"href":239,"dataGaName":234,"dataGaLocation":552},{"text":559,"config":560},"Code Suggestions (AI)",{"href":561,"dataGaName":559,"dataGaLocation":552},"/solutions/code-suggestions/",{"text":270,"config":563},{"href":272,"dataGaName":270,"dataGaLocation":552},{"text":565,"config":566},"GitLab on AWS",{"href":567,"dataGaName":565,"dataGaLocation":552},"/partners/technology-partners/aws/",{"text":569,"config":570},"GitLab on Google Cloud",{"href":571,"dataGaName":569,"dataGaLocation":552},"/partners/technology-partners/google-cloud-platform/",{"text":573,"config":574},"Why GitLab?",{"href":247,"dataGaName":573,"dataGaLocation":552},{"freeTrial":576,"mobileIcon":581,"desktopIcon":586,"secondaryButton":589},{"text":577,"config":578},"Start free trial",{"href":579,"dataGaName":208,"dataGaLocation":580},"https://gitlab.com/-/trials/new/","nav",{"altText":582,"config":583},"Gitlab Icon",{"src":584,"dataGaName":585,"dataGaLocation":580},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":582,"config":587},{"src":588,"dataGaName":585,"dataGaLocation":580},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":590,"config":591},"Get Started",{"href":592,"dataGaName":593,"dataGaLocation":580},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":595,"mobileIcon":599,"desktopIcon":601},{"text":596,"config":597},"Learn more about GitLab Duo",{"href":239,"dataGaName":598,"dataGaLocation":580},"gitlab duo",{"altText":582,"config":600},{"src":584,"dataGaName":585,"dataGaLocation":580},{"altText":582,"config":602},{"src":588,"dataGaName":585,"dataGaLocation":580},{"button":604,"mobileIcon":609,"desktopIcon":611},{"text":605,"config":606},"/switch",{"href":607,"dataGaName":608,"dataGaLocation":580},"#contact","switch",{"altText":582,"config":610},{"src":584,"dataGaName":585,"dataGaLocation":580},{"altText":582,"config":612},{"src":613,"dataGaName":585,"dataGaLocation":580},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":615,"mobileIcon":620,"desktopIcon":622},{"text":616,"config":617},"Back to pricing",{"href":352,"dataGaName":618,"dataGaLocation":580,"icon":619},"back to pricing","GoBack",{"altText":582,"config":621},{"src":584,"dataGaName":585,"dataGaLocation":580},{"altText":582,"config":623},{"src":588,"dataGaName":585,"dataGaLocation":580},{"title":625,"titleMobile":626,"button":627,"config":632},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":245,"config":628},{"href":629,"dataGaName":630,"dataGaLocation":631},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":633,"disabled":181},"release",{"data":635},{"text":636,"source":637,"edit":643,"contribute":648,"config":653,"items":658,"minimal":867},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":638,"config":639},"View page source",{"href":640,"dataGaName":641,"dataGaLocation":642},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":644,"config":645},"Edit this page",{"href":646,"dataGaName":647,"dataGaLocation":642},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":649,"config":650},"Please contribute",{"href":651,"dataGaName":652,"dataGaLocation":642},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":654,"facebook":655,"youtube":656,"linkedin":657},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[659,706,759,803,835],{"title":350,"links":660,"subMenu":675},[661,665,670],{"text":662,"config":663},"View plans",{"href":352,"dataGaName":664,"dataGaLocation":642},"view plans",{"text":666,"config":667},"Why Premium?",{"href":668,"dataGaName":669,"dataGaLocation":642},"/pricing/premium/","why premium",{"text":671,"config":672},"Why Ultimate?",{"href":673,"dataGaName":674,"dataGaLocation":642},"/pricing/ultimate/","why ultimate",[676],{"title":677,"links":678},"Contact Us",[679,682,684,686,691,696,701],{"text":680,"config":681},"Contact sales",{"href":532,"dataGaName":213,"dataGaLocation":642},{"text":535,"config":683},{"href":537,"dataGaName":538,"dataGaLocation":642},{"text":540,"config":685},{"href":542,"dataGaName":543,"dataGaLocation":642},{"text":687,"config":688},"Status",{"href":689,"dataGaName":690,"dataGaLocation":642},"https://status.gitlab.com/","status",{"text":692,"config":693},"Terms of use",{"href":694,"dataGaName":695,"dataGaLocation":642},"/terms/","terms of use",{"text":697,"config":698},"Privacy statement",{"href":699,"dataGaName":700,"dataGaLocation":642},"/privacy/","privacy statement",{"text":702,"config":703},"Cookie preferences",{"dataGaName":704,"dataGaLocation":642,"id":705,"isOneTrustButton":184},"cookie preferences","ot-sdk-btn",{"title":250,"links":707,"subMenu":716},[708,712],{"text":709,"config":710},"DevSecOps platform",{"href":232,"dataGaName":711,"dataGaLocation":642},"devsecops platform",{"text":713,"config":714},"AI-Assisted Development",{"href":239,"dataGaName":715,"dataGaLocation":642},"ai-assisted development",[717],{"title":718,"links":719},"Topics",[720,725,730,734,739,744,749,754],{"text":721,"config":722},"CICD",{"href":723,"dataGaName":724,"dataGaLocation":642},"/topics/ci-cd/","cicd",{"text":726,"config":727},"GitOps",{"href":728,"dataGaName":729,"dataGaLocation":642},"/topics/gitops/","gitops",{"text":195,"config":731},{"href":732,"dataGaName":733,"dataGaLocation":642},"/topics/devops/","devops",{"text":735,"config":736},"Version Control",{"href":737,"dataGaName":738,"dataGaLocation":642},"/topics/version-control/","version control",{"text":740,"config":741},"DevSecOps",{"href":742,"dataGaName":743,"dataGaLocation":642},"/topics/devsecops/","devsecops",{"text":745,"config":746},"Cloud Native",{"href":747,"dataGaName":748,"dataGaLocation":642},"/topics/cloud-native/","cloud native",{"text":750,"config":751},"AI for Coding",{"href":752,"dataGaName":753,"dataGaLocation":642},"/topics/devops/ai-for-coding/","ai for coding",{"text":755,"config":756},"Agentic AI",{"href":757,"dataGaName":758,"dataGaLocation":642},"/topics/agentic-ai/","agentic ai",{"title":760,"links":761},"Solutions",[762,764,766,771,775,778,782,785,787,790,793,798],{"text":294,"config":763},{"href":289,"dataGaName":294,"dataGaLocation":642},{"text":283,"config":765},{"href":266,"dataGaName":267,"dataGaLocation":642},{"text":767,"config":768},"Agile development",{"href":769,"dataGaName":770,"dataGaLocation":642},"/solutions/agile-delivery/","agile delivery",{"text":772,"config":773},"SCM",{"href":279,"dataGaName":774,"dataGaLocation":642},"source code management",{"text":721,"config":776},{"href":272,"dataGaName":777,"dataGaLocation":642},"continuous integration & delivery",{"text":779,"config":780},"Value stream management",{"href":322,"dataGaName":781,"dataGaLocation":642},"value stream management",{"text":726,"config":783},{"href":784,"dataGaName":729,"dataGaLocation":642},"/solutions/gitops/",{"text":332,"config":786},{"href":335,"dataGaName":336,"dataGaLocation":642},{"text":788,"config":789},"Small business",{"href":341,"dataGaName":342,"dataGaLocation":642},{"text":791,"config":792},"Public sector",{"href":347,"dataGaName":348,"dataGaLocation":642},{"text":794,"config":795},"Education",{"href":796,"dataGaName":797,"dataGaLocation":642},"/solutions/education/","education",{"text":799,"config":800},"Financial services",{"href":801,"dataGaName":802,"dataGaLocation":642},"/solutions/finance/","financial services",{"title":355,"links":804},[805,807,809,811,814,816,819,821,823,825,827,829,831,833],{"text":367,"config":806},{"href":369,"dataGaName":370,"dataGaLocation":642},{"text":372,"config":808},{"href":374,"dataGaName":375,"dataGaLocation":642},{"text":377,"config":810},{"href":379,"dataGaName":380,"dataGaLocation":642},{"text":382,"config":812},{"href":384,"dataGaName":813,"dataGaLocation":642},"docs",{"text":404,"config":815},{"href":406,"dataGaName":407,"dataGaLocation":642},{"text":817,"config":818},"What's new",{"href":464,"dataGaName":465,"dataGaLocation":642},{"text":399,"config":820},{"href":401,"dataGaName":402,"dataGaLocation":642},{"text":418,"config":822},{"href":420,"dataGaName":421,"dataGaLocation":642},{"text":426,"config":824},{"href":428,"dataGaName":429,"dataGaLocation":642},{"text":431,"config":826},{"href":433,"dataGaName":434,"dataGaLocation":642},{"text":436,"config":828},{"href":438,"dataGaName":439,"dataGaLocation":642},{"text":441,"config":830},{"href":443,"dataGaName":444,"dataGaLocation":642},{"text":446,"config":832},{"href":448,"dataGaName":449,"dataGaLocation":642},{"text":451,"config":834},{"href":453,"dataGaName":454,"dataGaLocation":642},{"title":467,"links":836},[837,839,841,843,845,847,851,856,858,860,862],{"text":475,"config":838},{"href":477,"dataGaName":469,"dataGaLocation":642},{"text":480,"config":840},{"href":482,"dataGaName":483,"dataGaLocation":642},{"text":488,"config":842},{"href":490,"dataGaName":491,"dataGaLocation":642},{"text":493,"config":844},{"href":495,"dataGaName":496,"dataGaLocation":642},{"text":498,"config":846},{"href":500,"dataGaName":501,"dataGaLocation":642},{"text":848,"config":849},"Sustainability",{"href":850,"dataGaName":848,"dataGaLocation":642},"/sustainability/",{"text":852,"config":853},"Diversity, inclusion and belonging (DIB)",{"href":854,"dataGaName":855,"dataGaLocation":642},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":503,"config":857},{"href":505,"dataGaName":506,"dataGaLocation":642},{"text":513,"config":859},{"href":515,"dataGaName":516,"dataGaLocation":642},{"text":518,"config":861},{"href":520,"dataGaName":521,"dataGaLocation":642},{"text":863,"config":864},"Modern Slavery Transparency Statement",{"href":865,"dataGaName":866,"dataGaLocation":642},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":868},[869,872,875],{"text":870,"config":871},"Terms",{"href":694,"dataGaName":695,"dataGaLocation":642},{"text":873,"config":874},"Cookies",{"dataGaName":704,"dataGaLocation":642,"id":705,"isOneTrustButton":184},{"text":876,"config":877},"Privacy",{"href":699,"dataGaName":700,"dataGaLocation":642},[879,893,904],{"id":880,"title":7,"body":180,"config":881,"content":883,"description":180,"extension":887,"meta":888,"navigation":184,"path":889,"seo":890,"stem":891,"__hash__":892},"blogAuthors/en-us/blog/authors/quan-to.yml",{"template":882},"BlogAuthor",{"name":7,"config":884},{"headshot":885,"ctfId":886},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","5dswLnpCobgICjM0RpHMU2","yml",{},"/en-us/blog/authors/quan-to",{},"en-us/blog/authors/quan-to","4n4910gjnz-iNExG4WTXaqRPWjxkbDpreNx5BFux9nc",{"id":894,"title":8,"body":180,"config":895,"content":896,"description":180,"extension":887,"meta":899,"navigation":184,"path":900,"seo":901,"stem":902,"__hash__":903},"blogAuthors/en-us/blog/authors/jeremy-cooper.yml",{"template":882},{"name":8,"config":897},{"headshot":885,"ctfId":898},"6sXs62l8jODDcUlS9OPgTu",{},"/en-us/blog/authors/jeremy-cooper",{},"en-us/blog/authors/jeremy-cooper","_dLMQkagLvmt7_SMFMS2aSXi0JW7gxoAeh9LUWH87ZI",{"id":905,"title":9,"body":180,"config":906,"content":907,"description":180,"extension":887,"meta":910,"navigation":184,"path":911,"seo":912,"stem":913,"__hash__":914},"blogAuthors/en-us/blog/authors/ian-bartholomew.yml",{"template":882},{"name":9,"config":908},{"headshot":885,"ctfId":909},"7D4PE43CXfi8pgOSCmipH0",{},"/en-us/blog/authors/ian-bartholomew",{},"en-us/blog/authors/ian-bartholomew","1OkGdpTdMUr-5whkyS_KCnOraV-8u72optYAVIkIu3A",[916,924,931],{"title":917,"description":918,"heroImage":919,"category":176,"date":920,"authors":921,"slug":923,"externalUrl":180},"GitLab named a Leader in the 2026 Gartner® Magic Quadrant™ for DevSecOps Platforms","Agents made coding fast. GitLab is the Intelligent Orchestration Platform for DevSecOps that brings speed with control for the rest of the software lifecycle.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-06-17",[922],"Manav Khurana","gitlab-leader-2026-gartner-mq-devsecops-platforms",{"title":925,"description":926,"heroImage":927,"category":176,"date":920,"authors":928,"slug":930,"externalUrl":180},"GitLab and Capgemini accelerate DevSecOps transformation","The global alliance helps organizations modernize software delivery, secure their supply chain, and bring AI into development workflows.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781279411/n3pkmddd2eswa8qbu06z.png",[929],"Alex Picker","gitlab-and-capgemini-global-alliance-partnership",{"title":932,"description":933,"heroImage":934,"category":176,"date":920,"authors":935,"slug":936,"externalUrl":180},"Introducing the 2026 EMEA GitLab Partner Award winners","Learn about the EMEA partners who made an outstanding impact over the past year.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781608381/biycl2ib2kpsbspjlac7.png",[929],"2026-emea-gitlab-partner-awards",{"promotions":938},[939,953,965,977],{"id":940,"categories":941,"header":943,"text":944,"button":945,"image":950},"ai-modernization",[942],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":946,"config":947},"Get your AI maturity score",{"href":948,"dataGaName":949,"dataGaLocation":407},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":951},{"src":952},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":954,"categories":955,"header":957,"text":944,"button":958,"image":962},"devops-modernization",[956,743],"product","Are you just managing tools or shipping innovation?",{"text":959,"config":960},"Get your DevOps maturity score",{"href":961,"dataGaName":949,"dataGaLocation":407},"/assessments/devops-modernization-assessment/",{"config":963},{"src":964},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":966,"categories":967,"header":969,"text":944,"button":970,"image":974},"security-modernization",[968],"security","Are you trading speed for security?",{"text":971,"config":972},"Get your security maturity score",{"href":973,"dataGaName":949,"dataGaLocation":407},"/assessments/security-modernization-assessment/",{"config":975},{"src":976},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":978,"paths":979,"header":982,"text":983,"button":984,"image":989},"github-azure-migration",[980,981],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":985,"config":986},"See how GitLab compares to GitHub",{"href":987,"dataGaName":988,"dataGaLocation":407},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":990},{"src":964},{"header":992,"blurb":993,"button":994,"secondaryButton":999},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":995,"config":996},"Get your free trial",{"href":997,"dataGaName":208,"dataGaLocation":998},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":680,"config":1000},{"href":532,"dataGaName":213,"dataGaLocation":998},1786803759115]