[{"data":1,"prerenderedAt":947},["ShallowReactive",2],{"/blog/crowdin-localization-for-agile-projects":3,"navigation-en-us":160,"banner-en-us":587,"footer-en-us":597,"blog-post-authors-en-us-Khrystyna Humenna":842,"blog-related-posts-en-us-crowdin-localization-for-agile-projects":857,"blog-promotions-en-us":883,"next-steps-en-us":937},{"id":4,"title":5,"authors":6,"body":8,"category":136,"date":137,"description":138,"extension":139,"externalUrl":140,"faq":140,"featured":141,"heroImage":142,"meta":143,"navigation":148,"path":149,"seo":150,"slug":154,"stem":155,"tags":156,"template":158,"updatedDate":140,"__hash__":159},"blogPosts/en-us/blog/crowdin-localization-for-agile-projects.md","Automate your localization with GitLab + Crowdin",[7],"Khrystyna Humenna",{"type":9,"value":10,"toc":122},"minimark",[11,15,18,23,26,31,41,44,53,59,68,72,75,78,82,89,93,97,100,104,107,111,114],[12,13,14],"p",{},"When developing products like web apps, games, and alike, you have to face the fact that you enter the international market the moment your product is first mentioned on the web. Once you decide to promote your product internationally and expand its reach, you should add localization to your workflow. Crowdin's integration with GitLab means you can seamlessly automate your localization process.",[12,16,17],{},"A developer needs roughly 15 minutes to add some new texts. If a product is to be translated into, let’s say, 10 languages, the deployment is delayed for at least a week, as after the code is built, translators need time to make the translations. If several developers work on the product updates simultaneously, translations for those would delay each deployment even more. In this scenario, any team is quite unlikely to stay Agile.",[19,20,22],"h2",{"id":21},"do-localization-in-an-agile-way-with-the-gitlab-crowdin-integration","Do localization in an Agile way with the GitLab + Crowdin integration",[12,24,25],{},"To be able to constantly ship minimum viable changes, localization should be a part of the development process. Crowdin is a localization management platform that completes your workflow by synchronizing translatable and translated files between your GitLab repository and your Crowdin localization project. This way multiple translators and developers can work simultaneously to deliver great results in less time.",[27,28,30],"h3",{"id":29},"integrate-crowdin-with-your-repository","Integrate Crowdin with your repository",[12,32,33,34,40],{},"First of all, log into ",[35,36,39],"a",{"href":37,"rel":38},"https://crowdin.com/",[],"crowdin.com"," (you can use your GitLab account for this as well), then create a localization project or integrate an existing one. In the Crowdin project settings, you will be able to set up this integration and define whether the translatable texts should be uploaded to Crowdin from the master branch or from the development branches.",[12,42,43],{},"Then select the file path for translations, as once they are made in Crowdin, they will be automatically added to your GitLab repository in a merge request. Each time the automatic file sync is completed the merge request in GitLab will be updated with new translations, or a new merge request will be created if the previous one was already merged.",[12,45,46,47,52],{},"This allows you to review translations before merging them to master and receive up-to-date translations in a few minutes after they are made, as the file sync is completed automatically. Read more details on ",[35,48,51],{"href":49,"rel":50},"https://support.crowdin.com/gitlab-integration/",[],"how to set up the GitLab + Crowdin integration",".",[54,55],"img",{"src":56,"alt":57,"style":58},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398438/blog/Content%20Images/gitlab_crowdin_integration.png","GitLab Crowdin integration","width: 700px;",[12,60,61],{},[62,63,64],"em",{},[65,66,67],"small",{},"A view of the integration with GitLab in Crowdin during automated synchronization.",[27,69,71],{"id":70},"work-with-agile-translators","Work with Agile translators",[12,73,74],{},"Whether you decide to translate your project with the help of in-house translators or a translation agency, they should be Agile so they can make translations of different scope at any time, not just one project at a time.",[12,76,77],{},"Crowdin project notification settings allow you to notify translators and other project members every time new texts are added to the project. This way they’ll be able to start making translations once new texts are synchronized with a project in Crowdin. You in your turn will be able to keep an eye on their contributions and overall project activity using Crowdin project reports.",[54,79],{"src":80,"alt":81,"style":58},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398133/blog/Content%20Images/crowdin_project_reports.png","Crowdin project reports",[12,83,84],{},[62,85,86],{},[65,87,88],{},"Use project reports in Crowdin to easily track the main activities such as translations and approvals.",[19,90,92],{"id":91},"key-points-to-remember-about-localization","Key points to remember about localization",[27,94,96],{"id":95},"localization-is-a-continuous-process","Localization is a continuous process",[12,98,99],{},"If your product changes and evolves often you should keep the localized versions up to date as well. Each time you add some new functionality, scheduled update, or a small change, the new texts should be localized as well.",[27,101,103],{"id":102},"the-products-ui-should-be-flexible","The product’s UI should be flexible",[12,105,106],{},"Make sure to use responsive design, as the same phrase in different languages might take up more or less space than the primary language of your product.",[27,108,110],{"id":109},"consistency-is-important","Consistency is important",[12,112,113],{},"Creating a style guide, glossary, and using a Translation Memory is a great idea if you want to speed up the translation process and receive consistent translations at the same time.",[12,115,116,117],{},"Crowdin comes with a free 10-day trial and is free of charge for open source projects. ",[35,118,121],{"href":119,"rel":120},"https://crowdin.com/join",[],"Give it a try!",{"title":123,"searchDepth":124,"depth":124,"links":125},"",2,[126,131],{"id":21,"depth":124,"text":22,"children":127},[128,130],{"id":29,"depth":129,"text":30},3,{"id":70,"depth":129,"text":71},{"id":91,"depth":124,"text":92,"children":132},[133,134,135],{"id":95,"depth":129,"text":96},{"id":102,"depth":129,"text":103},{"id":109,"depth":129,"text":110},"engineering","2018-02-06","Complete your development workflow by integrating GitLab with Crowdin to help your product speak the same language as the people it’s built for.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680247/Blog/Hero%20Images/gitlab-crowdin-cover.png",{"excerpt":144},{"type":9,"value":145},[146],[12,147,14],{},true,"/en-us/blog/crowdin-localization-for-agile-projects",{"title":5,"description":138,"ogTitle":5,"ogDescription":138,"noIndex":141,"ogImage":142,"ogUrl":151,"ogSiteName":152,"ogType":153,"canonicalUrls":151},"https://about.gitlab.com/blog/crowdin-localization-for-agile-projects","https://about.gitlab.com","article","crowdin-localization-for-agile-projects","en-us/blog/crowdin-localization-for-agile-projects",[157],"integrations","BlogPost","5iKLquThotq8Ml58sPwB-UYA43ciBphIuuZ16VFYWtA",{"logo":161,"freeTrial":166,"sales":171,"login":176,"items":181,"search":507,"minimal":538,"duo":557,"switchNav":566,"pricingDeployment":577},{"config":162},{"href":163,"dataGaName":164,"dataGaLocation":165},"/","gitlab logo","header",{"text":167,"config":168},"Get free trial",{"href":169,"dataGaName":170,"dataGaLocation":165},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":172,"config":173},"Request a demo",{"href":174,"dataGaName":175,"dataGaLocation":165},"/sales/?contact-topic=request-demo","sales",{"text":177,"config":178},"Sign in",{"href":179,"dataGaName":180,"dataGaLocation":165},"https://gitlab.com/users/sign_in/","sign in",[182,211,311,316,429,485],{"text":183,"config":184,"menu":186},"Platform",{"dataNavLevelOne":185},"platform",{"type":187,"columns":188},"cards",[189,195,203],{"title":183,"description":190,"link":191},"The intelligent orchestration platform for DevSecOps",{"text":192,"config":193},"Explore our Platform",{"href":194,"dataGaName":185,"dataGaLocation":165},"/platform/",{"title":196,"description":197,"link":198},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":199,"config":200},"Meet GitLab Duo",{"href":201,"dataGaName":202,"dataGaLocation":165},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":204,"description":205,"link":206},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":207,"config":208},"Learn more",{"href":209,"dataGaName":210,"dataGaLocation":165},"/why-gitlab/","why gitlab",{"text":212,"left":148,"config":213,"menu":215},"Product",{"dataNavLevelOne":214},"solutions",{"type":216,"link":217,"columns":221,"feature":290},"lists",{"text":218,"config":219},"View all Solutions",{"href":220,"dataGaName":214,"dataGaLocation":165},"/solutions/",[222,246,269],{"title":223,"description":224,"link":225,"items":230},"Automation","CI/CD and automation to accelerate deployment",{"config":226},{"icon":227,"href":228,"dataGaName":229,"dataGaLocation":165},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[231,235,238,242],{"text":232,"config":233},"CI/CD",{"href":234,"dataGaLocation":165,"dataGaName":232},"/solutions/continuous-integration/",{"text":196,"config":236},{"href":201,"dataGaLocation":165,"dataGaName":237},"gitlab duo agent platform - product menu",{"text":239,"config":240},"Source Code Management",{"href":241,"dataGaLocation":165,"dataGaName":239},"/solutions/source-code-management/",{"text":243,"config":244},"Automated Software Delivery",{"href":228,"dataGaLocation":165,"dataGaName":245},"Automated software delivery",{"title":247,"description":248,"link":249,"items":254},"Security","Deliver code faster without compromising security",{"config":250},{"href":251,"dataGaName":252,"dataGaLocation":165,"icon":253},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[255,259,264],{"text":256,"config":257},"Application Security Testing",{"href":251,"dataGaName":258,"dataGaLocation":165},"Application security testing",{"text":260,"config":261},"Software Supply Chain Security",{"href":262,"dataGaLocation":165,"dataGaName":263},"/solutions/supply-chain/","Software supply chain security",{"text":265,"config":266},"Software Compliance",{"href":267,"dataGaName":268,"dataGaLocation":165},"/solutions/software-compliance/","software compliance",{"title":270,"link":271,"items":276},"Measurement",{"config":272},{"icon":273,"href":274,"dataGaName":275,"dataGaLocation":165},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[277,281,285],{"text":278,"config":279},"Visibility & Measurement",{"href":274,"dataGaLocation":165,"dataGaName":280},"Visibility and Measurement",{"text":282,"config":283},"Value Stream Management",{"href":284,"dataGaLocation":165,"dataGaName":282},"/solutions/value-stream-management/",{"text":286,"config":287},"Analytics & Insights",{"href":288,"dataGaLocation":165,"dataGaName":289},"/solutions/analytics-and-insights/","Analytics and insights",{"title":291,"type":216,"items":292},"GitLab for",[293,299,305],{"text":294,"config":295},"Enterprise",{"icon":296,"href":297,"dataGaLocation":165,"dataGaName":298},"Building","/enterprise/","enterprise",{"text":300,"config":301},"Small Business",{"icon":302,"href":303,"dataGaLocation":165,"dataGaName":304},"Work","/small-business/","small business",{"text":306,"config":307},"Public Sector",{"icon":308,"href":309,"dataGaLocation":165,"dataGaName":310},"Organization","/solutions/public-sector/","public sector",{"text":312,"config":313},"Pricing",{"href":314,"dataGaName":315,"dataGaLocation":165,"dataNavLevelOne":315},"/pricing/","pricing",{"text":317,"config":318,"menu":320},"Resources",{"dataNavLevelOne":319},"resources",{"type":216,"link":321,"columns":325,"feature":418},{"text":322,"config":323},"View all resources",{"href":324,"dataGaName":319,"dataGaLocation":165},"/resources/",[326,358,385],{"title":327,"items":328},"Getting started",[329,334,339,344,349,354],{"text":330,"config":331},"Install",{"href":332,"dataGaName":333,"dataGaLocation":165},"/install/","install",{"text":335,"config":336},"Quick start guides",{"href":337,"dataGaName":338,"dataGaLocation":165},"/get-started/","quick setup checklists",{"text":340,"config":341},"Learn",{"href":342,"dataGaLocation":165,"dataGaName":343},"https://university.gitlab.com/","learn",{"text":345,"config":346},"Product documentation",{"href":347,"dataGaName":348,"dataGaLocation":165},"https://docs.gitlab.com/","product documentation",{"text":350,"config":351},"Best practice videos",{"href":352,"dataGaName":353,"dataGaLocation":165},"/getting-started-videos/","best practice videos",{"text":355,"config":356},"Integrations",{"href":357,"dataGaName":157,"dataGaLocation":165},"/integrations/",{"title":359,"items":360},"Discover",[361,366,371,376,380],{"text":362,"config":363},"Customer success stories",{"href":364,"dataGaName":365,"dataGaLocation":165},"/customers/","customer success stories",{"text":367,"config":368},"Blog",{"href":369,"dataGaName":370,"dataGaLocation":165},"/blog/","blog",{"text":372,"config":373},"Demo Hub",{"href":374,"dataGaName":375,"dataGaLocation":165},"/demo-hub/","demo hub",{"text":377,"config":378},"The Source",{"href":379,"dataGaName":370,"dataGaLocation":165},"/the-source/",{"text":381,"config":382},"Remote",{"href":383,"dataGaName":384,"dataGaLocation":165},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":386,"items":387},"Connect",[388,393,398,403,408,413],{"text":389,"config":390},"GitLab Services",{"href":391,"dataGaName":392,"dataGaLocation":165},"/services/","services",{"text":394,"config":395},"Contribute",{"href":396,"dataGaName":397,"dataGaLocation":165},"https://contributors.gitlab.com","contribute",{"text":399,"config":400},"Community",{"href":401,"dataGaName":402,"dataGaLocation":165},"/community/","community",{"text":404,"config":405},"Forum",{"href":406,"dataGaName":407,"dataGaLocation":165},"https://forum.gitlab.com/","forum",{"text":409,"config":410},"Events",{"href":411,"dataGaName":412,"dataGaLocation":165},"/events/","events",{"text":414,"config":415},"Partners",{"href":416,"dataGaName":417,"dataGaLocation":165},"/partners/","partners",{"config":419,"title":422,"text":423,"link":424},{"background":420,"textColor":421},"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":425,"config":426},"Read the latest",{"href":427,"dataGaName":428,"dataGaLocation":165},"/whats-new/","whats new",{"text":430,"config":431,"menu":433},"Company",{"dataNavLevelOne":432},"company",{"type":216,"columns":434},[435],{"items":436},[437,442,448,450,455,460,465,470,475,480],{"text":438,"config":439},"About",{"href":440,"dataGaName":441,"dataGaLocation":165},"/company/","about",{"text":443,"config":444,"footerGa":447},"Jobs",{"href":445,"dataGaName":446,"dataGaLocation":165},"/jobs/","jobs",{"dataGaName":446},{"text":409,"config":449},{"href":411,"dataGaName":412,"dataGaLocation":165},{"text":451,"config":452},"Leadership",{"href":453,"dataGaName":454,"dataGaLocation":165},"/company/team/e-group/","leadership",{"text":456,"config":457},"Handbook",{"href":458,"dataGaName":459,"dataGaLocation":165},"https://handbook.gitlab.com/","handbook",{"text":461,"config":462},"Investor relations",{"href":463,"dataGaName":464,"dataGaLocation":165},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":466,"config":467},"Trust Center",{"href":468,"dataGaName":469,"dataGaLocation":165},"/security/","trust center",{"text":471,"config":472},"AI Transparency Center",{"href":473,"dataGaName":474,"dataGaLocation":165},"/ai-transparency-center/","ai transparency center",{"text":476,"config":477},"Newsletter",{"href":478,"dataGaName":479,"dataGaLocation":165},"/company/contact/#contact-forms","newsletter",{"text":481,"config":482},"Press",{"href":483,"dataGaName":484,"dataGaLocation":165},"/press/","press",{"text":486,"config":487,"menu":488},"Contact us",{"dataNavLevelOne":432},{"type":216,"columns":489},[490],{"items":491},[492,497,502],{"text":493,"config":494},"Talk to sales",{"href":495,"dataGaName":496,"dataGaLocation":165},"/sales/","talk to sales",{"text":498,"config":499},"Support portal",{"href":500,"dataGaName":501,"dataGaLocation":165},"https://support.gitlab.com/hc/en-us","support portal",{"text":503,"config":504},"Customer portal",{"href":505,"dataGaName":506,"dataGaLocation":165},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":508,"login":509,"suggestions":516},"Close",{"text":510,"link":511},"To search repositories and projects, login to",{"text":512,"config":513},"gitlab.com",{"href":179,"dataGaName":514,"dataGaLocation":515},"search login","search",{"text":517,"default":518},"Suggestions",[519,521,525,527,531,535],{"text":196,"config":520},{"href":201,"dataGaName":196,"dataGaLocation":515},{"text":522,"config":523},"Code Suggestions (AI)",{"href":524,"dataGaName":522,"dataGaLocation":515},"/solutions/code-suggestions/",{"text":232,"config":526},{"href":234,"dataGaName":232,"dataGaLocation":515},{"text":528,"config":529},"GitLab on AWS",{"href":530,"dataGaName":528,"dataGaLocation":515},"/partners/technology-partners/aws/",{"text":532,"config":533},"GitLab on Google Cloud",{"href":534,"dataGaName":532,"dataGaLocation":515},"/partners/technology-partners/google-cloud-platform/",{"text":536,"config":537},"Why GitLab?",{"href":209,"dataGaName":536,"dataGaLocation":515},{"freeTrial":539,"mobileIcon":544,"desktopIcon":549,"secondaryButton":552},{"text":540,"config":541},"Start free trial",{"href":542,"dataGaName":170,"dataGaLocation":543},"https://gitlab.com/-/trials/new/","nav",{"altText":545,"config":546},"Gitlab Icon",{"src":547,"dataGaName":548,"dataGaLocation":543},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":545,"config":550},{"src":551,"dataGaName":548,"dataGaLocation":543},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":553,"config":554},"Get Started",{"href":555,"dataGaName":556,"dataGaLocation":543},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":558,"mobileIcon":562,"desktopIcon":564},{"text":559,"config":560},"Learn more about GitLab Duo",{"href":201,"dataGaName":561,"dataGaLocation":543},"gitlab duo",{"altText":545,"config":563},{"src":547,"dataGaName":548,"dataGaLocation":543},{"altText":545,"config":565},{"src":551,"dataGaName":548,"dataGaLocation":543},{"button":567,"mobileIcon":572,"desktopIcon":574},{"text":568,"config":569},"/switch",{"href":570,"dataGaName":571,"dataGaLocation":543},"#contact","switch",{"altText":545,"config":573},{"src":547,"dataGaName":548,"dataGaLocation":543},{"altText":545,"config":575},{"src":576,"dataGaName":548,"dataGaLocation":543},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":578,"mobileIcon":583,"desktopIcon":585},{"text":579,"config":580},"Back to pricing",{"href":314,"dataGaName":581,"dataGaLocation":543,"icon":582},"back to pricing","GoBack",{"altText":545,"config":584},{"src":547,"dataGaName":548,"dataGaLocation":543},{"altText":545,"config":586},{"src":551,"dataGaName":548,"dataGaLocation":543},{"title":588,"titleMobile":589,"button":590,"config":595},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":207,"config":591},{"href":592,"dataGaName":593,"dataGaLocation":594},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":596,"disabled":141},"release",{"data":598},{"text":599,"source":600,"edit":606,"contribute":611,"config":616,"items":621,"minimal":831},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":601,"config":602},"View page source",{"href":603,"dataGaName":604,"dataGaLocation":605},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":607,"config":608},"Edit this page",{"href":609,"dataGaName":610,"dataGaLocation":605},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":612,"config":613},"Please contribute",{"href":614,"dataGaName":615,"dataGaLocation":605},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":617,"facebook":618,"youtube":619,"linkedin":620},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[622,669,723,767,799],{"title":312,"links":623,"subMenu":638},[624,628,633],{"text":625,"config":626},"View plans",{"href":314,"dataGaName":627,"dataGaLocation":605},"view plans",{"text":629,"config":630},"Why Premium?",{"href":631,"dataGaName":632,"dataGaLocation":605},"/pricing/premium/","why premium",{"text":634,"config":635},"Why Ultimate?",{"href":636,"dataGaName":637,"dataGaLocation":605},"/pricing/ultimate/","why ultimate",[639],{"title":640,"links":641},"Contact Us",[642,645,647,649,654,659,664],{"text":643,"config":644},"Contact sales",{"href":495,"dataGaName":175,"dataGaLocation":605},{"text":498,"config":646},{"href":500,"dataGaName":501,"dataGaLocation":605},{"text":503,"config":648},{"href":505,"dataGaName":506,"dataGaLocation":605},{"text":650,"config":651},"Status",{"href":652,"dataGaName":653,"dataGaLocation":605},"https://status.gitlab.com/","status",{"text":655,"config":656},"Terms of use",{"href":657,"dataGaName":658,"dataGaLocation":605},"/terms/","terms of use",{"text":660,"config":661},"Privacy statement",{"href":662,"dataGaName":663,"dataGaLocation":605},"/privacy/","privacy statement",{"text":665,"config":666},"Cookie preferences",{"dataGaName":667,"dataGaLocation":605,"id":668,"isOneTrustButton":148},"cookie preferences","ot-sdk-btn",{"title":212,"links":670,"subMenu":679},[671,675],{"text":672,"config":673},"DevSecOps platform",{"href":194,"dataGaName":674,"dataGaLocation":605},"devsecops platform",{"text":676,"config":677},"AI-Assisted Development",{"href":201,"dataGaName":678,"dataGaLocation":605},"ai-assisted development",[680],{"title":681,"links":682},"Topics",[683,688,693,698,703,708,713,718],{"text":684,"config":685},"CICD",{"href":686,"dataGaName":687,"dataGaLocation":605},"/topics/ci-cd/","cicd",{"text":689,"config":690},"GitOps",{"href":691,"dataGaName":692,"dataGaLocation":605},"/topics/gitops/","gitops",{"text":694,"config":695},"DevOps",{"href":696,"dataGaName":697,"dataGaLocation":605},"/topics/devops/","devops",{"text":699,"config":700},"Version Control",{"href":701,"dataGaName":702,"dataGaLocation":605},"/topics/version-control/","version control",{"text":704,"config":705},"DevSecOps",{"href":706,"dataGaName":707,"dataGaLocation":605},"/topics/devsecops/","devsecops",{"text":709,"config":710},"Cloud Native",{"href":711,"dataGaName":712,"dataGaLocation":605},"/topics/cloud-native/","cloud native",{"text":714,"config":715},"AI for Coding",{"href":716,"dataGaName":717,"dataGaLocation":605},"/topics/devops/ai-for-coding/","ai for coding",{"text":719,"config":720},"Agentic AI",{"href":721,"dataGaName":722,"dataGaLocation":605},"/topics/agentic-ai/","agentic ai",{"title":724,"links":725},"Solutions",[726,728,730,735,739,742,746,749,751,754,757,762],{"text":256,"config":727},{"href":251,"dataGaName":256,"dataGaLocation":605},{"text":245,"config":729},{"href":228,"dataGaName":229,"dataGaLocation":605},{"text":731,"config":732},"Agile development",{"href":733,"dataGaName":734,"dataGaLocation":605},"/solutions/agile-delivery/","agile delivery",{"text":736,"config":737},"SCM",{"href":241,"dataGaName":738,"dataGaLocation":605},"source code management",{"text":684,"config":740},{"href":234,"dataGaName":741,"dataGaLocation":605},"continuous integration & delivery",{"text":743,"config":744},"Value stream management",{"href":284,"dataGaName":745,"dataGaLocation":605},"value stream management",{"text":689,"config":747},{"href":748,"dataGaName":692,"dataGaLocation":605},"/solutions/gitops/",{"text":294,"config":750},{"href":297,"dataGaName":298,"dataGaLocation":605},{"text":752,"config":753},"Small business",{"href":303,"dataGaName":304,"dataGaLocation":605},{"text":755,"config":756},"Public sector",{"href":309,"dataGaName":310,"dataGaLocation":605},{"text":758,"config":759},"Education",{"href":760,"dataGaName":761,"dataGaLocation":605},"/solutions/education/","education",{"text":763,"config":764},"Financial services",{"href":765,"dataGaName":766,"dataGaLocation":605},"/solutions/finance/","financial services",{"title":317,"links":768},[769,771,773,775,778,780,783,785,787,789,791,793,795,797],{"text":330,"config":770},{"href":332,"dataGaName":333,"dataGaLocation":605},{"text":335,"config":772},{"href":337,"dataGaName":338,"dataGaLocation":605},{"text":340,"config":774},{"href":342,"dataGaName":343,"dataGaLocation":605},{"text":345,"config":776},{"href":347,"dataGaName":777,"dataGaLocation":605},"docs",{"text":367,"config":779},{"href":369,"dataGaName":370,"dataGaLocation":605},{"text":781,"config":782},"What's new",{"href":427,"dataGaName":428,"dataGaLocation":605},{"text":362,"config":784},{"href":364,"dataGaName":365,"dataGaLocation":605},{"text":381,"config":786},{"href":383,"dataGaName":384,"dataGaLocation":605},{"text":389,"config":788},{"href":391,"dataGaName":392,"dataGaLocation":605},{"text":394,"config":790},{"href":396,"dataGaName":397,"dataGaLocation":605},{"text":399,"config":792},{"href":401,"dataGaName":402,"dataGaLocation":605},{"text":404,"config":794},{"href":406,"dataGaName":407,"dataGaLocation":605},{"text":409,"config":796},{"href":411,"dataGaName":412,"dataGaLocation":605},{"text":414,"config":798},{"href":416,"dataGaName":417,"dataGaLocation":605},{"title":430,"links":800},[801,803,805,807,809,811,815,820,822,824,826],{"text":438,"config":802},{"href":440,"dataGaName":432,"dataGaLocation":605},{"text":443,"config":804},{"href":445,"dataGaName":446,"dataGaLocation":605},{"text":451,"config":806},{"href":453,"dataGaName":454,"dataGaLocation":605},{"text":456,"config":808},{"href":458,"dataGaName":459,"dataGaLocation":605},{"text":461,"config":810},{"href":463,"dataGaName":464,"dataGaLocation":605},{"text":812,"config":813},"Sustainability",{"href":814,"dataGaName":812,"dataGaLocation":605},"/sustainability/",{"text":816,"config":817},"Diversity, inclusion and belonging (DIB)",{"href":818,"dataGaName":819,"dataGaLocation":605},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":466,"config":821},{"href":468,"dataGaName":469,"dataGaLocation":605},{"text":476,"config":823},{"href":478,"dataGaName":479,"dataGaLocation":605},{"text":481,"config":825},{"href":483,"dataGaName":484,"dataGaLocation":605},{"text":827,"config":828},"Modern Slavery Transparency Statement",{"href":829,"dataGaName":830,"dataGaLocation":605},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":832},[833,836,839],{"text":834,"config":835},"Terms",{"href":657,"dataGaName":658,"dataGaLocation":605},{"text":837,"config":838},"Cookies",{"dataGaName":667,"dataGaLocation":605,"id":668,"isOneTrustButton":148},{"text":840,"config":841},"Privacy",{"href":662,"dataGaName":663,"dataGaLocation":605},[843],{"id":844,"title":7,"body":140,"config":845,"content":847,"description":140,"extension":851,"meta":852,"navigation":148,"path":853,"seo":854,"stem":855,"__hash__":856},"blogAuthors/en-us/blog/authors/khrystyna-humenna.yml",{"template":846},"BlogAuthor",{"name":7,"config":848},{"headshot":849,"ctfId":850},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Khrystyna-Humenna","yml",{},"/en-us/blog/authors/khrystyna-humenna",{},"en-us/blog/authors/khrystyna-humenna","Gan2bRt68od1X87sBgiO563U0jHqTnmEdgTgmiAILwI",[858,867,875],{"title":859,"description":860,"heroImage":861,"category":136,"date":862,"authors":863,"slug":866,"externalUrl":140},"Confidential AI for GitLab Self-Hosted","Give developers AI coding agents in GitLab Duo without source code leaving a hardware-encrypted boundary — no GPUs needed.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png","2026-08-06",[864,865],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":868,"description":869,"heroImage":870,"category":136,"date":871,"authors":872,"slug":874,"externalUrl":140},"Green DevOps: Why carbon measurement belongs in your CI/CD pipeline","CI/CD pipelines have a hidden carbon cost. Here's why measuring it matters, and how you can get started with Eco CI and Carmen in GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-07-09",[873],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":876,"description":877,"heroImage":878,"category":136,"date":879,"authors":880,"slug":882,"externalUrl":140},"How to build CI/CD observability at scale","This practical guide to GitLab pipeline analytics helps self-managed users gain operational insights using Prometheus and Grafana.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-28",[881],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":884},[885,899,911,923],{"id":886,"categories":887,"header":889,"text":890,"button":891,"image":896},"ai-modernization",[888],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":892,"config":893},"Get your AI maturity score",{"href":894,"dataGaName":895,"dataGaLocation":370},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":897},{"src":898},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":900,"categories":901,"header":903,"text":890,"button":904,"image":908},"devops-modernization",[902,707],"product","Are you just managing tools or shipping innovation?",{"text":905,"config":906},"Get your DevOps maturity score",{"href":907,"dataGaName":895,"dataGaLocation":370},"/assessments/devops-modernization-assessment/",{"config":909},{"src":910},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":912,"categories":913,"header":915,"text":890,"button":916,"image":920},"security-modernization",[914],"security","Are you trading speed for security?",{"text":917,"config":918},"Get your security maturity score",{"href":919,"dataGaName":895,"dataGaLocation":370},"/assessments/security-modernization-assessment/",{"config":921},{"src":922},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":924,"paths":925,"header":928,"text":929,"button":930,"image":935},"github-azure-migration",[926,927],"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":931,"config":932},"See how GitLab compares to GitHub",{"href":933,"dataGaName":934,"dataGaLocation":370},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":936},{"src":910},{"header":938,"blurb":939,"button":940,"secondaryButton":945},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":941,"config":942},"Get your free trial",{"href":943,"dataGaName":170,"dataGaLocation":944},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":643,"config":946},{"href":495,"dataGaName":175,"dataGaLocation":944},1786803731678]