[{"data":1,"prerenderedAt":1083},["ShallowReactive",2],{"/blog/how-to-use-a-work-item-created-trigger":3,"navigation-en-us":306,"banner-en-us":733,"footer-en-us":743,"blog-post-authors-en-us-Cesar Saavedra":988,"blog-related-posts-en-us-how-to-use-a-work-item-created-trigger":1003,"blog-promotions-en-us":1020,"next-steps-en-us":1073},{"id":4,"title":5,"authors":6,"body":8,"category":283,"date":284,"description":285,"extension":286,"externalUrl":287,"faq":287,"featured":288,"heroImage":289,"meta":290,"navigation":32,"path":291,"seo":292,"slug":298,"stem":299,"tags":300,"template":304,"updatedDate":287,"__hash__":305},"blogPosts/en-us/blog/how-to-use-a-work-item-created-trigger.md","Automate work item assignment with a \"Work item created\" trigger",[7],"Cesar Saavedra",{"type":9,"value":10,"toc":266},"minimark",[11,22,33,36,41,44,53,57,60,64,67,77,85,93,101,105,112,117,120,127,131,140,146,152,155,161,167,170,174,177,183,186,192,195,201,205,208,214,218,227,231,234,250,254,257],[12,13,14,15,21],"p",{},"A new, event-driven trigger in ",[16,17,20],"a",{"href":18,"rel":19},"https://about.gitlab.com/gitlab-duo-agent-platform/",[],"GitLab Duo Agent Platform"," lets flows fire the moment a work item is created, turning triage and assignment from a manual, all-day chore into automation that runs in seconds. This comprehensive guide shows you how to use the \"Work item created\" trigger and follow along with this video demonstration:",[23,24],"iframe",{"width":25,"height":26,"src":27,"title":28,"frameBorder":29,"allow":30,"referrerPolicy":31,"allowFullScreen":32},560,315,"https://www.youtube.com/embed/WNDYRZpOeOo?si=o_n6IBoyeQO5UhDp","YouTube video player","0","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","strict-origin-when-cross-origin",true,[12,34,35],{},"See the flow fire, route, and assign in real time — and imagine what continuous, hands-off automation could do for your own projects.",[37,38,40],"h2",{"id":39},"the-problem-assignment-doesnt-scale-by-hand","The problem: Assignment doesn't scale by hand",[12,42,43],{},"Assigning work manually across projects is harder than it looks. It's not just a single decision; it’s dozens of them, every single day. For every new issue that pops up, someone has to pause, check team capacity, balance current workloads against incoming tasks, and then decide where that item should go. Factor in meetings, breaks, or PTO, and the whole process can lengthen even more. While this works at a small scale, it quickly falls apart as volume grows, leading to delayed triage, uneven work distribution, and team leads burning their time on routing tasks rather than tackling higher-value work.",[12,45,46,47,52],{},"Until recently, that friction was baked into how flows worked. Every ",[16,48,51],{"href":49,"rel":50},"https://docs.gitlab.com/user/duo_agent_platform/flows/",[],"GitLab Duo Flow"," required a human action in the UI (e.g. a mention, an assignment, or an assign-reviewer event) to get started. Driving flows programmatically or firing them the instant something happened wasn't possible without someone manually pulling the trigger. So even a well-built assignment flow still waited on a person to kick it off.",[37,54,56],{"id":55},"how-the-work-item-created-trigger-helps","How the \"Work item created\" trigger helps",[12,58,59],{},"The \"Work item created\" trigger closes that gap. It fires automatically the moment a new work item is created in a project, with no manual handoff required. Instead of a person noticing the issue, evaluating the team’s workload, and assigning it, a flow springs into action on its own and does the routing for you. With triggers, flows run when the conditions your organization defines are met — continuously, in the background — while your developers stay focused on the work that actually requires judgment.",[37,61,63],{"id":62},"value-and-benefits","Value and benefits",[12,65,66],{},"The \"Work item created\" trigger is beneficial in the following ways:",[12,68,69,73,76],{},[70,71,72],"strong",{},"Instant, hands-off triage",[74,75],"br",{},"\nAssignment and routing happen the second a work item is created, not whenever someone gets around to it.",[12,78,79,82,84],{},[70,80,81],{},"Scales to any volume",[74,83],{},"\nWhether it's one issue or hundreds, the trigger handles them all in seconds without adding to anyone's workload.",[12,86,87,90,92],{},[70,88,89],{},"Smarter, balanced assignment",[74,91],{},"\nThe flow can weigh each team member's current load and availability before assigning; the same judgment a person would apply, applied consistently.",[12,94,95,98,100],{},[70,96,97],{},"Frees your team from busywork",[74,99],{},"\nNo more manually sorting through open work items to decide who has capacity; an agent makes the call with the same information you would.",[37,102,104],{"id":103},"automatic-assignment-in-action-a-step-by-step-tutorial","Automatic assignment in action: A step-by-step tutorial",[12,106,107,108,111],{},"To make this concrete, let’s walk through a real scenario using a project called ",[70,109,110],{},"Intra-account-transfers",".",[113,114,116],"h3",{"id":115},"_1-the-trigger-configuration","1. The trigger configuration",[12,118,119],{},"We've created a flow named \"Work item assigner\" and enabled it to run whenever a work item is created in that project.",[12,121,122],{},[123,124],"img",{"alt":125,"src":126,"title":125},"“Work item assigner” flow enabled for project intra-account-transfers","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210850/Blog/Imported/test-work-item-trigger-blog-workflow-test/image5.png",[113,128,130],{"id":129},"_2-how-the-flow-is-built","2. How the flow is built",[12,132,133,134,139],{},"The \"Work item assigner\" flow uses two agents, each with its own detailed prompt spelling out the process to follow and the tools to use. The first agent uses ",[16,135,138],{"href":136,"rel":137},"https://about.gitlab.com/blog/introducing-gitlab-orbit/",[],"GitLab Orbit"," to determine the current workload of each resource across the organization. GitLab Orbit is the lifecycle context graph for software engineering that makes AI agents in Duo Agent Platform faster and more accurate.",[12,141,142],{},[123,143],{"alt":144,"src":145,"title":144},"Definition of first agent “determine_resource_with_least_open_work”","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210858/Blog/Imported/test-work-item-trigger-blog-workflow-test/image8.png",[12,147,148],{},[123,149],{"alt":150,"src":151,"title":150},"Prompt of first agent","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210866/Blog/Imported/test-work-item-trigger-blog-workflow-test/image9.png",[12,153,154],{},"The second agent identifies the person who is least loaded with open work items and assigns the new item to them.",[12,156,157],{},[123,158],{"alt":159,"src":160,"title":159},"Definition of second agent “assign_work_item_prompt”","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210875/Blog/Imported/test-work-item-trigger-blog-workflow-test/image4.png",[12,162,163],{},[123,164],{"alt":165,"src":166,"title":165},"Prompt of second agent","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210883/Blog/Imported/test-work-item-trigger-blog-workflow-test/image7.png",[12,168,169],{},"Because the assignment logic lives inside the flow, the trigger is all that's needed to set the whole process in motion.",[113,171,173],{"id":172},"_3-watching-the-trigger-fire","3. Watching the trigger fire",[12,175,176],{},"3.1. We create a brand-new work item.",[12,178,179],{},[123,180],{"alt":181,"src":182,"title":181},"New issue being created","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210892/Blog/Imported/test-work-item-trigger-blog-workflow-test/image2.png",[12,184,185],{},"3.2. The moment the issue is created, the trigger fires and the \"Work item assigner\" flow starts on its own. From the flow activity log, you can follow its progress step by step: The first agent pulls the project information and uses GitLab Orbit tools to count each user's open work items across the top-level group,",[12,187,188],{},[123,189],{"alt":190,"src":191,"title":190},"First agent responds with count of open work items for each user in top group","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210901/Blog/Imported/test-work-item-trigger-blog-workflow-test/image6.png",[12,193,194],{},"The second agent then identifies the least-loaded teammate — in the demo, that's William — and carries out the actual assignment.",[12,196,197],{},[123,198],{"alt":199,"src":200,"title":199},"Second agents selects William as the assignee for the newly created issue","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210908/Blog/Imported/test-work-item-trigger-blog-workflow-test/image1.png",[113,202,204],{"id":203},"_4-verifying-issue-has-been-assigned-to-least-loaded-individual","4. Verifying issue has been assigned to least loaded individual",[12,206,207],{},"A quick trip back to the issue confirms it: The new work item has been assigned to William, automatically.",[12,209,210],{},[123,211],{"alt":212,"src":213,"title":212},"The updated issue showing William as its assignee","https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210914/Blog/Imported/test-work-item-trigger-blog-workflow-test/image3.png",[113,215,217],{"id":216},"_5-the-benefit-seen-end-to-end","5. The benefit, seen end to end",[12,219,220,221,226],{},"The point this scenario drives home is the shift in who does the work. Instead of a person sorting through open work items to figure out who has capacity and then assigning the issue by hand, GitLab Duo Agent Platform's ",[16,222,225],{"href":223,"rel":224},"https://docs.gitlab.com/user/duo_agent_platform/flows/custom/",[],"custom flow"," invoked by the \"Work item created\" trigger does all of it, in a matter of seconds. It frees the team from a routine decision that an agent can make with the exact same information a human would use, so people can focus their attention where it counts.",[113,228,230],{"id":229},"_6-extra-credit","6. Extra credit",[12,232,233],{},"Potential enhancements to this custom flow could be:",[235,236,237,247],"ul",{},[238,239,240,241,246],"li",{},"Adding Model Context Protocol (",[16,242,245],{"href":243,"rel":244},"https://about.gitlab.com/topics/ai/model-context-protocol/",[],"MCP",") connectivity to your HR system (or PTO system) so that the agent can be improved to consider resources’ PTO dates when assigning a work item.",[238,248,249],{},"Adding MCP connectivity to your resources’ calendars so that the agent can be improved to consider resources’ availability when assigning a work item.",[37,251,253],{"id":252},"get-started","Get started",[12,255,256],{},"Assigning incoming work at scale has always been a quiet drain: dozens of small decisions a day, each requiring someone to check workloads and availability before routing an issue — and a process that breaks down as volume grows. The \"Work item created\" trigger in GitLab Duo Agent Platform removes that bottleneck by firing a flow the instant a work item is created, with no manual handoff. As the step-by-step tutorial above shows, a two-agent flow powered by GitLab Orbit can read the team's real workload and assign each new item to the person best positioned to take it, all in seconds. The result is faster triage, more balanced workloads, and a team that's free to focus on the work that genuinely needs human judgment.",[258,259,260],"blockquote",{},[12,261,262],{},[16,263,265],{"href":18,"rel":264},[],"Start a free trial of GitLab Duo Agent Platform today.",{"title":267,"searchDepth":268,"depth":268,"links":269},"",2,[270,271,272,273,282],{"id":39,"depth":268,"text":40},{"id":55,"depth":268,"text":56},{"id":62,"depth":268,"text":63},{"id":103,"depth":268,"text":104,"children":274},[275,277,278,279,280,281],{"id":115,"depth":276,"text":116},3,{"id":129,"depth":276,"text":130},{"id":172,"depth":276,"text":173},{"id":203,"depth":276,"text":204},{"id":216,"depth":276,"text":217},{"id":229,"depth":276,"text":230},{"id":252,"depth":268,"text":253},"product","2026-07-20","Our step-by-step guide walks through this AI capability, which enables instant, scalable triage without manual intervention.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",{},"/en-us/blog/how-to-use-a-work-item-created-trigger",{"title":293,"description":294,"ogTitle":293,"ogDescription":294,"ogImage":295,"ogUrl":287,"ogSiteName":296,"ogType":297,"canonicalUrls":287},"Automate work item assignment with GitLab Duo","Learn how to use the new event-driven \"Work item created\" trigger in GitLab Duo Agent Platform to automate triage and assign tasks instantly.","https://res.cloudinary.com/about-gitlab-com/image/upload/q_auto/f_auto/v1774465167/n5hlvrsrheadeccyr1oz.png","GitLab","article","how-to-use-a-work-item-created-trigger","en-us/blog/how-to-use-a-work-item-created-trigger",[301,302,303],"AI","tutorial","features","BlogPost","KFTFdqAdL93loJW4Vpz-qF8G48PtzYS6GoCoZaZBDPM",{"logo":307,"freeTrial":312,"sales":317,"login":322,"items":327,"search":653,"minimal":684,"duo":703,"switchNav":712,"pricingDeployment":723},{"config":308},{"href":309,"dataGaName":310,"dataGaLocation":311},"/","gitlab logo","header",{"text":313,"config":314},"Get free trial",{"href":315,"dataGaName":316,"dataGaLocation":311},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":318,"config":319},"Request a demo",{"href":320,"dataGaName":321,"dataGaLocation":311},"/sales/?contact-topic=request-demo","sales",{"text":323,"config":324},"Sign in",{"href":325,"dataGaName":326,"dataGaLocation":311},"https://gitlab.com/users/sign_in/","sign in",[328,356,456,461,575,631],{"text":329,"config":330,"menu":332},"Platform",{"dataNavLevelOne":331},"platform",{"type":333,"columns":334},"cards",[335,341,348],{"title":329,"description":336,"link":337},"The intelligent orchestration platform for DevSecOps",{"text":338,"config":339},"Explore our Platform",{"href":340,"dataGaName":331,"dataGaLocation":311},"/platform/",{"title":20,"description":342,"link":343},"Agentic AI for the entire software lifecycle",{"text":344,"config":345},"Meet GitLab Duo",{"href":346,"dataGaName":347,"dataGaLocation":311},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":349,"description":350,"link":351},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":352,"config":353},"Learn more",{"href":354,"dataGaName":355,"dataGaLocation":311},"/why-gitlab/","why gitlab",{"text":357,"left":32,"config":358,"menu":360},"Product",{"dataNavLevelOne":359},"solutions",{"type":361,"link":362,"columns":366,"feature":435},"lists",{"text":363,"config":364},"View all Solutions",{"href":365,"dataGaName":359,"dataGaLocation":311},"/solutions/",[367,391,414],{"title":368,"description":369,"link":370,"items":375},"Automation","CI/CD and automation to accelerate deployment",{"config":371},{"icon":372,"href":373,"dataGaName":374,"dataGaLocation":311},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[376,380,383,387],{"text":377,"config":378},"CI/CD",{"href":379,"dataGaLocation":311,"dataGaName":377},"/solutions/continuous-integration/",{"text":20,"config":381},{"href":346,"dataGaLocation":311,"dataGaName":382},"gitlab duo agent platform - product menu",{"text":384,"config":385},"Source Code Management",{"href":386,"dataGaLocation":311,"dataGaName":384},"/solutions/source-code-management/",{"text":388,"config":389},"Automated Software Delivery",{"href":373,"dataGaLocation":311,"dataGaName":390},"Automated software delivery",{"title":392,"description":393,"link":394,"items":399},"Security","Deliver code faster without compromising security",{"config":395},{"href":396,"dataGaName":397,"dataGaLocation":311,"icon":398},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[400,404,409],{"text":401,"config":402},"Application Security Testing",{"href":396,"dataGaName":403,"dataGaLocation":311},"Application security testing",{"text":405,"config":406},"Software Supply Chain Security",{"href":407,"dataGaLocation":311,"dataGaName":408},"/solutions/supply-chain/","Software supply chain security",{"text":410,"config":411},"Software Compliance",{"href":412,"dataGaName":413,"dataGaLocation":311},"/solutions/software-compliance/","software compliance",{"title":415,"link":416,"items":421},"Measurement",{"config":417},{"icon":418,"href":419,"dataGaName":420,"dataGaLocation":311},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[422,426,430],{"text":423,"config":424},"Visibility & Measurement",{"href":419,"dataGaLocation":311,"dataGaName":425},"Visibility and Measurement",{"text":427,"config":428},"Value Stream Management",{"href":429,"dataGaLocation":311,"dataGaName":427},"/solutions/value-stream-management/",{"text":431,"config":432},"Analytics & Insights",{"href":433,"dataGaLocation":311,"dataGaName":434},"/solutions/analytics-and-insights/","Analytics and insights",{"title":436,"type":361,"items":437},"GitLab for",[438,444,450],{"text":439,"config":440},"Enterprise",{"icon":441,"href":442,"dataGaLocation":311,"dataGaName":443},"Building","/enterprise/","enterprise",{"text":445,"config":446},"Small Business",{"icon":447,"href":448,"dataGaLocation":311,"dataGaName":449},"Work","/small-business/","small business",{"text":451,"config":452},"Public Sector",{"icon":453,"href":454,"dataGaLocation":311,"dataGaName":455},"Organization","/solutions/public-sector/","public sector",{"text":457,"config":458},"Pricing",{"href":459,"dataGaName":460,"dataGaLocation":311,"dataNavLevelOne":460},"/pricing/","pricing",{"text":462,"config":463,"menu":465},"Resources",{"dataNavLevelOne":464},"resources",{"type":361,"link":466,"columns":470,"feature":564},{"text":467,"config":468},"View all resources",{"href":469,"dataGaName":464,"dataGaLocation":311},"/resources/",[471,504,531],{"title":472,"items":473},"Getting started",[474,479,484,489,494,499],{"text":475,"config":476},"Install",{"href":477,"dataGaName":478,"dataGaLocation":311},"/install/","install",{"text":480,"config":481},"Quick start guides",{"href":482,"dataGaName":483,"dataGaLocation":311},"/get-started/","quick setup checklists",{"text":485,"config":486},"Learn",{"href":487,"dataGaLocation":311,"dataGaName":488},"https://university.gitlab.com/","learn",{"text":490,"config":491},"Product documentation",{"href":492,"dataGaName":493,"dataGaLocation":311},"https://docs.gitlab.com/","product documentation",{"text":495,"config":496},"Best practice videos",{"href":497,"dataGaName":498,"dataGaLocation":311},"/getting-started-videos/","best practice videos",{"text":500,"config":501},"Integrations",{"href":502,"dataGaName":503,"dataGaLocation":311},"/integrations/","integrations",{"title":505,"items":506},"Discover",[507,512,517,522,526],{"text":508,"config":509},"Customer success stories",{"href":510,"dataGaName":511,"dataGaLocation":311},"/customers/","customer success stories",{"text":513,"config":514},"Blog",{"href":515,"dataGaName":516,"dataGaLocation":311},"/blog/","blog",{"text":518,"config":519},"Demo Hub",{"href":520,"dataGaName":521,"dataGaLocation":311},"/demo-hub/","demo hub",{"text":523,"config":524},"The Source",{"href":525,"dataGaName":516,"dataGaLocation":311},"/the-source/",{"text":527,"config":528},"Remote",{"href":529,"dataGaName":530,"dataGaLocation":311},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":532,"items":533},"Connect",[534,539,544,549,554,559],{"text":535,"config":536},"GitLab Services",{"href":537,"dataGaName":538,"dataGaLocation":311},"/services/","services",{"text":540,"config":541},"Contribute",{"href":542,"dataGaName":543,"dataGaLocation":311},"https://contributors.gitlab.com","contribute",{"text":545,"config":546},"Community",{"href":547,"dataGaName":548,"dataGaLocation":311},"/community/","community",{"text":550,"config":551},"Forum",{"href":552,"dataGaName":553,"dataGaLocation":311},"https://forum.gitlab.com/","forum",{"text":555,"config":556},"Events",{"href":557,"dataGaName":558,"dataGaLocation":311},"/events/","events",{"text":560,"config":561},"Partners",{"href":562,"dataGaName":563,"dataGaLocation":311},"/partners/","partners",{"config":565,"title":568,"text":569,"link":570},{"background":566,"textColor":567},"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":571,"config":572},"Read the latest",{"href":573,"dataGaName":574,"dataGaLocation":311},"/whats-new/","whats new",{"text":576,"config":577,"menu":579},"Company",{"dataNavLevelOne":578},"company",{"type":361,"columns":580},[581],{"items":582},[583,588,594,596,601,606,611,616,621,626],{"text":584,"config":585},"About",{"href":586,"dataGaName":587,"dataGaLocation":311},"/company/","about",{"text":589,"config":590,"footerGa":593},"Jobs",{"href":591,"dataGaName":592,"dataGaLocation":311},"/jobs/","jobs",{"dataGaName":592},{"text":555,"config":595},{"href":557,"dataGaName":558,"dataGaLocation":311},{"text":597,"config":598},"Leadership",{"href":599,"dataGaName":600,"dataGaLocation":311},"/company/team/e-group/","leadership",{"text":602,"config":603},"Handbook",{"href":604,"dataGaName":605,"dataGaLocation":311},"https://handbook.gitlab.com/","handbook",{"text":607,"config":608},"Investor relations",{"href":609,"dataGaName":610,"dataGaLocation":311},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":612,"config":613},"Trust Center",{"href":614,"dataGaName":615,"dataGaLocation":311},"/security/","trust center",{"text":617,"config":618},"AI Transparency Center",{"href":619,"dataGaName":620,"dataGaLocation":311},"/ai-transparency-center/","ai transparency center",{"text":622,"config":623},"Newsletter",{"href":624,"dataGaName":625,"dataGaLocation":311},"/company/contact/#contact-forms","newsletter",{"text":627,"config":628},"Press",{"href":629,"dataGaName":630,"dataGaLocation":311},"/press/","press",{"text":632,"config":633,"menu":634},"Contact us",{"dataNavLevelOne":578},{"type":361,"columns":635},[636],{"items":637},[638,643,648],{"text":639,"config":640},"Talk to sales",{"href":641,"dataGaName":642,"dataGaLocation":311},"/sales/","talk to sales",{"text":644,"config":645},"Support portal",{"href":646,"dataGaName":647,"dataGaLocation":311},"https://support.gitlab.com/hc/en-us","support portal",{"text":649,"config":650},"Customer portal",{"href":651,"dataGaName":652,"dataGaLocation":311},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":654,"login":655,"suggestions":662},"Close",{"text":656,"link":657},"To search repositories and projects, login to",{"text":658,"config":659},"gitlab.com",{"href":325,"dataGaName":660,"dataGaLocation":661},"search login","search",{"text":663,"default":664},"Suggestions",[665,667,671,673,677,681],{"text":20,"config":666},{"href":346,"dataGaName":20,"dataGaLocation":661},{"text":668,"config":669},"Code Suggestions (AI)",{"href":670,"dataGaName":668,"dataGaLocation":661},"/solutions/code-suggestions/",{"text":377,"config":672},{"href":379,"dataGaName":377,"dataGaLocation":661},{"text":674,"config":675},"GitLab on AWS",{"href":676,"dataGaName":674,"dataGaLocation":661},"/partners/technology-partners/aws/",{"text":678,"config":679},"GitLab on Google Cloud",{"href":680,"dataGaName":678,"dataGaLocation":661},"/partners/technology-partners/google-cloud-platform/",{"text":682,"config":683},"Why GitLab?",{"href":354,"dataGaName":682,"dataGaLocation":661},{"freeTrial":685,"mobileIcon":690,"desktopIcon":695,"secondaryButton":698},{"text":686,"config":687},"Start free trial",{"href":688,"dataGaName":316,"dataGaLocation":689},"https://gitlab.com/-/trials/new/","nav",{"altText":691,"config":692},"Gitlab Icon",{"src":693,"dataGaName":694,"dataGaLocation":689},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":691,"config":696},{"src":697,"dataGaName":694,"dataGaLocation":689},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":699,"config":700},"Get Started",{"href":701,"dataGaName":702,"dataGaLocation":689},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":704,"mobileIcon":708,"desktopIcon":710},{"text":705,"config":706},"Learn more about GitLab Duo",{"href":346,"dataGaName":707,"dataGaLocation":689},"gitlab duo",{"altText":691,"config":709},{"src":693,"dataGaName":694,"dataGaLocation":689},{"altText":691,"config":711},{"src":697,"dataGaName":694,"dataGaLocation":689},{"button":713,"mobileIcon":718,"desktopIcon":720},{"text":714,"config":715},"/switch",{"href":716,"dataGaName":717,"dataGaLocation":689},"#contact","switch",{"altText":691,"config":719},{"src":693,"dataGaName":694,"dataGaLocation":689},{"altText":691,"config":721},{"src":722,"dataGaName":694,"dataGaLocation":689},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":724,"mobileIcon":729,"desktopIcon":731},{"text":725,"config":726},"Back to pricing",{"href":459,"dataGaName":727,"dataGaLocation":689,"icon":728},"back to pricing","GoBack",{"altText":691,"config":730},{"src":693,"dataGaName":694,"dataGaLocation":689},{"altText":691,"config":732},{"src":697,"dataGaName":694,"dataGaLocation":689},{"title":734,"titleMobile":735,"button":736,"config":741},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":352,"config":737},{"href":738,"dataGaName":739,"dataGaLocation":740},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":742,"disabled":288},"release",{"data":744},{"text":745,"source":746,"edit":752,"contribute":757,"config":762,"items":767,"minimal":977},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":747,"config":748},"View page source",{"href":749,"dataGaName":750,"dataGaLocation":751},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":753,"config":754},"Edit this page",{"href":755,"dataGaName":756,"dataGaLocation":751},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":758,"config":759},"Please contribute",{"href":760,"dataGaName":761,"dataGaLocation":751},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":763,"facebook":764,"youtube":765,"linkedin":766},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[768,815,869,913,945],{"title":457,"links":769,"subMenu":784},[770,774,779],{"text":771,"config":772},"View plans",{"href":459,"dataGaName":773,"dataGaLocation":751},"view plans",{"text":775,"config":776},"Why Premium?",{"href":777,"dataGaName":778,"dataGaLocation":751},"/pricing/premium/","why premium",{"text":780,"config":781},"Why Ultimate?",{"href":782,"dataGaName":783,"dataGaLocation":751},"/pricing/ultimate/","why ultimate",[785],{"title":786,"links":787},"Contact Us",[788,791,793,795,800,805,810],{"text":789,"config":790},"Contact sales",{"href":641,"dataGaName":321,"dataGaLocation":751},{"text":644,"config":792},{"href":646,"dataGaName":647,"dataGaLocation":751},{"text":649,"config":794},{"href":651,"dataGaName":652,"dataGaLocation":751},{"text":796,"config":797},"Status",{"href":798,"dataGaName":799,"dataGaLocation":751},"https://status.gitlab.com/","status",{"text":801,"config":802},"Terms of use",{"href":803,"dataGaName":804,"dataGaLocation":751},"/terms/","terms of use",{"text":806,"config":807},"Privacy statement",{"href":808,"dataGaName":809,"dataGaLocation":751},"/privacy/","privacy statement",{"text":811,"config":812},"Cookie preferences",{"dataGaName":813,"dataGaLocation":751,"id":814,"isOneTrustButton":32},"cookie preferences","ot-sdk-btn",{"title":357,"links":816,"subMenu":825},[817,821],{"text":818,"config":819},"DevSecOps platform",{"href":340,"dataGaName":820,"dataGaLocation":751},"devsecops platform",{"text":822,"config":823},"AI-Assisted Development",{"href":346,"dataGaName":824,"dataGaLocation":751},"ai-assisted development",[826],{"title":827,"links":828},"Topics",[829,834,839,844,849,854,859,864],{"text":830,"config":831},"CICD",{"href":832,"dataGaName":833,"dataGaLocation":751},"/topics/ci-cd/","cicd",{"text":835,"config":836},"GitOps",{"href":837,"dataGaName":838,"dataGaLocation":751},"/topics/gitops/","gitops",{"text":840,"config":841},"DevOps",{"href":842,"dataGaName":843,"dataGaLocation":751},"/topics/devops/","devops",{"text":845,"config":846},"Version Control",{"href":847,"dataGaName":848,"dataGaLocation":751},"/topics/version-control/","version control",{"text":850,"config":851},"DevSecOps",{"href":852,"dataGaName":853,"dataGaLocation":751},"/topics/devsecops/","devsecops",{"text":855,"config":856},"Cloud Native",{"href":857,"dataGaName":858,"dataGaLocation":751},"/topics/cloud-native/","cloud native",{"text":860,"config":861},"AI for Coding",{"href":862,"dataGaName":863,"dataGaLocation":751},"/topics/devops/ai-for-coding/","ai for coding",{"text":865,"config":866},"Agentic AI",{"href":867,"dataGaName":868,"dataGaLocation":751},"/topics/agentic-ai/","agentic ai",{"title":870,"links":871},"Solutions",[872,874,876,881,885,888,892,895,897,900,903,908],{"text":401,"config":873},{"href":396,"dataGaName":401,"dataGaLocation":751},{"text":390,"config":875},{"href":373,"dataGaName":374,"dataGaLocation":751},{"text":877,"config":878},"Agile development",{"href":879,"dataGaName":880,"dataGaLocation":751},"/solutions/agile-delivery/","agile delivery",{"text":882,"config":883},"SCM",{"href":386,"dataGaName":884,"dataGaLocation":751},"source code management",{"text":830,"config":886},{"href":379,"dataGaName":887,"dataGaLocation":751},"continuous integration & delivery",{"text":889,"config":890},"Value stream management",{"href":429,"dataGaName":891,"dataGaLocation":751},"value stream management",{"text":835,"config":893},{"href":894,"dataGaName":838,"dataGaLocation":751},"/solutions/gitops/",{"text":439,"config":896},{"href":442,"dataGaName":443,"dataGaLocation":751},{"text":898,"config":899},"Small business",{"href":448,"dataGaName":449,"dataGaLocation":751},{"text":901,"config":902},"Public sector",{"href":454,"dataGaName":455,"dataGaLocation":751},{"text":904,"config":905},"Education",{"href":906,"dataGaName":907,"dataGaLocation":751},"/solutions/education/","education",{"text":909,"config":910},"Financial services",{"href":911,"dataGaName":912,"dataGaLocation":751},"/solutions/finance/","financial services",{"title":462,"links":914},[915,917,919,921,924,926,929,931,933,935,937,939,941,943],{"text":475,"config":916},{"href":477,"dataGaName":478,"dataGaLocation":751},{"text":480,"config":918},{"href":482,"dataGaName":483,"dataGaLocation":751},{"text":485,"config":920},{"href":487,"dataGaName":488,"dataGaLocation":751},{"text":490,"config":922},{"href":492,"dataGaName":923,"dataGaLocation":751},"docs",{"text":513,"config":925},{"href":515,"dataGaName":516,"dataGaLocation":751},{"text":927,"config":928},"What's new",{"href":573,"dataGaName":574,"dataGaLocation":751},{"text":508,"config":930},{"href":510,"dataGaName":511,"dataGaLocation":751},{"text":527,"config":932},{"href":529,"dataGaName":530,"dataGaLocation":751},{"text":535,"config":934},{"href":537,"dataGaName":538,"dataGaLocation":751},{"text":540,"config":936},{"href":542,"dataGaName":543,"dataGaLocation":751},{"text":545,"config":938},{"href":547,"dataGaName":548,"dataGaLocation":751},{"text":550,"config":940},{"href":552,"dataGaName":553,"dataGaLocation":751},{"text":555,"config":942},{"href":557,"dataGaName":558,"dataGaLocation":751},{"text":560,"config":944},{"href":562,"dataGaName":563,"dataGaLocation":751},{"title":576,"links":946},[947,949,951,953,955,957,961,966,968,970,972],{"text":584,"config":948},{"href":586,"dataGaName":578,"dataGaLocation":751},{"text":589,"config":950},{"href":591,"dataGaName":592,"dataGaLocation":751},{"text":597,"config":952},{"href":599,"dataGaName":600,"dataGaLocation":751},{"text":602,"config":954},{"href":604,"dataGaName":605,"dataGaLocation":751},{"text":607,"config":956},{"href":609,"dataGaName":610,"dataGaLocation":751},{"text":958,"config":959},"Sustainability",{"href":960,"dataGaName":958,"dataGaLocation":751},"/sustainability/",{"text":962,"config":963},"Diversity, inclusion and belonging (DIB)",{"href":964,"dataGaName":965,"dataGaLocation":751},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":612,"config":967},{"href":614,"dataGaName":615,"dataGaLocation":751},{"text":622,"config":969},{"href":624,"dataGaName":625,"dataGaLocation":751},{"text":627,"config":971},{"href":629,"dataGaName":630,"dataGaLocation":751},{"text":973,"config":974},"Modern Slavery Transparency Statement",{"href":975,"dataGaName":976,"dataGaLocation":751},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":978},[979,982,985],{"text":980,"config":981},"Terms",{"href":803,"dataGaName":804,"dataGaLocation":751},{"text":983,"config":984},"Cookies",{"dataGaName":813,"dataGaLocation":751,"id":814,"isOneTrustButton":32},{"text":986,"config":987},"Privacy",{"href":808,"dataGaName":809,"dataGaLocation":751},[989],{"id":990,"title":7,"body":287,"config":991,"content":993,"description":287,"extension":997,"meta":998,"navigation":32,"path":999,"seo":1000,"stem":1001,"__hash__":1002},"blogAuthors/en-us/blog/authors/cesar-saavedra.yml",{"template":992},"BlogAuthor",{"name":7,"config":994},{"headshot":995,"ctfId":996},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659600/Blog/Author%20Headshots/csaavedra1-headshot.jpg","csaavedra1","yml",{},"/en-us/blog/authors/cesar-saavedra",{},"en-us/blog/authors/cesar-saavedra","SMqRf-z0W5m5GROz_dXGjmuIb3YaOwm_n_RfeK16GcA",[1004,1010,1014],{"title":1005,"description":1006,"heroImage":1007,"category":283,"date":1008,"authors":287,"slug":287,"externalUrl":1009},"GitLab Patch Release: 19.2.2, 19.1.4, 19.0.6","Learn about this latest patch release for Community Edition and Enterprise Edition.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661926/Blog/Hero%20Images/security-patch-blog-image-r2-0506-700x400-fy25_2x.jpg","2026-08-12","https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-2-released/",{"title":1011,"description":1006,"heroImage":1007,"category":283,"date":1012,"authors":287,"slug":287,"externalUrl":1013}," GitLab Patch Release: 19.2.1, 19.1.3, 19.0.5","2026-07-29","https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-1-released/",{"title":1015,"description":1016,"heroImage":1017,"category":283,"date":1018,"authors":287,"slug":287,"externalUrl":1019},"GitLab 19.2 released","This latest release includes the general availability of GitLab Duo CLI, Duo custom flows, and scheduled pipeline execution policies.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png","2026-07-16","https://docs.gitlab.com/releases/19/gitlab-19-2-released/",{"promotions":1021},[1022,1036,1047,1059],{"id":1023,"categories":1024,"header":1026,"text":1027,"button":1028,"image":1033},"ai-modernization",[1025],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1029,"config":1030},"Get your AI maturity score",{"href":1031,"dataGaName":1032,"dataGaLocation":516},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1034},{"src":1035},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1037,"categories":1038,"header":1039,"text":1027,"button":1040,"image":1044},"devops-modernization",[283,853],"Are you just managing tools or shipping innovation?",{"text":1041,"config":1042},"Get your DevOps maturity score",{"href":1043,"dataGaName":1032,"dataGaLocation":516},"/assessments/devops-modernization-assessment/",{"config":1045},{"src":1046},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1048,"categories":1049,"header":1051,"text":1027,"button":1052,"image":1056},"security-modernization",[1050],"security","Are you trading speed for security?",{"text":1053,"config":1054},"Get your security maturity score",{"href":1055,"dataGaName":1032,"dataGaLocation":516},"/assessments/security-modernization-assessment/",{"config":1057},{"src":1058},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1060,"paths":1061,"header":1064,"text":1065,"button":1066,"image":1071},"github-azure-migration",[1062,1063],"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":1067,"config":1068},"See how GitLab compares to GitHub",{"href":1069,"dataGaName":1070,"dataGaLocation":516},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1072},{"src":1046},{"header":1074,"blurb":1075,"button":1076,"secondaryButton":1081},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1077,"config":1078},"Get your free trial",{"href":1079,"dataGaName":316,"dataGaLocation":1080},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":789,"config":1082},{"href":641,"dataGaName":321,"dataGaLocation":1080},1786734955016]