[{"data":1,"prerenderedAt":1189},["ShallowReactive",2],{"/blog/top-10-gitlab-workflow-hacks-you-need-to-know":3,"navigation-en-us":404,"banner-en-us":832,"footer-en-us":842,"blog-post-authors-en-us-Amanda Rueda":1085,"blog-related-posts-en-us-top-10-gitlab-workflow-hacks-you-need-to-know":1100,"blog-promotions-en-us":1125,"next-steps-en-us":1179},{"id":4,"title":5,"authors":6,"body":8,"category":381,"date":382,"description":383,"extension":384,"externalUrl":385,"faq":385,"featured":386,"heroImage":387,"meta":388,"navigation":389,"path":390,"seo":391,"slug":395,"stem":396,"tags":397,"template":402,"updatedDate":385,"__hash__":403},"blogPosts/en-us/blog/top-10-gitlab-workflow-hacks-you-need-to-know.md","Top 10 GitLab workflow hacks you need to know",[7],"Amanda Rueda",{"type":9,"value":10,"toc":366},"minimark",[11,15,18,23,26,52,59,63,66,86,92,96,99,119,125,129,132,152,158,162,165,185,191,195,198,218,224,228,231,251,257,261,264,284,290,294,297,317,323,327,330,342,348,352,355],[12,13,14],"p",{},"In the world of software development, efficiency isn't just about moving fast – it's about smart navigation. As a GitLab product manager, I truly understand the value of efficiency when working within the DevSecOps platform. These are my top 10 favorite GitLab features and they might be the workflow hacks you never knew you needed.",[12,16,17],{},"Let's dive into these hidden gems to unlock a new level of productivity and collaboration within your team.",[19,20,22],"h2",{"id":21},"_1-resolve-comments","1. Resolve comments",[12,24,25],{},"Not just for merge requests! Resolving comments on issues can significantly reduce noise and streamline task management. It's particularly handy for managing feedback efficiently.",[27,28,29,36,42],"blockquote",{},[12,30,31,35],{},[32,33,34],"strong",{},"Why do I love it?"," Not only does resolving comments reduce the noise on an issue, but it’s also a great way to manage tasks.",[12,37,38,41],{},[32,39,40],{},"Use case."," Resolving comments is a great tool for issues where you are collecting feedback – respond to the feedback and provide a link, resolve the comment, and move on to the next one.",[12,43,44],{},[32,45,46],{},[47,48,51],"a",{"href":49,"rel":50},"https://docs.gitlab.com/user/discussions/#resolve-a-thread",[],"How-to documentation",[12,53,54],{},[55,56],"img",{"alt":57,"src":58},"example of resolve comments - image 1","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750099376147.gif",[19,60,62],{"id":61},"_2-internal-comments","2. Internal comments",[12,64,65],{},"Speak directly to your team without an external audience. Keep discussions private within an issue or merge request with comments visible only to your team members. It's the perfect balance between transparency and privacy.",[27,67,68,73,78],{},[12,69,70,72],{},[32,71,34],{}," It balances privacy with transparency, while keeping the broader discussion open for the community.",[12,74,75,77],{},[32,76,40],{}," When coordinating a product launch, your marketing team can use internal comments to discuss and refine messaging and strategy. This keeps your discussions centralized and easily accessible to the team while in draft mode.",[12,79,80],{},[32,81,82],{},[47,83,51],{"href":84,"rel":85},"https://docs.gitlab.com/user/discussions/#add-an-internal-note",[],[12,87,88],{},[55,89],{"alt":90,"src":91},"internal comments example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750099376148.png",[19,93,95],{"id":94},"_3-andor-in-filters","3. And/or in filters",[12,97,98],{},"When searching records on a listing page, using and/or filters can help you slice through the noise and find exactly what you're looking for quickly and efficiently.",[27,100,101,106,111],{},[12,102,103,105],{},[32,104,34],{}," Perfect for finding exactly what you need, powering efficient and streamlined workflows.",[12,107,108,110],{},[32,109,40],{}," Search for feature issues related to a specific initiative that are assigned to specific groups.",[12,112,113],{},[32,114,115],{},[47,116,51],{"href":117,"rel":118},"https://docs.gitlab.com/user/project/issues/managing_issues/#filter-with-the-or-operator",[],[12,120,121],{},[55,122],{"alt":123,"src":124},"and/or filter example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/and_or__1__aHR0cHM6_1750099376152.gif",[19,126,128],{"id":127},"_4-auto-expand-urls","4. Auto expand URLs",[12,130,131],{},"Appending '+' or '+s' to the end of a GitLab URL transforms it into an informative snippet, allowing you to share progress without forcing your teammates to leave the page.",[27,133,134,139,144],{},[12,135,136,138],{},[32,137,34],{}," It's like having x-ray vision for URLs – see the important stuff without even clicking!",[12,140,141,143],{},[32,142,40],{}," Sharing progress in comments? Just add '+s' to the link, and boom – everyone's instantly on the same page.",[12,145,146],{},[32,147,148],{},[47,149,51],{"href":150,"rel":151},"https://docs.gitlab.com/user/markdown/#show-the-issue-merge-request-or-epic-title-in-the-reference",[],[12,153,154],{},[55,155],{"alt":156,"src":157},"auto expand URLs example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750099376154.gif",[19,159,161],{"id":160},"_5-quick-actions","5. Quick actions",[12,163,164],{},"With simple text commands, quick actions let you perform tasks like assigning users, adding labels, and more, directly from the description or comment box, saving you clicks and time.",[27,166,167,172,177],{},[12,168,169,171],{},[32,170,34],{}," Saves clicks and time.",[12,173,174,176],{},[32,175,40],{}," When creating a new issue I use quick actions to automatically add labels, a milestone, and connect to the epic upon saving the record.",[12,178,179],{},[32,180,181],{},[47,182,51],{"href":183,"rel":184},"https://docs.gitlab.com/user/project/quick_actions/",[],[12,186,187],{},[55,188],{"alt":189,"src":190},"quick actions example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750099376156.gif",[19,192,194],{"id":193},"_6-bulk-edit","6. Bulk edit",[12,196,197],{},"Apply labels, change assignees, or update milestones for multiple issues at once. This feature turns potentially tedious updates into a breeze, allowing for quick adjustments across numerous issues.",[27,199,200,205,210],{},[12,201,202,204],{},[32,203,34],{}," Because it turns tedious updates into quick updates!",[12,206,207,209],{},[32,208,40],{}," Need to tag the whole sprint's issues as Review needed? Just filter, select all, and add that label in bulk – easy peasy.",[12,211,212],{},[32,213,214],{},[47,215,51],{"href":216,"rel":217},"https://docs.gitlab.com/user/project/issues/managing_issues/#bulk-edit-issues-from-a-project",[],[12,219,220],{},[55,221],{"alt":222,"src":223},"bulk edit example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750099376157.gif",[19,225,227],{"id":226},"_7-epic-swimlanes","7. Epic swimlanes",[12,229,230],{},"Group issues under epics on your board to visually track and discuss progress. It's a powerful way to contextualize work during reviews or standups.",[27,232,233,238,243],{},[12,234,235,237],{},[32,236,34],{}," Easily understand the context of work as you’re walking the board.",[12,239,240,242],{},[32,241,40],{}," Group by epic during standup reviews to easily piece together work with its parent initiative.",[12,244,245],{},[32,246,247],{},[47,248,51],{"href":249,"rel":250},"https://docs.gitlab.com/user/project/issue_board/#group-issues-in-swimlanes",[],[12,252,253],{},[55,254],{"alt":255,"src":256},"epic swimlanes example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750099376158.gif",[19,258,260],{"id":259},"_8-wiki-diagrams","8. Wiki diagrams",[12,262,263],{},"Illustrate ideas and workflows directly in your wiki pages with easy-to-create diagrams. This feature supports visual learning and simplifies complex concepts.",[27,265,266,271,276],{},[12,267,268,270],{},[32,269,34],{}," It’s incredibly user-friendly and flexible.",[12,272,273,275],{},[32,274,40],{}," When outlining a new feature workflow, draw it directly in the wiki page, making it crystal clear for everyone on the team.",[12,277,278],{},[32,279,280],{},[47,281,51],{"href":282,"rel":283},"https://docs.gitlab.com/administration/integration/diagrams_net/",[],[12,285,286],{},[55,287],{"alt":288,"src":289},"wiki diagrams example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750099376159.gif",[19,291,293],{"id":292},"_9-table-creation","9. Table creation",[12,295,296],{},"Forget about wrestling with markdown for table creation. The rich text editor lets you effortlessly insert and format tables, making documentation cleaner and more structured.",[27,298,299,304,309],{},[12,300,301,303],{},[32,302,34],{}," It turns the table creation ordeal into a breeze, making updates clean and structured with just a few clicks.",[12,305,306,308],{},[32,307,40],{}," Compiling a sprint retro? Quickly insert a table to organize feedback, action items, and owners, making the review process smoother for everyone.",[12,310,311],{},[32,312,313],{},[47,314,51],{"href":315,"rel":316},"https://docs.gitlab.com/user/rich_text_editor/#tables",[],[12,318,319],{},[55,320],{"alt":321,"src":322},"table creation example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750099376160.gif",[19,324,326],{"id":325},"_10-video-and-gif-embeds","10. Video and GIF embeds",[12,328,329],{},"Enhance your issues and epic descriptions or comments with embedded GIFs and YouTube videos, adding a dynamic layer to your communication.",[27,331,332,337],{},[12,333,334,336],{},[32,335,34],{}," Sometimes a GIF or video speaks better than words.",[12,338,339,341],{},[32,340,40],{}," Trying to explain a UI bug? Embed a YouTube video for a quick walkthrough of the proposed feature enhancement.",[12,343,344],{},[55,345],{"alt":346,"src":347},"video and gif embed example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099376/Blog/Content%20Images/Blog/Content%20Images/gif__1__aHR0cHM6_1750099376161.gif",[19,349,351],{"id":350},"explore-these-features","Explore these features",[12,353,354],{},"These features represent just the tip of the iceberg in GitLab's comprehensive toolkit designed to boost efficiency and foster better collaboration. While they may be underutilized, their impact on your workflow could be substantial. I encourage you to explore these features further and integrate them into your daily routines.",[27,356,357],{},[12,358,359,360,365],{},"Are you excited to power your DevSecOps workflow using GitLab? ",[47,361,364],{"href":362,"rel":363},"https://gitlab.com/-/trial_registrations/new",[],"Try GitLab Ultimate for free for 30 days",".",{"title":367,"searchDepth":368,"depth":368,"links":369},"",2,[370,371,372,373,374,375,376,377,378,379,380],{"id":21,"depth":368,"text":22},{"id":61,"depth":368,"text":62},{"id":94,"depth":368,"text":95},{"id":127,"depth":368,"text":128},{"id":160,"depth":368,"text":161},{"id":193,"depth":368,"text":194},{"id":226,"depth":368,"text":227},{"id":259,"depth":368,"text":260},{"id":292,"depth":368,"text":293},{"id":325,"depth":368,"text":326},{"id":350,"depth":368,"text":351},"devsecops","2024-04-09","A GitLab product manager shares her favorite tricks to navigate quickly and efficiently around the GitLab DevSecOps Platform and to boost team collaboration.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099361/Blog/Hero%20Images/Blog/Hero%20Images/lightvisibility_lightvisibility.png_1750099361252.png",{},true,"/en-us/blog/top-10-gitlab-workflow-hacks-you-need-to-know",{"title":5,"description":383,"ogTitle":5,"ogDescription":383,"noIndex":386,"ogImage":387,"ogUrl":392,"ogSiteName":393,"ogType":394,"canonicalUrls":392},"https://about.gitlab.com/blog/top-10-gitlab-workflow-hacks-you-need-to-know","https://about.gitlab.com","article","top-10-gitlab-workflow-hacks-you-need-to-know","en-us/blog/top-10-gitlab-workflow-hacks-you-need-to-know",[398,399,400,401],"tutorial","DevSecOps platform","features","workflow","BlogPost","bxiVKH1zsP1AolepjRF0ontkieuRQIl5RFufL--_geI",{"logo":405,"freeTrial":410,"sales":415,"login":420,"items":425,"search":752,"minimal":783,"duo":802,"switchNav":811,"pricingDeployment":822},{"config":406},{"href":407,"dataGaName":408,"dataGaLocation":409},"/","gitlab logo","header",{"text":411,"config":412},"Get free trial",{"href":413,"dataGaName":414,"dataGaLocation":409},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":416,"config":417},"Request a demo",{"href":418,"dataGaName":419,"dataGaLocation":409},"/sales/?contact-topic=request-demo","sales",{"text":421,"config":422},"Sign in",{"href":423,"dataGaName":424,"dataGaLocation":409},"https://gitlab.com/users/sign_in/","sign in",[426,455,555,560,674,730],{"text":427,"config":428,"menu":430},"Platform",{"dataNavLevelOne":429},"platform",{"type":431,"columns":432},"cards",[433,439,447],{"title":427,"description":434,"link":435},"The intelligent orchestration platform for DevSecOps",{"text":436,"config":437},"Explore our Platform",{"href":438,"dataGaName":429,"dataGaLocation":409},"/platform/",{"title":440,"description":441,"link":442},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":443,"config":444},"Meet GitLab Duo",{"href":445,"dataGaName":446,"dataGaLocation":409},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":448,"description":449,"link":450},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":451,"config":452},"Learn more",{"href":453,"dataGaName":454,"dataGaLocation":409},"/why-gitlab/","why gitlab",{"text":456,"left":389,"config":457,"menu":459},"Product",{"dataNavLevelOne":458},"solutions",{"type":460,"link":461,"columns":465,"feature":534},"lists",{"text":462,"config":463},"View all Solutions",{"href":464,"dataGaName":458,"dataGaLocation":409},"/solutions/",[466,490,513],{"title":467,"description":468,"link":469,"items":474},"Automation","CI/CD and automation to accelerate deployment",{"config":470},{"icon":471,"href":472,"dataGaName":473,"dataGaLocation":409},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[475,479,482,486],{"text":476,"config":477},"CI/CD",{"href":478,"dataGaLocation":409,"dataGaName":476},"/solutions/continuous-integration/",{"text":440,"config":480},{"href":445,"dataGaLocation":409,"dataGaName":481},"gitlab duo agent platform - product menu",{"text":483,"config":484},"Source Code Management",{"href":485,"dataGaLocation":409,"dataGaName":483},"/solutions/source-code-management/",{"text":487,"config":488},"Automated Software Delivery",{"href":472,"dataGaLocation":409,"dataGaName":489},"Automated software delivery",{"title":491,"description":492,"link":493,"items":498},"Security","Deliver code faster without compromising security",{"config":494},{"href":495,"dataGaName":496,"dataGaLocation":409,"icon":497},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[499,503,508],{"text":500,"config":501},"Application Security Testing",{"href":495,"dataGaName":502,"dataGaLocation":409},"Application security testing",{"text":504,"config":505},"Software Supply Chain Security",{"href":506,"dataGaLocation":409,"dataGaName":507},"/solutions/supply-chain/","Software supply chain security",{"text":509,"config":510},"Software Compliance",{"href":511,"dataGaName":512,"dataGaLocation":409},"/solutions/software-compliance/","software compliance",{"title":514,"link":515,"items":520},"Measurement",{"config":516},{"icon":517,"href":518,"dataGaName":519,"dataGaLocation":409},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[521,525,529],{"text":522,"config":523},"Visibility & Measurement",{"href":518,"dataGaLocation":409,"dataGaName":524},"Visibility and Measurement",{"text":526,"config":527},"Value Stream Management",{"href":528,"dataGaLocation":409,"dataGaName":526},"/solutions/value-stream-management/",{"text":530,"config":531},"Analytics & Insights",{"href":532,"dataGaLocation":409,"dataGaName":533},"/solutions/analytics-and-insights/","Analytics and insights",{"title":535,"type":460,"items":536},"GitLab for",[537,543,549],{"text":538,"config":539},"Enterprise",{"icon":540,"href":541,"dataGaLocation":409,"dataGaName":542},"Building","/enterprise/","enterprise",{"text":544,"config":545},"Small Business",{"icon":546,"href":547,"dataGaLocation":409,"dataGaName":548},"Work","/small-business/","small business",{"text":550,"config":551},"Public Sector",{"icon":552,"href":553,"dataGaLocation":409,"dataGaName":554},"Organization","/solutions/public-sector/","public sector",{"text":556,"config":557},"Pricing",{"href":558,"dataGaName":559,"dataGaLocation":409,"dataNavLevelOne":559},"/pricing/","pricing",{"text":561,"config":562,"menu":564},"Resources",{"dataNavLevelOne":563},"resources",{"type":460,"link":565,"columns":569,"feature":663},{"text":566,"config":567},"View all resources",{"href":568,"dataGaName":563,"dataGaLocation":409},"/resources/",[570,603,630],{"title":571,"items":572},"Getting started",[573,578,583,588,593,598],{"text":574,"config":575},"Install",{"href":576,"dataGaName":577,"dataGaLocation":409},"/install/","install",{"text":579,"config":580},"Quick start guides",{"href":581,"dataGaName":582,"dataGaLocation":409},"/get-started/","quick setup checklists",{"text":584,"config":585},"Learn",{"href":586,"dataGaLocation":409,"dataGaName":587},"https://university.gitlab.com/","learn",{"text":589,"config":590},"Product documentation",{"href":591,"dataGaName":592,"dataGaLocation":409},"https://docs.gitlab.com/","product documentation",{"text":594,"config":595},"Best practice videos",{"href":596,"dataGaName":597,"dataGaLocation":409},"/getting-started-videos/","best practice videos",{"text":599,"config":600},"Integrations",{"href":601,"dataGaName":602,"dataGaLocation":409},"/integrations/","integrations",{"title":604,"items":605},"Discover",[606,611,616,621,625],{"text":607,"config":608},"Customer success stories",{"href":609,"dataGaName":610,"dataGaLocation":409},"/customers/","customer success stories",{"text":612,"config":613},"Blog",{"href":614,"dataGaName":615,"dataGaLocation":409},"/blog/","blog",{"text":617,"config":618},"Demo Hub",{"href":619,"dataGaName":620,"dataGaLocation":409},"/demo-hub/","demo hub",{"text":622,"config":623},"The Source",{"href":624,"dataGaName":615,"dataGaLocation":409},"/the-source/",{"text":626,"config":627},"Remote",{"href":628,"dataGaName":629,"dataGaLocation":409},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":631,"items":632},"Connect",[633,638,643,648,653,658],{"text":634,"config":635},"GitLab Services",{"href":636,"dataGaName":637,"dataGaLocation":409},"/services/","services",{"text":639,"config":640},"Contribute",{"href":641,"dataGaName":642,"dataGaLocation":409},"https://contributors.gitlab.com","contribute",{"text":644,"config":645},"Community",{"href":646,"dataGaName":647,"dataGaLocation":409},"/community/","community",{"text":649,"config":650},"Forum",{"href":651,"dataGaName":652,"dataGaLocation":409},"https://forum.gitlab.com/","forum",{"text":654,"config":655},"Events",{"href":656,"dataGaName":657,"dataGaLocation":409},"/events/","events",{"text":659,"config":660},"Partners",{"href":661,"dataGaName":662,"dataGaLocation":409},"/partners/","partners",{"config":664,"title":667,"text":668,"link":669},{"background":665,"textColor":666},"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":670,"config":671},"Read the latest",{"href":672,"dataGaName":673,"dataGaLocation":409},"/whats-new/","whats new",{"text":675,"config":676,"menu":678},"Company",{"dataNavLevelOne":677},"company",{"type":460,"columns":679},[680],{"items":681},[682,687,693,695,700,705,710,715,720,725],{"text":683,"config":684},"About",{"href":685,"dataGaName":686,"dataGaLocation":409},"/company/","about",{"text":688,"config":689,"footerGa":692},"Jobs",{"href":690,"dataGaName":691,"dataGaLocation":409},"/jobs/","jobs",{"dataGaName":691},{"text":654,"config":694},{"href":656,"dataGaName":657,"dataGaLocation":409},{"text":696,"config":697},"Leadership",{"href":698,"dataGaName":699,"dataGaLocation":409},"/company/team/e-group/","leadership",{"text":701,"config":702},"Handbook",{"href":703,"dataGaName":704,"dataGaLocation":409},"https://handbook.gitlab.com/","handbook",{"text":706,"config":707},"Investor relations",{"href":708,"dataGaName":709,"dataGaLocation":409},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":711,"config":712},"Trust Center",{"href":713,"dataGaName":714,"dataGaLocation":409},"/security/","trust center",{"text":716,"config":717},"AI Transparency Center",{"href":718,"dataGaName":719,"dataGaLocation":409},"/ai-transparency-center/","ai transparency center",{"text":721,"config":722},"Newsletter",{"href":723,"dataGaName":724,"dataGaLocation":409},"/company/contact/#contact-forms","newsletter",{"text":726,"config":727},"Press",{"href":728,"dataGaName":729,"dataGaLocation":409},"/press/","press",{"text":731,"config":732,"menu":733},"Contact us",{"dataNavLevelOne":677},{"type":460,"columns":734},[735],{"items":736},[737,742,747],{"text":738,"config":739},"Talk to sales",{"href":740,"dataGaName":741,"dataGaLocation":409},"/sales/","talk to sales",{"text":743,"config":744},"Support portal",{"href":745,"dataGaName":746,"dataGaLocation":409},"https://support.gitlab.com/hc/en-us","support portal",{"text":748,"config":749},"Customer portal",{"href":750,"dataGaName":751,"dataGaLocation":409},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":753,"login":754,"suggestions":761},"Close",{"text":755,"link":756},"To search repositories and projects, login to",{"text":757,"config":758},"gitlab.com",{"href":423,"dataGaName":759,"dataGaLocation":760},"search login","search",{"text":762,"default":763},"Suggestions",[764,766,770,772,776,780],{"text":440,"config":765},{"href":445,"dataGaName":440,"dataGaLocation":760},{"text":767,"config":768},"Code Suggestions (AI)",{"href":769,"dataGaName":767,"dataGaLocation":760},"/solutions/code-suggestions/",{"text":476,"config":771},{"href":478,"dataGaName":476,"dataGaLocation":760},{"text":773,"config":774},"GitLab on AWS",{"href":775,"dataGaName":773,"dataGaLocation":760},"/partners/technology-partners/aws/",{"text":777,"config":778},"GitLab on Google Cloud",{"href":779,"dataGaName":777,"dataGaLocation":760},"/partners/technology-partners/google-cloud-platform/",{"text":781,"config":782},"Why GitLab?",{"href":453,"dataGaName":781,"dataGaLocation":760},{"freeTrial":784,"mobileIcon":789,"desktopIcon":794,"secondaryButton":797},{"text":785,"config":786},"Start free trial",{"href":787,"dataGaName":414,"dataGaLocation":788},"https://gitlab.com/-/trials/new/","nav",{"altText":790,"config":791},"Gitlab Icon",{"src":792,"dataGaName":793,"dataGaLocation":788},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":790,"config":795},{"src":796,"dataGaName":793,"dataGaLocation":788},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":798,"config":799},"Get Started",{"href":800,"dataGaName":801,"dataGaLocation":788},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":803,"mobileIcon":807,"desktopIcon":809},{"text":804,"config":805},"Learn more about GitLab Duo",{"href":445,"dataGaName":806,"dataGaLocation":788},"gitlab duo",{"altText":790,"config":808},{"src":792,"dataGaName":793,"dataGaLocation":788},{"altText":790,"config":810},{"src":796,"dataGaName":793,"dataGaLocation":788},{"button":812,"mobileIcon":817,"desktopIcon":819},{"text":813,"config":814},"/switch",{"href":815,"dataGaName":816,"dataGaLocation":788},"#contact","switch",{"altText":790,"config":818},{"src":792,"dataGaName":793,"dataGaLocation":788},{"altText":790,"config":820},{"src":821,"dataGaName":793,"dataGaLocation":788},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":823,"mobileIcon":828,"desktopIcon":830},{"text":824,"config":825},"Back to pricing",{"href":558,"dataGaName":826,"dataGaLocation":788,"icon":827},"back to pricing","GoBack",{"altText":790,"config":829},{"src":792,"dataGaName":793,"dataGaLocation":788},{"altText":790,"config":831},{"src":796,"dataGaName":793,"dataGaLocation":788},{"title":833,"titleMobile":834,"button":835,"config":840},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":451,"config":836},{"href":837,"dataGaName":838,"dataGaLocation":839},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":841,"disabled":386},"release",{"data":843},{"text":844,"source":845,"edit":851,"contribute":856,"config":861,"items":866,"minimal":1074},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":846,"config":847},"View page source",{"href":848,"dataGaName":849,"dataGaLocation":850},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":852,"config":853},"Edit this page",{"href":854,"dataGaName":855,"dataGaLocation":850},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":857,"config":858},"Please contribute",{"href":859,"dataGaName":860,"dataGaLocation":850},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":862,"facebook":863,"youtube":864,"linkedin":865},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[867,914,966,1010,1042],{"title":556,"links":868,"subMenu":883},[869,873,878],{"text":870,"config":871},"View plans",{"href":558,"dataGaName":872,"dataGaLocation":850},"view plans",{"text":874,"config":875},"Why Premium?",{"href":876,"dataGaName":877,"dataGaLocation":850},"/pricing/premium/","why premium",{"text":879,"config":880},"Why Ultimate?",{"href":881,"dataGaName":882,"dataGaLocation":850},"/pricing/ultimate/","why ultimate",[884],{"title":885,"links":886},"Contact Us",[887,890,892,894,899,904,909],{"text":888,"config":889},"Contact sales",{"href":740,"dataGaName":419,"dataGaLocation":850},{"text":743,"config":891},{"href":745,"dataGaName":746,"dataGaLocation":850},{"text":748,"config":893},{"href":750,"dataGaName":751,"dataGaLocation":850},{"text":895,"config":896},"Status",{"href":897,"dataGaName":898,"dataGaLocation":850},"https://status.gitlab.com/","status",{"text":900,"config":901},"Terms of use",{"href":902,"dataGaName":903,"dataGaLocation":850},"/terms/","terms of use",{"text":905,"config":906},"Privacy statement",{"href":907,"dataGaName":908,"dataGaLocation":850},"/privacy/","privacy statement",{"text":910,"config":911},"Cookie preferences",{"dataGaName":912,"dataGaLocation":850,"id":913,"isOneTrustButton":389},"cookie preferences","ot-sdk-btn",{"title":456,"links":915,"subMenu":923},[916,919],{"text":399,"config":917},{"href":438,"dataGaName":918,"dataGaLocation":850},"devsecops platform",{"text":920,"config":921},"AI-Assisted Development",{"href":445,"dataGaName":922,"dataGaLocation":850},"ai-assisted development",[924],{"title":925,"links":926},"Topics",[927,932,937,942,947,951,956,961],{"text":928,"config":929},"CICD",{"href":930,"dataGaName":931,"dataGaLocation":850},"/topics/ci-cd/","cicd",{"text":933,"config":934},"GitOps",{"href":935,"dataGaName":936,"dataGaLocation":850},"/topics/gitops/","gitops",{"text":938,"config":939},"DevOps",{"href":940,"dataGaName":941,"dataGaLocation":850},"/topics/devops/","devops",{"text":943,"config":944},"Version Control",{"href":945,"dataGaName":946,"dataGaLocation":850},"/topics/version-control/","version control",{"text":948,"config":949},"DevSecOps",{"href":950,"dataGaName":381,"dataGaLocation":850},"/topics/devsecops/",{"text":952,"config":953},"Cloud Native",{"href":954,"dataGaName":955,"dataGaLocation":850},"/topics/cloud-native/","cloud native",{"text":957,"config":958},"AI for Coding",{"href":959,"dataGaName":960,"dataGaLocation":850},"/topics/devops/ai-for-coding/","ai for coding",{"text":962,"config":963},"Agentic AI",{"href":964,"dataGaName":965,"dataGaLocation":850},"/topics/agentic-ai/","agentic ai",{"title":967,"links":968},"Solutions",[969,971,973,978,982,985,989,992,994,997,1000,1005],{"text":500,"config":970},{"href":495,"dataGaName":500,"dataGaLocation":850},{"text":489,"config":972},{"href":472,"dataGaName":473,"dataGaLocation":850},{"text":974,"config":975},"Agile development",{"href":976,"dataGaName":977,"dataGaLocation":850},"/solutions/agile-delivery/","agile delivery",{"text":979,"config":980},"SCM",{"href":485,"dataGaName":981,"dataGaLocation":850},"source code management",{"text":928,"config":983},{"href":478,"dataGaName":984,"dataGaLocation":850},"continuous integration & delivery",{"text":986,"config":987},"Value stream management",{"href":528,"dataGaName":988,"dataGaLocation":850},"value stream management",{"text":933,"config":990},{"href":991,"dataGaName":936,"dataGaLocation":850},"/solutions/gitops/",{"text":538,"config":993},{"href":541,"dataGaName":542,"dataGaLocation":850},{"text":995,"config":996},"Small business",{"href":547,"dataGaName":548,"dataGaLocation":850},{"text":998,"config":999},"Public sector",{"href":553,"dataGaName":554,"dataGaLocation":850},{"text":1001,"config":1002},"Education",{"href":1003,"dataGaName":1004,"dataGaLocation":850},"/solutions/education/","education",{"text":1006,"config":1007},"Financial services",{"href":1008,"dataGaName":1009,"dataGaLocation":850},"/solutions/finance/","financial services",{"title":561,"links":1011},[1012,1014,1016,1018,1021,1023,1026,1028,1030,1032,1034,1036,1038,1040],{"text":574,"config":1013},{"href":576,"dataGaName":577,"dataGaLocation":850},{"text":579,"config":1015},{"href":581,"dataGaName":582,"dataGaLocation":850},{"text":584,"config":1017},{"href":586,"dataGaName":587,"dataGaLocation":850},{"text":589,"config":1019},{"href":591,"dataGaName":1020,"dataGaLocation":850},"docs",{"text":612,"config":1022},{"href":614,"dataGaName":615,"dataGaLocation":850},{"text":1024,"config":1025},"What's new",{"href":672,"dataGaName":673,"dataGaLocation":850},{"text":607,"config":1027},{"href":609,"dataGaName":610,"dataGaLocation":850},{"text":626,"config":1029},{"href":628,"dataGaName":629,"dataGaLocation":850},{"text":634,"config":1031},{"href":636,"dataGaName":637,"dataGaLocation":850},{"text":639,"config":1033},{"href":641,"dataGaName":642,"dataGaLocation":850},{"text":644,"config":1035},{"href":646,"dataGaName":647,"dataGaLocation":850},{"text":649,"config":1037},{"href":651,"dataGaName":652,"dataGaLocation":850},{"text":654,"config":1039},{"href":656,"dataGaName":657,"dataGaLocation":850},{"text":659,"config":1041},{"href":661,"dataGaName":662,"dataGaLocation":850},{"title":675,"links":1043},[1044,1046,1048,1050,1052,1054,1058,1063,1065,1067,1069],{"text":683,"config":1045},{"href":685,"dataGaName":677,"dataGaLocation":850},{"text":688,"config":1047},{"href":690,"dataGaName":691,"dataGaLocation":850},{"text":696,"config":1049},{"href":698,"dataGaName":699,"dataGaLocation":850},{"text":701,"config":1051},{"href":703,"dataGaName":704,"dataGaLocation":850},{"text":706,"config":1053},{"href":708,"dataGaName":709,"dataGaLocation":850},{"text":1055,"config":1056},"Sustainability",{"href":1057,"dataGaName":1055,"dataGaLocation":850},"/sustainability/",{"text":1059,"config":1060},"Diversity, inclusion and belonging (DIB)",{"href":1061,"dataGaName":1062,"dataGaLocation":850},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":711,"config":1064},{"href":713,"dataGaName":714,"dataGaLocation":850},{"text":721,"config":1066},{"href":723,"dataGaName":724,"dataGaLocation":850},{"text":726,"config":1068},{"href":728,"dataGaName":729,"dataGaLocation":850},{"text":1070,"config":1071},"Modern Slavery Transparency Statement",{"href":1072,"dataGaName":1073,"dataGaLocation":850},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1075},[1076,1079,1082],{"text":1077,"config":1078},"Terms",{"href":902,"dataGaName":903,"dataGaLocation":850},{"text":1080,"config":1081},"Cookies",{"dataGaName":912,"dataGaLocation":850,"id":913,"isOneTrustButton":389},{"text":1083,"config":1084},"Privacy",{"href":907,"dataGaName":908,"dataGaLocation":850},[1086],{"id":1087,"title":7,"body":385,"config":1088,"content":1090,"description":385,"extension":1094,"meta":1095,"navigation":389,"path":1096,"seo":1097,"stem":1098,"__hash__":1099},"blogAuthors/en-us/blog/authors/amanda-rueda.yml",{"template":1089},"BlogAuthor",{"name":7,"config":1091},{"headshot":1092,"ctfId":1093},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660008/Blog/Author%20Headshots/amanda_rueda_headshot.png","73IHSOcUmhlsh9XDSEiyjs","yml",{},"/en-us/blog/authors/amanda-rueda",{},"en-us/blog/authors/amanda-rueda","oWTvPkKdNmIvF6Spj5T_HWx1C29ptZ6HORAQ6XZRmGM",[1101,1109,1117],{"title":1102,"description":1103,"heroImage":1104,"category":381,"date":1105,"authors":1106,"slug":1108,"externalUrl":385},"Consolidate your GitLab stack with Gitaly on Kubernetes","Discover how to install Gitaly on Kubernetes, which is now generally available.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png","2026-05-07",[1107],"Olivier Campeau","gitaly-on-kubernetes-generally-available",{"title":1110,"description":1111,"heroImage":1112,"category":381,"date":1113,"authors":1114,"slug":1116,"externalUrl":385},"Teaching software development the easy way using GitLab","Learn how University of Washington lecturer Stephen G. Dame uses GitLab for Education to manage student assignments, distribute course materials, and provide inline code feedback at scale.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659537/Blog/Hero%20Images/display-article-image-0679-1800x945-fy26.png","2026-04-29",[1115],"Rod Burns","teaching-software-development-the-easy-way-using-gitlab",{"title":1118,"description":1119,"heroImage":1120,"category":381,"date":1121,"authors":1122,"slug":1124,"externalUrl":385},"AI is reshaping DevSecOps: Attend GitLab Transcend to see what’s next","AI-generated code is 34% of development work. Discover how to balance productivity gains with quality, reliability, and security.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1767982271/e9ogyosmuummq7j65zqg.png","2026-01-08",[1123],"Manav Khurana","ai-is-reshaping-devsecops-attend-gitlab-transcend-to-see-whats-next",{"promotions":1126},[1127,1141,1153,1165],{"id":1128,"categories":1129,"header":1131,"text":1132,"button":1133,"image":1138},"ai-modernization",[1130],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1134,"config":1135},"Get your AI maturity score",{"href":1136,"dataGaName":1137,"dataGaLocation":615},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1139},{"src":1140},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1142,"categories":1143,"header":1145,"text":1132,"button":1146,"image":1150},"devops-modernization",[1144,381],"product","Are you just managing tools or shipping innovation?",{"text":1147,"config":1148},"Get your DevOps maturity score",{"href":1149,"dataGaName":1137,"dataGaLocation":615},"/assessments/devops-modernization-assessment/",{"config":1151},{"src":1152},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1154,"categories":1155,"header":1157,"text":1132,"button":1158,"image":1162},"security-modernization",[1156],"security","Are you trading speed for security?",{"text":1159,"config":1160},"Get your security maturity score",{"href":1161,"dataGaName":1137,"dataGaLocation":615},"/assessments/security-modernization-assessment/",{"config":1163},{"src":1164},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1166,"paths":1167,"header":1170,"text":1171,"button":1172,"image":1177},"github-azure-migration",[1168,1169],"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":1173,"config":1174},"See how GitLab compares to GitHub",{"href":1175,"dataGaName":1176,"dataGaLocation":615},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1178},{"src":1152},{"header":1180,"blurb":1181,"button":1182,"secondaryButton":1187},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1183,"config":1184},"Get your free trial",{"href":1185,"dataGaName":414,"dataGaLocation":1186},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":888,"config":1188},{"href":740,"dataGaName":419,"dataGaLocation":1186},1786803755763]