[{"data":1,"prerenderedAt":1039},["ShallowReactive",2],{"/blog/marker-io-gitlab-integration":3,"navigation-en-us":252,"banner-en-us":679,"footer-en-us":689,"blog-post-authors-en-us-Marie Hargitt":934,"blog-related-posts-en-us-marker-io-gitlab-integration":949,"blog-promotions-en-us":975,"next-steps-en-us":1029},{"id":4,"title":5,"authors":6,"body":8,"category":230,"date":231,"description":232,"extension":233,"externalUrl":234,"faq":234,"featured":235,"heroImage":236,"meta":237,"navigation":238,"path":239,"seo":240,"slug":244,"stem":245,"tags":246,"template":250,"updatedDate":234,"__hash__":251},"blogPosts/en-us/blog/marker-io-gitlab-integration.md","How to radically simplify bug reporting in GitLab",[7],"Marie Hargitt",{"type":9,"value":10,"toc":216},"minimark",[11,15,18,23,28,31,34,68,71,74,78,81,84,88,92,95,106,109,112,119,122,126,129,132,150,153,159,162,191,194,203,207],[12,13,14],"p",{},"If you’re like us, you’re constantly pushing out new features and improvements to your product, but with those updates and changes comes the inevitable risk of bugs. The best way to find and fix those bugs are your internal reporters and developers, but getting the whole team to report bugs into GitLab can be hard.",[12,16,17],{},"Whether it’s your copywriters on the lookout for wonky content, your QA testers that find a broken form, designers that spot a font size five times too big, or your customer support team receiving word that a billing issue is blocking customers from paying – reporters can take forever to send actionable feedback to developers, who in turn don’t always get the information they need to smash those bugs.",[19,20,22],"h2",{"id":21},"what-a-bug-reporting-workflow-usually-looks-like","What a bug-reporting workflow usually looks like ...",[24,25,27],"h3",{"id":26},"for-reporters","... for reporters",[12,29,30],{},"Because reporters aren’t always super tech-savvy, it can be tricky for them to share reports that are helpful for your developers. The process is long, complicated, and tracking down the crucial technical information isn’t always easy.",[12,32,33],{},"In most teams, reporting bugs into GitLab looks like this:",[35,36,37,41,44,47,50,53,56,59,62,65],"ol",{},[38,39,40],"li",{},"Find the bug.",[38,42,43],{},"Open screenshot tool, capture bug.",[38,45,46],{},"Open software to annotate screenshot, add comments.",[38,48,49],{},"Open and log into GitLab.",[38,51,52],{},"Select the correct project.",[38,54,55],{},"Create new issue.",[38,57,58],{},"Document the bug. (How exactly do I do this!?)",[38,60,61],{},"Add technical information. (What is this even?)",[38,63,64],{},"Attach screenshots.",[38,66,67],{},"And then finally: submit report.",[12,69,70],{},"That’s a whopping 10 steps to report even the smallest bugs.",[12,72,73],{},"And we didn’t even mention the super-fun scavenger hunt reporters have to go on to identify all of the environmental data developers need to even start thinking about fixing the bugs.",[24,75,77],{"id":76},"for-developers","... for developers",[12,79,80],{},"Developers get feedback flying at them in all forms – emails, phone calls, sticky notes and screenshots.",[12,82,83],{},"They’re ready to gouge their eyes out because they can’t reproduce the reported bugs, because they’re not receiving actionable feedback from the get-go, and they don’t have time to investigate all the bug reports they receive.",[19,85,87],{"id":86},"so-what-can-you-do-to-make-sure-everyone-can-contribute","So what can you do to make sure everyone can contribute?",[24,89,91],{"id":90},"speed-up-workflow-for-reporters","Speed up workflow for reporters",[12,93,94],{},"We created Marker.io to speed up and simplify your team bug reporting. Now, those 10 steps are only three:",[35,96,97,100,103],{},[38,98,99],{},"Capture and annotate screenshot of bug.",[38,101,102],{},"Send bug reports straight to your GitLab project.",[38,104,105],{},"Keep hunting for more bugs!",[12,107,108],{},"One real-life example is an issue we ran into with our pricing page a while back. During our QA process, we noticed a weird bug: the price for our Team Plan was mysteriously missing. Instead of using the lengthy process mentioned earlier in this post, we used Marker.io to quickly send feedback to our dev team and get the bug fixed in no time.",[12,110,111],{},"This is what reporting the issue with Marker.io looked like:",[12,113,114],{},[115,116],"img",{"alt":117,"src":118},"Creating the bug report issue in GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782397895/blog/Content%20Images/GitLab-creating-issue-Marker-io.gif",[12,120,121],{},"Now, not only is the process much faster, but you never have to leave your website, there is nothing to configure, and all the technical data the developers need is automatically captured by Marker.io.",[24,123,125],{"id":124},"create-actionable-reports-for-your-developers","Create actionable reports for your developers",[12,127,128],{},"Once a visual feedback tool like Marker.io is introduced into the equation your developers can choose where they receive feedback, down to the specific bug-tracking GitLab project, and the important technical data they need is automatically grabbed and included in every bug report.",[12,130,131],{},"That means environment data, including:",[133,134,135,138,141,144,147],"ul",{},[38,136,137],{},"Browser",[38,139,140],{},"Operating system (OS) and version",[38,142,143],{},"Screen size",[38,145,146],{},"Zoom level",[38,148,149],{},"Pixel ratio",[12,151,152],{},"Here’s an example of what a Marker.io bug report looks like in GitLab:",[12,154,155],{},[115,156],{"alt":157,"src":158},"The bug report issue inside GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782397895/blog/Content%20Images/GitLab-issue-created-with-Marker-io.gif",[12,160,161],{},"This GitLab issue has all the information needed for your developers to act on it:",[133,163,164,167,170,173,176,179,182,185,188],{},[38,165,166],{},"The issue is in the correct project.",[38,168,169],{},"Any pre-set epics, milestones or labels are included.",[38,171,172],{},"The issue is assigned to a team member.",[38,174,175],{},"The annotated screenshot is attached.",[38,177,178],{},"The expected and actual results are well documented.",[38,180,181],{},"The steps to reproduce are detailed.",[38,183,184],{},"The technical environment information is all there.",[38,186,187],{},"The issue has the URL where the screenshot was captured.",[38,189,190],{},"The issue has a due date.",[12,192,193],{},"No more wasted time following up with reporters to fill in the gaps. It’s all there, organized directly in your chosen GitLab project – complete with everything vital to fix your bugs.",[12,195,196,197],{},"Want to try for yourself? Marker.io comes with a free 15-day trial. Give it go ➡️ ",[198,199,202],"a",{"href":200,"rel":201},"https://marker.io/gitlab?utm_source=gitlab&utm_medium=post&utm_campaign=gitlab_bug_reporting",[],"Marker.io/gitlab",[24,204,206],{"id":205},"about-the-guest-author","About the guest author",[12,208,209,210,215],{},"Marie Hargitt is the Marketing Manager of ",[198,211,214],{"href":212,"rel":213},"https://marker.io/gitlab",[],"Marker.io",", a powerful tool that makes bug reporting and visual feedback easy for the whole team.",{"title":217,"searchDepth":218,"depth":218,"links":219},"",2,[220,225],{"id":21,"depth":218,"text":22,"children":221},[222,224],{"id":26,"depth":223,"text":27},3,{"id":76,"depth":223,"text":77},{"id":86,"depth":218,"text":87,"children":226},[227,228,229],{"id":90,"depth":223,"text":91},{"id":124,"depth":223,"text":125},{"id":205,"depth":223,"text":206},"engineering","2019-01-09","Marie Hargitt from Marker.io shares how product teams can empower colleagues to report actionable issues in GitLab, without driving developers crazy.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679899/Blog/Hero%20Images/gitlab-marker-io.png",{},true,"/en-us/blog/marker-io-gitlab-integration",{"title":5,"description":232,"ogTitle":5,"ogDescription":232,"noIndex":235,"ogImage":236,"ogUrl":241,"ogSiteName":242,"ogType":243,"canonicalUrls":241},"https://about.gitlab.com/blog/marker-io-gitlab-integration","https://about.gitlab.com","article","marker-io-gitlab-integration","en-us/blog/marker-io-gitlab-integration",[247,248,249],"collaboration","integrations","workflow","BlogPost","KfFZiZ-dR_2IDd0X4VYE04rygQJv1mNM-ZZPZDK7dnM",{"logo":253,"freeTrial":258,"sales":263,"login":268,"items":273,"search":599,"minimal":630,"duo":649,"switchNav":658,"pricingDeployment":669},{"config":254},{"href":255,"dataGaName":256,"dataGaLocation":257},"/","gitlab logo","header",{"text":259,"config":260},"Get free trial",{"href":261,"dataGaName":262,"dataGaLocation":257},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":264,"config":265},"Request a demo",{"href":266,"dataGaName":267,"dataGaLocation":257},"/sales/?contact-topic=request-demo","sales",{"text":269,"config":270},"Sign in",{"href":271,"dataGaName":272,"dataGaLocation":257},"https://gitlab.com/users/sign_in/","sign in",[274,303,403,408,521,577],{"text":275,"config":276,"menu":278},"Platform",{"dataNavLevelOne":277},"platform",{"type":279,"columns":280},"cards",[281,287,295],{"title":275,"description":282,"link":283},"The intelligent orchestration platform for DevSecOps",{"text":284,"config":285},"Explore our Platform",{"href":286,"dataGaName":277,"dataGaLocation":257},"/platform/",{"title":288,"description":289,"link":290},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":291,"config":292},"Meet GitLab Duo",{"href":293,"dataGaName":294,"dataGaLocation":257},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":296,"description":297,"link":298},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":299,"config":300},"Learn more",{"href":301,"dataGaName":302,"dataGaLocation":257},"/why-gitlab/","why gitlab",{"text":304,"left":238,"config":305,"menu":307},"Product",{"dataNavLevelOne":306},"solutions",{"type":308,"link":309,"columns":313,"feature":382},"lists",{"text":310,"config":311},"View all Solutions",{"href":312,"dataGaName":306,"dataGaLocation":257},"/solutions/",[314,338,361],{"title":315,"description":316,"link":317,"items":322},"Automation","CI/CD and automation to accelerate deployment",{"config":318},{"icon":319,"href":320,"dataGaName":321,"dataGaLocation":257},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[323,327,330,334],{"text":324,"config":325},"CI/CD",{"href":326,"dataGaLocation":257,"dataGaName":324},"/solutions/continuous-integration/",{"text":288,"config":328},{"href":293,"dataGaLocation":257,"dataGaName":329},"gitlab duo agent platform - product menu",{"text":331,"config":332},"Source Code Management",{"href":333,"dataGaLocation":257,"dataGaName":331},"/solutions/source-code-management/",{"text":335,"config":336},"Automated Software Delivery",{"href":320,"dataGaLocation":257,"dataGaName":337},"Automated software delivery",{"title":339,"description":340,"link":341,"items":346},"Security","Deliver code faster without compromising security",{"config":342},{"href":343,"dataGaName":344,"dataGaLocation":257,"icon":345},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[347,351,356],{"text":348,"config":349},"Application Security Testing",{"href":343,"dataGaName":350,"dataGaLocation":257},"Application security testing",{"text":352,"config":353},"Software Supply Chain Security",{"href":354,"dataGaLocation":257,"dataGaName":355},"/solutions/supply-chain/","Software supply chain security",{"text":357,"config":358},"Software Compliance",{"href":359,"dataGaName":360,"dataGaLocation":257},"/solutions/software-compliance/","software compliance",{"title":362,"link":363,"items":368},"Measurement",{"config":364},{"icon":365,"href":366,"dataGaName":367,"dataGaLocation":257},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[369,373,377],{"text":370,"config":371},"Visibility & Measurement",{"href":366,"dataGaLocation":257,"dataGaName":372},"Visibility and Measurement",{"text":374,"config":375},"Value Stream Management",{"href":376,"dataGaLocation":257,"dataGaName":374},"/solutions/value-stream-management/",{"text":378,"config":379},"Analytics & Insights",{"href":380,"dataGaLocation":257,"dataGaName":381},"/solutions/analytics-and-insights/","Analytics and insights",{"title":383,"type":308,"items":384},"GitLab for",[385,391,397],{"text":386,"config":387},"Enterprise",{"icon":388,"href":389,"dataGaLocation":257,"dataGaName":390},"Building","/enterprise/","enterprise",{"text":392,"config":393},"Small Business",{"icon":394,"href":395,"dataGaLocation":257,"dataGaName":396},"Work","/small-business/","small business",{"text":398,"config":399},"Public Sector",{"icon":400,"href":401,"dataGaLocation":257,"dataGaName":402},"Organization","/solutions/public-sector/","public sector",{"text":404,"config":405},"Pricing",{"href":406,"dataGaName":407,"dataGaLocation":257,"dataNavLevelOne":407},"/pricing/","pricing",{"text":409,"config":410,"menu":412},"Resources",{"dataNavLevelOne":411},"resources",{"type":308,"link":413,"columns":417,"feature":510},{"text":414,"config":415},"View all resources",{"href":416,"dataGaName":411,"dataGaLocation":257},"/resources/",[418,450,477],{"title":419,"items":420},"Getting started",[421,426,431,436,441,446],{"text":422,"config":423},"Install",{"href":424,"dataGaName":425,"dataGaLocation":257},"/install/","install",{"text":427,"config":428},"Quick start guides",{"href":429,"dataGaName":430,"dataGaLocation":257},"/get-started/","quick setup checklists",{"text":432,"config":433},"Learn",{"href":434,"dataGaLocation":257,"dataGaName":435},"https://university.gitlab.com/","learn",{"text":437,"config":438},"Product documentation",{"href":439,"dataGaName":440,"dataGaLocation":257},"https://docs.gitlab.com/","product documentation",{"text":442,"config":443},"Best practice videos",{"href":444,"dataGaName":445,"dataGaLocation":257},"/getting-started-videos/","best practice videos",{"text":447,"config":448},"Integrations",{"href":449,"dataGaName":248,"dataGaLocation":257},"/integrations/",{"title":451,"items":452},"Discover",[453,458,463,468,472],{"text":454,"config":455},"Customer success stories",{"href":456,"dataGaName":457,"dataGaLocation":257},"/customers/","customer success stories",{"text":459,"config":460},"Blog",{"href":461,"dataGaName":462,"dataGaLocation":257},"/blog/","blog",{"text":464,"config":465},"Demo Hub",{"href":466,"dataGaName":467,"dataGaLocation":257},"/demo-hub/","demo hub",{"text":469,"config":470},"The Source",{"href":471,"dataGaName":462,"dataGaLocation":257},"/the-source/",{"text":473,"config":474},"Remote",{"href":475,"dataGaName":476,"dataGaLocation":257},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":478,"items":479},"Connect",[480,485,490,495,500,505],{"text":481,"config":482},"GitLab Services",{"href":483,"dataGaName":484,"dataGaLocation":257},"/services/","services",{"text":486,"config":487},"Contribute",{"href":488,"dataGaName":489,"dataGaLocation":257},"https://contributors.gitlab.com","contribute",{"text":491,"config":492},"Community",{"href":493,"dataGaName":494,"dataGaLocation":257},"/community/","community",{"text":496,"config":497},"Forum",{"href":498,"dataGaName":499,"dataGaLocation":257},"https://forum.gitlab.com/","forum",{"text":501,"config":502},"Events",{"href":503,"dataGaName":504,"dataGaLocation":257},"/events/","events",{"text":506,"config":507},"Partners",{"href":508,"dataGaName":509,"dataGaLocation":257},"/partners/","partners",{"config":511,"title":514,"text":515,"link":516},{"background":512,"textColor":513},"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":517,"config":518},"Read the latest",{"href":519,"dataGaName":520,"dataGaLocation":257},"/whats-new/","whats new",{"text":522,"config":523,"menu":525},"Company",{"dataNavLevelOne":524},"company",{"type":308,"columns":526},[527],{"items":528},[529,534,540,542,547,552,557,562,567,572],{"text":530,"config":531},"About",{"href":532,"dataGaName":533,"dataGaLocation":257},"/company/","about",{"text":535,"config":536,"footerGa":539},"Jobs",{"href":537,"dataGaName":538,"dataGaLocation":257},"/jobs/","jobs",{"dataGaName":538},{"text":501,"config":541},{"href":503,"dataGaName":504,"dataGaLocation":257},{"text":543,"config":544},"Leadership",{"href":545,"dataGaName":546,"dataGaLocation":257},"/company/team/e-group/","leadership",{"text":548,"config":549},"Handbook",{"href":550,"dataGaName":551,"dataGaLocation":257},"https://handbook.gitlab.com/","handbook",{"text":553,"config":554},"Investor relations",{"href":555,"dataGaName":556,"dataGaLocation":257},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":558,"config":559},"Trust Center",{"href":560,"dataGaName":561,"dataGaLocation":257},"/security/","trust center",{"text":563,"config":564},"AI Transparency Center",{"href":565,"dataGaName":566,"dataGaLocation":257},"/ai-transparency-center/","ai transparency center",{"text":568,"config":569},"Newsletter",{"href":570,"dataGaName":571,"dataGaLocation":257},"/company/contact/#contact-forms","newsletter",{"text":573,"config":574},"Press",{"href":575,"dataGaName":576,"dataGaLocation":257},"/press/","press",{"text":578,"config":579,"menu":580},"Contact us",{"dataNavLevelOne":524},{"type":308,"columns":581},[582],{"items":583},[584,589,594],{"text":585,"config":586},"Talk to sales",{"href":587,"dataGaName":588,"dataGaLocation":257},"/sales/","talk to sales",{"text":590,"config":591},"Support portal",{"href":592,"dataGaName":593,"dataGaLocation":257},"https://support.gitlab.com/hc/en-us","support portal",{"text":595,"config":596},"Customer portal",{"href":597,"dataGaName":598,"dataGaLocation":257},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":600,"login":601,"suggestions":608},"Close",{"text":602,"link":603},"To search repositories and projects, login to",{"text":604,"config":605},"gitlab.com",{"href":271,"dataGaName":606,"dataGaLocation":607},"search login","search",{"text":609,"default":610},"Suggestions",[611,613,617,619,623,627],{"text":288,"config":612},{"href":293,"dataGaName":288,"dataGaLocation":607},{"text":614,"config":615},"Code Suggestions (AI)",{"href":616,"dataGaName":614,"dataGaLocation":607},"/solutions/code-suggestions/",{"text":324,"config":618},{"href":326,"dataGaName":324,"dataGaLocation":607},{"text":620,"config":621},"GitLab on AWS",{"href":622,"dataGaName":620,"dataGaLocation":607},"/partners/technology-partners/aws/",{"text":624,"config":625},"GitLab on Google Cloud",{"href":626,"dataGaName":624,"dataGaLocation":607},"/partners/technology-partners/google-cloud-platform/",{"text":628,"config":629},"Why GitLab?",{"href":301,"dataGaName":628,"dataGaLocation":607},{"freeTrial":631,"mobileIcon":636,"desktopIcon":641,"secondaryButton":644},{"text":632,"config":633},"Start free trial",{"href":634,"dataGaName":262,"dataGaLocation":635},"https://gitlab.com/-/trials/new/","nav",{"altText":637,"config":638},"Gitlab Icon",{"src":639,"dataGaName":640,"dataGaLocation":635},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":637,"config":642},{"src":643,"dataGaName":640,"dataGaLocation":635},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":645,"config":646},"Get Started",{"href":647,"dataGaName":648,"dataGaLocation":635},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":650,"mobileIcon":654,"desktopIcon":656},{"text":651,"config":652},"Learn more about GitLab Duo",{"href":293,"dataGaName":653,"dataGaLocation":635},"gitlab duo",{"altText":637,"config":655},{"src":639,"dataGaName":640,"dataGaLocation":635},{"altText":637,"config":657},{"src":643,"dataGaName":640,"dataGaLocation":635},{"button":659,"mobileIcon":664,"desktopIcon":666},{"text":660,"config":661},"/switch",{"href":662,"dataGaName":663,"dataGaLocation":635},"#contact","switch",{"altText":637,"config":665},{"src":639,"dataGaName":640,"dataGaLocation":635},{"altText":637,"config":667},{"src":668,"dataGaName":640,"dataGaLocation":635},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":670,"mobileIcon":675,"desktopIcon":677},{"text":671,"config":672},"Back to pricing",{"href":406,"dataGaName":673,"dataGaLocation":635,"icon":674},"back to pricing","GoBack",{"altText":637,"config":676},{"src":639,"dataGaName":640,"dataGaLocation":635},{"altText":637,"config":678},{"src":643,"dataGaName":640,"dataGaLocation":635},{"title":680,"titleMobile":681,"button":682,"config":687},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":299,"config":683},{"href":684,"dataGaName":685,"dataGaLocation":686},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":688,"disabled":235},"release",{"data":690},{"text":691,"source":692,"edit":698,"contribute":703,"config":708,"items":713,"minimal":923},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":693,"config":694},"View page source",{"href":695,"dataGaName":696,"dataGaLocation":697},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":699,"config":700},"Edit this page",{"href":701,"dataGaName":702,"dataGaLocation":697},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":704,"config":705},"Please contribute",{"href":706,"dataGaName":707,"dataGaLocation":697},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":709,"facebook":710,"youtube":711,"linkedin":712},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[714,761,815,859,891],{"title":404,"links":715,"subMenu":730},[716,720,725],{"text":717,"config":718},"View plans",{"href":406,"dataGaName":719,"dataGaLocation":697},"view plans",{"text":721,"config":722},"Why Premium?",{"href":723,"dataGaName":724,"dataGaLocation":697},"/pricing/premium/","why premium",{"text":726,"config":727},"Why Ultimate?",{"href":728,"dataGaName":729,"dataGaLocation":697},"/pricing/ultimate/","why ultimate",[731],{"title":732,"links":733},"Contact Us",[734,737,739,741,746,751,756],{"text":735,"config":736},"Contact sales",{"href":587,"dataGaName":267,"dataGaLocation":697},{"text":590,"config":738},{"href":592,"dataGaName":593,"dataGaLocation":697},{"text":595,"config":740},{"href":597,"dataGaName":598,"dataGaLocation":697},{"text":742,"config":743},"Status",{"href":744,"dataGaName":745,"dataGaLocation":697},"https://status.gitlab.com/","status",{"text":747,"config":748},"Terms of use",{"href":749,"dataGaName":750,"dataGaLocation":697},"/terms/","terms of use",{"text":752,"config":753},"Privacy statement",{"href":754,"dataGaName":755,"dataGaLocation":697},"/privacy/","privacy statement",{"text":757,"config":758},"Cookie preferences",{"dataGaName":759,"dataGaLocation":697,"id":760,"isOneTrustButton":238},"cookie preferences","ot-sdk-btn",{"title":304,"links":762,"subMenu":771},[763,767],{"text":764,"config":765},"DevSecOps platform",{"href":286,"dataGaName":766,"dataGaLocation":697},"devsecops platform",{"text":768,"config":769},"AI-Assisted Development",{"href":293,"dataGaName":770,"dataGaLocation":697},"ai-assisted development",[772],{"title":773,"links":774},"Topics",[775,780,785,790,795,800,805,810],{"text":776,"config":777},"CICD",{"href":778,"dataGaName":779,"dataGaLocation":697},"/topics/ci-cd/","cicd",{"text":781,"config":782},"GitOps",{"href":783,"dataGaName":784,"dataGaLocation":697},"/topics/gitops/","gitops",{"text":786,"config":787},"DevOps",{"href":788,"dataGaName":789,"dataGaLocation":697},"/topics/devops/","devops",{"text":791,"config":792},"Version Control",{"href":793,"dataGaName":794,"dataGaLocation":697},"/topics/version-control/","version control",{"text":796,"config":797},"DevSecOps",{"href":798,"dataGaName":799,"dataGaLocation":697},"/topics/devsecops/","devsecops",{"text":801,"config":802},"Cloud Native",{"href":803,"dataGaName":804,"dataGaLocation":697},"/topics/cloud-native/","cloud native",{"text":806,"config":807},"AI for Coding",{"href":808,"dataGaName":809,"dataGaLocation":697},"/topics/devops/ai-for-coding/","ai for coding",{"text":811,"config":812},"Agentic AI",{"href":813,"dataGaName":814,"dataGaLocation":697},"/topics/agentic-ai/","agentic ai",{"title":816,"links":817},"Solutions",[818,820,822,827,831,834,838,841,843,846,849,854],{"text":348,"config":819},{"href":343,"dataGaName":348,"dataGaLocation":697},{"text":337,"config":821},{"href":320,"dataGaName":321,"dataGaLocation":697},{"text":823,"config":824},"Agile development",{"href":825,"dataGaName":826,"dataGaLocation":697},"/solutions/agile-delivery/","agile delivery",{"text":828,"config":829},"SCM",{"href":333,"dataGaName":830,"dataGaLocation":697},"source code management",{"text":776,"config":832},{"href":326,"dataGaName":833,"dataGaLocation":697},"continuous integration & delivery",{"text":835,"config":836},"Value stream management",{"href":376,"dataGaName":837,"dataGaLocation":697},"value stream management",{"text":781,"config":839},{"href":840,"dataGaName":784,"dataGaLocation":697},"/solutions/gitops/",{"text":386,"config":842},{"href":389,"dataGaName":390,"dataGaLocation":697},{"text":844,"config":845},"Small business",{"href":395,"dataGaName":396,"dataGaLocation":697},{"text":847,"config":848},"Public sector",{"href":401,"dataGaName":402,"dataGaLocation":697},{"text":850,"config":851},"Education",{"href":852,"dataGaName":853,"dataGaLocation":697},"/solutions/education/","education",{"text":855,"config":856},"Financial services",{"href":857,"dataGaName":858,"dataGaLocation":697},"/solutions/finance/","financial services",{"title":409,"links":860},[861,863,865,867,870,872,875,877,879,881,883,885,887,889],{"text":422,"config":862},{"href":424,"dataGaName":425,"dataGaLocation":697},{"text":427,"config":864},{"href":429,"dataGaName":430,"dataGaLocation":697},{"text":432,"config":866},{"href":434,"dataGaName":435,"dataGaLocation":697},{"text":437,"config":868},{"href":439,"dataGaName":869,"dataGaLocation":697},"docs",{"text":459,"config":871},{"href":461,"dataGaName":462,"dataGaLocation":697},{"text":873,"config":874},"What's new",{"href":519,"dataGaName":520,"dataGaLocation":697},{"text":454,"config":876},{"href":456,"dataGaName":457,"dataGaLocation":697},{"text":473,"config":878},{"href":475,"dataGaName":476,"dataGaLocation":697},{"text":481,"config":880},{"href":483,"dataGaName":484,"dataGaLocation":697},{"text":486,"config":882},{"href":488,"dataGaName":489,"dataGaLocation":697},{"text":491,"config":884},{"href":493,"dataGaName":494,"dataGaLocation":697},{"text":496,"config":886},{"href":498,"dataGaName":499,"dataGaLocation":697},{"text":501,"config":888},{"href":503,"dataGaName":504,"dataGaLocation":697},{"text":506,"config":890},{"href":508,"dataGaName":509,"dataGaLocation":697},{"title":522,"links":892},[893,895,897,899,901,903,907,912,914,916,918],{"text":530,"config":894},{"href":532,"dataGaName":524,"dataGaLocation":697},{"text":535,"config":896},{"href":537,"dataGaName":538,"dataGaLocation":697},{"text":543,"config":898},{"href":545,"dataGaName":546,"dataGaLocation":697},{"text":548,"config":900},{"href":550,"dataGaName":551,"dataGaLocation":697},{"text":553,"config":902},{"href":555,"dataGaName":556,"dataGaLocation":697},{"text":904,"config":905},"Sustainability",{"href":906,"dataGaName":904,"dataGaLocation":697},"/sustainability/",{"text":908,"config":909},"Diversity, inclusion and belonging (DIB)",{"href":910,"dataGaName":911,"dataGaLocation":697},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":558,"config":913},{"href":560,"dataGaName":561,"dataGaLocation":697},{"text":568,"config":915},{"href":570,"dataGaName":571,"dataGaLocation":697},{"text":573,"config":917},{"href":575,"dataGaName":576,"dataGaLocation":697},{"text":919,"config":920},"Modern Slavery Transparency Statement",{"href":921,"dataGaName":922,"dataGaLocation":697},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":924},[925,928,931],{"text":926,"config":927},"Terms",{"href":749,"dataGaName":750,"dataGaLocation":697},{"text":929,"config":930},"Cookies",{"dataGaName":759,"dataGaLocation":697,"id":760,"isOneTrustButton":238},{"text":932,"config":933},"Privacy",{"href":754,"dataGaName":755,"dataGaLocation":697},[935],{"id":936,"title":7,"body":234,"config":937,"content":939,"description":234,"extension":943,"meta":944,"navigation":238,"path":945,"seo":946,"stem":947,"__hash__":948},"blogAuthors/en-us/blog/authors/marie-hargitt.yml",{"template":938},"BlogAuthor",{"name":7,"config":940},{"headshot":941,"ctfId":942},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Marie-Hargitt","yml",{},"/en-us/blog/authors/marie-hargitt",{},"en-us/blog/authors/marie-hargitt","Znl4pSIWx871WubPf7RB2HIr0c-eunTzeuhiZws-4Tw",[950,959,967],{"title":951,"description":952,"heroImage":953,"category":230,"date":954,"authors":955,"slug":958,"externalUrl":234},"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",[956,957],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":960,"description":961,"heroImage":962,"category":230,"date":963,"authors":964,"slug":966,"externalUrl":234},"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",[965],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":968,"description":969,"heroImage":970,"category":230,"date":971,"authors":972,"slug":974,"externalUrl":234},"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",[973],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":976},[977,991,1003,1015],{"id":978,"categories":979,"header":981,"text":982,"button":983,"image":988},"ai-modernization",[980],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":984,"config":985},"Get your AI maturity score",{"href":986,"dataGaName":987,"dataGaLocation":462},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":989},{"src":990},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":992,"categories":993,"header":995,"text":982,"button":996,"image":1000},"devops-modernization",[994,799],"product","Are you just managing tools or shipping innovation?",{"text":997,"config":998},"Get your DevOps maturity score",{"href":999,"dataGaName":987,"dataGaLocation":462},"/assessments/devops-modernization-assessment/",{"config":1001},{"src":1002},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1004,"categories":1005,"header":1007,"text":982,"button":1008,"image":1012},"security-modernization",[1006],"security","Are you trading speed for security?",{"text":1009,"config":1010},"Get your security maturity score",{"href":1011,"dataGaName":987,"dataGaLocation":462},"/assessments/security-modernization-assessment/",{"config":1013},{"src":1014},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1016,"paths":1017,"header":1020,"text":1021,"button":1022,"image":1027},"github-azure-migration",[1018,1019],"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":1023,"config":1024},"See how GitLab compares to GitHub",{"href":1025,"dataGaName":1026,"dataGaLocation":462},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1028},{"src":1002},{"header":1030,"blurb":1031,"button":1032,"secondaryButton":1037},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1033,"config":1034},"Get your free trial",{"href":1035,"dataGaName":262,"dataGaLocation":1036},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":735,"config":1038},{"href":587,"dataGaName":267,"dataGaLocation":1036},1786803751109]