[{"data":1,"prerenderedAt":819},["ShallowReactive",2],{"/topics/devops/webhooks":3,"navigation-en-us":136,"banner-en-us":559,"footer-en-us":567,"next-steps-en-us":809},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":125,"meta":126,"navigation":127,"path":128,"seo":129,"slug":6,"stem":134,"testContent":6,"type":6,"__hash__":135},"pages/en-us/topics/devops/webhooks/index.yml","",null,[8,22,28,107,109],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16,20],{"title":13,"config":14},"Topics",{"href":15},"/topics/",{"title":17,"config":18},"DevOps",{"href":19},"/topics/devops/",{"title":21},"What is a webhook?",{"type":23,"componentName":23,"componentContent":24},"CommonArticleHero",{"title":21,"text":25,"config":26},"A webhook is an automated HTTP callback that sends data from one system to another when a specific event occurs. Instead of repeatedly checking for changes, the source system pushes a payload to a configured URL as soon as the event happens. That makes webhooks a lightweight way to power integrations, notifications, and automation workflows.",{"id":27},"what-is-a-webhook",{"type":29,"componentName":29,"componentContent":30},"CommonSideNavigationWithTree",{"components":31,"anchors":81},[32,39,45,51,57,63,69,75],{"type":33,"componentName":33,"componentContent":34},"TopicsCopy",{"header":35,"config":36,"text":38},"How does a webhook work?",{"id":37},"how-does-a-webhook-work","A webhook flow is straightforward:\n\n- An event happens in the source system, such as a code push, comment, merge request, or deployment change.  \n- The source system packages event details into a payload, often JSON.  \n- It sends that payload as an HTTP POST request to a webhook endpoint URL.  \n- The receiving system validates the request and takes action, such as sending a notification or triggering automation.\n\nBecause data is sent when the event occurs, webhooks help teams build faster, event-driven workflows across modern [DevOps](https://about.gitlab.com/topics/devops/) toolchains.",{"type":33,"componentName":33,"componentContent":40},{"header":41,"config":42,"text":44},"Webhooks vs. APIs",{"id":43},"webhooks-vs-apis","Webhooks and APIs work together, but they are not the same thing. APIs let applications request data when needed, while webhooks send data automatically when a specific event happens.\n\nThe difference often comes down to polling versus pushing:\n\n- Polling means a client keeps asking an API whether something changed.  \n- A webhook means the source system pushes the payload immediately after the event occurs.\n\nThat push model reduces unnecessary requests and helps downstream systems respond faster.",{"type":33,"componentName":33,"componentContent":46},{"header":47,"config":48,"text":50},"Why teams use webhooks",{"id":49},"why-teams-use-webhooks","Teams use webhooks to keep systems synchronized without manual handoffs or constant checks for updates. In GitLab, webhooks connect GitLab to other tools and systems through real-time notifications so teams can react to changes as they happen.\n\nCommon benefits:\n\n- Faster updates between systems because data is sent when the event occurs  \n- Less overhead than repeated polling  \n- Easier automation for software delivery workflows such as notifications, issue updates, and [CI/CD](https://about.gitlab.com/topics/ci-cd/) deployments",{"type":33,"componentName":33,"componentContent":52},{"header":53,"config":54,"text":56},"Common webhook use cases",{"id":55},"common-webhook-use-cases","Webhooks are commonly used for:\n\n- Updating external issue trackers when project activity changes  \n- Notifying chat tools when pipelines complete  \n- Triggering scripts or jobs when code reaches an important branch  \n- Sending event data to downstream systems for monitoring or automation\n\nThey are especially useful in [GitOps](https://about.gitlab.com/topics/gitops/) workflows, where repository changes can act as the signal for downstream infrastructure or operational automation.",{"type":33,"componentName":33,"componentContent":58},{"header":59,"config":60,"text":62},"What is in a webhook payload?",{"id":61},"what-is-in-a-webhook-payload","A webhook payload contains details about the event that triggered the request. The exact fields depend on the application and event type, but webhook payloads are commonly sent in formats such as JSON so receiving systems can process them programmatically.\n\nIn GitLab, webhook payloads can represent many kinds of project or group events, and GitLab supports custom webhook templates so teams can control the JSON body sent to their endpoints.",{"type":33,"componentName":33,"componentContent":64},{"header":65,"config":66,"text":68},"How do you secure a webhook?",{"id":67},"how-do-you-secure-a-webhook","Because webhooks connect systems automatically, the receiver should validate both the sender and the transport.\n\nCommon practices:\n\n- Using HTTPS to protect data in transit  \n- Validating requests with a secret or token  \n- Using mutual TLS in environments that require stronger authentication  \n- Designing the receiver to be fast and stable so event handling stays reliable\n\nGitLab sends the secret token in the `X-Gitlab-Token` HTTP header so the receiving endpoint can verify the request.",{"type":33,"componentName":33,"componentContent":70},{"header":71,"text":72,"config":73},"What events can trigger a webhook in GitLab?","GitLab webhooks can react to many project and group events, including:\n\n- Pushing code to a repository  \n- Posting a comment on an issue  \n- Creating a merge request  \n- Deployment activity\n\nGitLab also supports filtering, templates, custom headers, and request history, which gives teams more control over how webhook-based integrations behave in production. Teams setting up those flows can also review the GitLab Docs page on [webhooks](https://docs.gitlab.com/user/project/integrations/webhooks/).",{"id":74},"what-events-can-trigger-a-webhook-in-gitlab",{"type":33,"componentName":33,"componentContent":76},{"header":77,"text":78,"config":79},"Conclusion","A webhook is a simple pattern with a big payoff: When something important happens, the right system is notified immediately and can respond on its own. For teams using GitLab, webhooks connect project events to external tools, automation, and operational workflows without adding manual steps. Teams exploring broader automation patterns can also learn how GitLab approaches [infrastructure automation](https://about.gitlab.com/solutions/gitops/).",{"id":80},"conclusion",{"data":82},[83,86,89,92,95,98,101,104],{"config":84,"text":35},{"href":85},"#how-does-a-webhook-work",{"config":87,"text":41},{"href":88},"#webhooks-vs-apis",{"config":90,"text":47},{"href":91},"#why-teams-use-webhooks",{"config":93,"text":53},{"href":94},"#common-webhook-use-cases",{"config":96,"text":59},{"href":97},"#what-is-in-a-webhook-payload",{"config":99,"text":65},{"href":100},"#how-do-you-secure-a-webhook",{"config":102,"text":71},{"href":103},"#what-events-can-trigger-a-webhook-in-gitlab",{"config":105,"text":77},{"href":106},"#conclusion",{"type":108,"componentName":108},"CommonNextSteps",{"type":110,"componentName":110,"componentContent":111},"CommonFaq",{"header":112,"groups":113},"Frequently Asked Questions",[114],{"questions":115},[116,119,122],{"question":117,"answer":118},"Are webhooks in real time?","They are best described as event-driven and near real time. The payload is sent when the configured event occurs, which is typically faster than waiting for the next polling cycle.",{"question":120,"answer":121},"Are webhooks the same as APIs?","No. Webhooks are not APIs, but they often depend on or complement APIs as part of a broader integration design.",{"question":123,"answer":124},"Why are webhooks useful in software delivery?","They let tools react automatically to repository, deployment, and collaboration events, which helps teams automate notifications, workflows, and release activities across the software lifecycle. That is one reason they fit naturally into automated [CI/CD pipelines](https://about.gitlab.com/topics/ci-cd/cicd-pipeline/).","yml",{},true,"/en-us/topics/devops/webhooks",{"config":130,"title":21,"ogTitle":21,"description":132,"ogDescription":133},{"noIndex":131},false,"Learn why webhooks are a lightweight way to power integrations, notifications, and automation workflows.","GitLab Topics | What is a webhook?","en-us/topics/devops/webhooks/index","_UwX2FsQ0M8eQKd2DX-QvHuT7qsmW1vUeW6Mldj19zE",{"logo":137,"freeTrial":142,"sales":147,"login":152,"items":157,"search":479,"minimal":510,"duo":529,"switchNav":538,"pricingDeployment":549},{"config":138},{"href":139,"dataGaName":140,"dataGaLocation":141},"/","gitlab logo","header",{"text":143,"config":144},"Get free trial",{"href":145,"dataGaName":146,"dataGaLocation":141},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":148,"config":149},"Request a demo",{"href":150,"dataGaName":151,"dataGaLocation":141},"/sales/?contact-topic=request-demo","sales",{"text":153,"config":154},"Sign in",{"href":155,"dataGaName":156,"dataGaLocation":141},"https://gitlab.com/users/sign_in/","sign in",[158,187,287,292,401,457],{"text":159,"config":160,"menu":162},"Platform",{"dataNavLevelOne":161},"platform",{"type":163,"columns":164},"cards",[165,171,179],{"title":159,"description":166,"link":167},"The intelligent orchestration platform for DevSecOps",{"text":168,"config":169},"Explore our Platform",{"href":170,"dataGaName":161,"dataGaLocation":141},"/platform/",{"title":172,"description":173,"link":174},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":175,"config":176},"Meet GitLab Duo",{"href":177,"dataGaName":178,"dataGaLocation":141},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":180,"description":181,"link":182},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":183,"config":184},"Learn more",{"href":185,"dataGaName":186,"dataGaLocation":141},"/why-gitlab/","why gitlab",{"text":188,"left":127,"config":189,"menu":191},"Product",{"dataNavLevelOne":190},"solutions",{"type":192,"link":193,"columns":197,"feature":266},"lists",{"text":194,"config":195},"View all Solutions",{"href":196,"dataGaName":190,"dataGaLocation":141},"/solutions/",[198,222,245],{"title":199,"description":200,"link":201,"items":206},"Automation","CI/CD and automation to accelerate deployment",{"config":202},{"icon":203,"href":204,"dataGaName":205,"dataGaLocation":141},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[207,211,214,218],{"text":208,"config":209},"CI/CD",{"href":210,"dataGaLocation":141,"dataGaName":208},"/solutions/continuous-integration/",{"text":172,"config":212},{"href":177,"dataGaLocation":141,"dataGaName":213},"gitlab duo agent platform - product menu",{"text":215,"config":216},"Source Code Management",{"href":217,"dataGaLocation":141,"dataGaName":215},"/solutions/source-code-management/",{"text":219,"config":220},"Automated Software Delivery",{"href":204,"dataGaLocation":141,"dataGaName":221},"Automated software delivery",{"title":223,"description":224,"link":225,"items":230},"Security","Deliver code faster without compromising security",{"config":226},{"href":227,"dataGaName":228,"dataGaLocation":141,"icon":229},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[231,235,240],{"text":232,"config":233},"Application Security Testing",{"href":227,"dataGaName":234,"dataGaLocation":141},"Application security testing",{"text":236,"config":237},"Software Supply Chain Security",{"href":238,"dataGaLocation":141,"dataGaName":239},"/solutions/supply-chain/","Software supply chain security",{"text":241,"config":242},"Software Compliance",{"href":243,"dataGaName":244,"dataGaLocation":141},"/solutions/software-compliance/","software compliance",{"title":246,"link":247,"items":252},"Measurement",{"config":248},{"icon":249,"href":250,"dataGaName":251,"dataGaLocation":141},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[253,257,261],{"text":254,"config":255},"Visibility & Measurement",{"href":250,"dataGaLocation":141,"dataGaName":256},"Visibility and Measurement",{"text":258,"config":259},"Value Stream Management",{"href":260,"dataGaLocation":141,"dataGaName":258},"/solutions/value-stream-management/",{"text":262,"config":263},"Analytics & Insights",{"href":264,"dataGaLocation":141,"dataGaName":265},"/solutions/analytics-and-insights/","Analytics and insights",{"title":267,"type":192,"items":268},"GitLab for",[269,275,281],{"text":270,"config":271},"Enterprise",{"icon":272,"href":273,"dataGaLocation":141,"dataGaName":274},"Building","/enterprise/","enterprise",{"text":276,"config":277},"Small Business",{"icon":278,"href":279,"dataGaLocation":141,"dataGaName":280},"Work","/small-business/","small business",{"text":282,"config":283},"Public Sector",{"icon":284,"href":285,"dataGaLocation":141,"dataGaName":286},"Organization","/solutions/public-sector/","public sector",{"text":288,"config":289},"Pricing",{"href":290,"dataGaName":291,"dataGaLocation":141,"dataNavLevelOne":291},"/pricing/","pricing",{"text":293,"config":294,"menu":296},"Resources",{"dataNavLevelOne":295},"resources",{"type":192,"link":297,"columns":301,"feature":390},{"text":298,"config":299},"View all resources",{"href":300,"dataGaName":295,"dataGaLocation":141},"/resources/",[302,335,357],{"title":303,"items":304},"Getting started",[305,310,315,320,325,330],{"text":306,"config":307},"Install",{"href":308,"dataGaName":309,"dataGaLocation":141},"/install/","install",{"text":311,"config":312},"Quick start guides",{"href":313,"dataGaName":314,"dataGaLocation":141},"/get-started/","quick setup checklists",{"text":316,"config":317},"Learn",{"href":318,"dataGaLocation":141,"dataGaName":319},"https://university.gitlab.com/","learn",{"text":321,"config":322},"Product documentation",{"href":323,"dataGaName":324,"dataGaLocation":141},"https://docs.gitlab.com/","product documentation",{"text":326,"config":327},"Best practice videos",{"href":328,"dataGaName":329,"dataGaLocation":141},"/getting-started-videos/","best practice videos",{"text":331,"config":332},"Integrations",{"href":333,"dataGaName":334,"dataGaLocation":141},"/integrations/","integrations",{"title":336,"items":337},"Discover",[338,343,348,352],{"text":339,"config":340},"Customer success stories",{"href":341,"dataGaName":342,"dataGaLocation":141},"/customers/","customer success stories",{"text":344,"config":345},"Blog",{"href":346,"dataGaName":347,"dataGaLocation":141},"/blog/","blog",{"text":349,"config":350},"The Source",{"href":351,"dataGaName":347,"dataGaLocation":141},"/the-source/",{"text":353,"config":354},"Remote",{"href":355,"dataGaName":356,"dataGaLocation":141},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":358,"items":359},"Connect",[360,365,370,375,380,385],{"text":361,"config":362},"GitLab Services",{"href":363,"dataGaName":364,"dataGaLocation":141},"/services/","services",{"text":366,"config":367},"Contribute",{"href":368,"dataGaName":369,"dataGaLocation":141},"https://contributors.gitlab.com","contribute",{"text":371,"config":372},"Community",{"href":373,"dataGaName":374,"dataGaLocation":141},"/community/","community",{"text":376,"config":377},"Forum",{"href":378,"dataGaName":379,"dataGaLocation":141},"https://forum.gitlab.com/","forum",{"text":381,"config":382},"Events",{"href":383,"dataGaName":384,"dataGaLocation":141},"/events/","events",{"text":386,"config":387},"Partners",{"href":388,"dataGaName":389,"dataGaLocation":141},"/partners/","partners",{"config":391,"title":394,"text":395,"link":396},{"background":392,"textColor":393},"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":397,"config":398},"Read the latest",{"href":399,"dataGaName":400,"dataGaLocation":141},"/whats-new/","whats new",{"text":402,"config":403,"menu":405},"Company",{"dataNavLevelOne":404},"company",{"type":192,"columns":406},[407],{"items":408},[409,414,420,422,427,432,437,442,447,452],{"text":410,"config":411},"About",{"href":412,"dataGaName":413,"dataGaLocation":141},"/company/","about",{"text":415,"config":416,"footerGa":419},"Jobs",{"href":417,"dataGaName":418,"dataGaLocation":141},"/jobs/","jobs",{"dataGaName":418},{"text":381,"config":421},{"href":383,"dataGaName":384,"dataGaLocation":141},{"text":423,"config":424},"Leadership",{"href":425,"dataGaName":426,"dataGaLocation":141},"/company/team/e-group/","leadership",{"text":428,"config":429},"Handbook",{"href":430,"dataGaName":431,"dataGaLocation":141},"https://handbook.gitlab.com/","handbook",{"text":433,"config":434},"Investor relations",{"href":435,"dataGaName":436,"dataGaLocation":141},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":438,"config":439},"Trust Center",{"href":440,"dataGaName":441,"dataGaLocation":141},"/security/","trust center",{"text":443,"config":444},"AI Transparency Center",{"href":445,"dataGaName":446,"dataGaLocation":141},"/ai-transparency-center/","ai transparency center",{"text":448,"config":449},"Newsletter",{"href":450,"dataGaName":451,"dataGaLocation":141},"/company/contact/#contact-forms","newsletter",{"text":453,"config":454},"Press",{"href":455,"dataGaName":456,"dataGaLocation":141},"/press/","press",{"text":458,"config":459,"menu":460},"Contact us",{"dataNavLevelOne":404},{"type":192,"columns":461},[462],{"items":463},[464,469,474],{"text":465,"config":466},"Talk to sales",{"href":467,"dataGaName":468,"dataGaLocation":141},"/sales/","talk to sales",{"text":470,"config":471},"Support portal",{"href":472,"dataGaName":473,"dataGaLocation":141},"https://support.gitlab.com/hc/en-us","support portal",{"text":475,"config":476},"Customer portal",{"href":477,"dataGaName":478,"dataGaLocation":141},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":480,"login":481,"suggestions":488},"Close",{"text":482,"link":483},"To search repositories and projects, login to",{"text":484,"config":485},"gitlab.com",{"href":155,"dataGaName":486,"dataGaLocation":487},"search login","search",{"text":489,"default":490},"Suggestions",[491,493,497,499,503,507],{"text":172,"config":492},{"href":177,"dataGaName":172,"dataGaLocation":487},{"text":494,"config":495},"Code Suggestions (AI)",{"href":496,"dataGaName":494,"dataGaLocation":487},"/solutions/code-suggestions/",{"text":208,"config":498},{"href":210,"dataGaName":208,"dataGaLocation":487},{"text":500,"config":501},"GitLab on AWS",{"href":502,"dataGaName":500,"dataGaLocation":487},"/partners/technology-partners/aws/",{"text":504,"config":505},"GitLab on Google Cloud",{"href":506,"dataGaName":504,"dataGaLocation":487},"/partners/technology-partners/google-cloud-platform/",{"text":508,"config":509},"Why GitLab?",{"href":185,"dataGaName":508,"dataGaLocation":487},{"freeTrial":511,"mobileIcon":516,"desktopIcon":521,"secondaryButton":524},{"text":512,"config":513},"Start free trial",{"href":514,"dataGaName":146,"dataGaLocation":515},"https://gitlab.com/-/trials/new/","nav",{"altText":517,"config":518},"Gitlab Icon",{"src":519,"dataGaName":520,"dataGaLocation":515},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":517,"config":522},{"src":523,"dataGaName":520,"dataGaLocation":515},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":525,"config":526},"Get Started",{"href":527,"dataGaName":528,"dataGaLocation":515},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":530,"mobileIcon":534,"desktopIcon":536},{"text":531,"config":532},"Learn more about GitLab Duo",{"href":177,"dataGaName":533,"dataGaLocation":515},"gitlab duo",{"altText":517,"config":535},{"src":519,"dataGaName":520,"dataGaLocation":515},{"altText":517,"config":537},{"src":523,"dataGaName":520,"dataGaLocation":515},{"button":539,"mobileIcon":544,"desktopIcon":546},{"text":540,"config":541},"/switch",{"href":542,"dataGaName":543,"dataGaLocation":515},"#contact","switch",{"altText":517,"config":545},{"src":519,"dataGaName":520,"dataGaLocation":515},{"altText":517,"config":547},{"src":548,"dataGaName":520,"dataGaLocation":515},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":550,"mobileIcon":555,"desktopIcon":557},{"text":551,"config":552},"Back to pricing",{"href":290,"dataGaName":553,"dataGaLocation":515,"icon":554},"back to pricing","GoBack",{"altText":517,"config":556},{"src":519,"dataGaName":520,"dataGaLocation":515},{"altText":517,"config":558},{"src":523,"dataGaName":520,"dataGaLocation":515},{"title":560,"button":561,"config":565},"GitLab Orbit is here: The context layer for AI agents.",{"text":183,"config":562},{"href":563,"dataGaName":564,"dataGaLocation":141},"/gitlab-orbit/","orbit",{"layout":566,"disabled":131},"release",{"data":568},{"text":569,"source":570,"edit":576,"contribute":581,"config":586,"items":591,"minimal":798},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":571,"config":572},"View page source",{"href":573,"dataGaName":574,"dataGaLocation":575},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":577,"config":578},"Edit this page",{"href":579,"dataGaName":580,"dataGaLocation":575},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":582,"config":583},"Please contribute",{"href":584,"dataGaName":585,"dataGaLocation":575},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":587,"facebook":588,"youtube":589,"linkedin":590},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[592,639,690,734,766],{"title":288,"links":593,"subMenu":608},[594,598,603],{"text":595,"config":596},"View plans",{"href":290,"dataGaName":597,"dataGaLocation":575},"view plans",{"text":599,"config":600},"Why Premium?",{"href":601,"dataGaName":602,"dataGaLocation":575},"/pricing/premium/","why premium",{"text":604,"config":605},"Why Ultimate?",{"href":606,"dataGaName":607,"dataGaLocation":575},"/pricing/ultimate/","why ultimate",[609],{"title":610,"links":611},"Contact Us",[612,615,617,619,624,629,634],{"text":613,"config":614},"Contact sales",{"href":467,"dataGaName":151,"dataGaLocation":575},{"text":470,"config":616},{"href":472,"dataGaName":473,"dataGaLocation":575},{"text":475,"config":618},{"href":477,"dataGaName":478,"dataGaLocation":575},{"text":620,"config":621},"Status",{"href":622,"dataGaName":623,"dataGaLocation":575},"https://status.gitlab.com/","status",{"text":625,"config":626},"Terms of use",{"href":627,"dataGaName":628,"dataGaLocation":575},"/terms/","terms of use",{"text":630,"config":631},"Privacy statement",{"href":632,"dataGaName":633,"dataGaLocation":575},"/privacy/","privacy statement",{"text":635,"config":636},"Cookie preferences",{"dataGaName":637,"dataGaLocation":575,"id":638,"isOneTrustButton":127},"cookie preferences","ot-sdk-btn",{"title":188,"links":640,"subMenu":649},[641,645],{"text":642,"config":643},"DevSecOps platform",{"href":170,"dataGaName":644,"dataGaLocation":575},"devsecops platform",{"text":646,"config":647},"AI-Assisted Development",{"href":177,"dataGaName":648,"dataGaLocation":575},"ai-assisted development",[650],{"title":13,"links":651},[652,657,662,665,670,675,680,685],{"text":653,"config":654},"CICD",{"href":655,"dataGaName":656,"dataGaLocation":575},"/topics/ci-cd/","cicd",{"text":658,"config":659},"GitOps",{"href":660,"dataGaName":661,"dataGaLocation":575},"/topics/gitops/","gitops",{"text":17,"config":663},{"href":19,"dataGaName":664,"dataGaLocation":575},"devops",{"text":666,"config":667},"Version Control",{"href":668,"dataGaName":669,"dataGaLocation":575},"/topics/version-control/","version control",{"text":671,"config":672},"DevSecOps",{"href":673,"dataGaName":674,"dataGaLocation":575},"/topics/devsecops/","devsecops",{"text":676,"config":677},"Cloud Native",{"href":678,"dataGaName":679,"dataGaLocation":575},"/topics/cloud-native/","cloud native",{"text":681,"config":682},"AI for Coding",{"href":683,"dataGaName":684,"dataGaLocation":575},"/topics/devops/ai-for-coding/","ai for coding",{"text":686,"config":687},"Agentic AI",{"href":688,"dataGaName":689,"dataGaLocation":575},"/topics/agentic-ai/","agentic ai",{"title":691,"links":692},"Solutions",[693,695,697,702,706,709,713,716,718,721,724,729],{"text":232,"config":694},{"href":227,"dataGaName":232,"dataGaLocation":575},{"text":221,"config":696},{"href":204,"dataGaName":205,"dataGaLocation":575},{"text":698,"config":699},"Agile development",{"href":700,"dataGaName":701,"dataGaLocation":575},"/solutions/agile-delivery/","agile delivery",{"text":703,"config":704},"SCM",{"href":217,"dataGaName":705,"dataGaLocation":575},"source code management",{"text":653,"config":707},{"href":210,"dataGaName":708,"dataGaLocation":575},"continuous integration & delivery",{"text":710,"config":711},"Value stream management",{"href":260,"dataGaName":712,"dataGaLocation":575},"value stream management",{"text":658,"config":714},{"href":715,"dataGaName":661,"dataGaLocation":575},"/solutions/gitops/",{"text":270,"config":717},{"href":273,"dataGaName":274,"dataGaLocation":575},{"text":719,"config":720},"Small business",{"href":279,"dataGaName":280,"dataGaLocation":575},{"text":722,"config":723},"Public sector",{"href":285,"dataGaName":286,"dataGaLocation":575},{"text":725,"config":726},"Education",{"href":727,"dataGaName":728,"dataGaLocation":575},"/solutions/education/","education",{"text":730,"config":731},"Financial services",{"href":732,"dataGaName":733,"dataGaLocation":575},"/solutions/finance/","financial services",{"title":293,"links":735},[736,738,740,742,745,747,750,752,754,756,758,760,762,764],{"text":306,"config":737},{"href":308,"dataGaName":309,"dataGaLocation":575},{"text":311,"config":739},{"href":313,"dataGaName":314,"dataGaLocation":575},{"text":316,"config":741},{"href":318,"dataGaName":319,"dataGaLocation":575},{"text":321,"config":743},{"href":323,"dataGaName":744,"dataGaLocation":575},"docs",{"text":344,"config":746},{"href":346,"dataGaName":347,"dataGaLocation":575},{"text":748,"config":749},"What's new",{"href":399,"dataGaName":400,"dataGaLocation":575},{"text":339,"config":751},{"href":341,"dataGaName":342,"dataGaLocation":575},{"text":353,"config":753},{"href":355,"dataGaName":356,"dataGaLocation":575},{"text":361,"config":755},{"href":363,"dataGaName":364,"dataGaLocation":575},{"text":366,"config":757},{"href":368,"dataGaName":369,"dataGaLocation":575},{"text":371,"config":759},{"href":373,"dataGaName":374,"dataGaLocation":575},{"text":376,"config":761},{"href":378,"dataGaName":379,"dataGaLocation":575},{"text":381,"config":763},{"href":383,"dataGaName":384,"dataGaLocation":575},{"text":386,"config":765},{"href":388,"dataGaName":389,"dataGaLocation":575},{"title":402,"links":767},[768,770,772,774,776,778,782,787,789,791,793],{"text":410,"config":769},{"href":412,"dataGaName":404,"dataGaLocation":575},{"text":415,"config":771},{"href":417,"dataGaName":418,"dataGaLocation":575},{"text":423,"config":773},{"href":425,"dataGaName":426,"dataGaLocation":575},{"text":428,"config":775},{"href":430,"dataGaName":431,"dataGaLocation":575},{"text":433,"config":777},{"href":435,"dataGaName":436,"dataGaLocation":575},{"text":779,"config":780},"Sustainability",{"href":781,"dataGaName":779,"dataGaLocation":575},"/sustainability/",{"text":783,"config":784},"Diversity, inclusion and belonging (DIB)",{"href":785,"dataGaName":786,"dataGaLocation":575},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":438,"config":788},{"href":440,"dataGaName":441,"dataGaLocation":575},{"text":448,"config":790},{"href":450,"dataGaName":451,"dataGaLocation":575},{"text":453,"config":792},{"href":455,"dataGaName":456,"dataGaLocation":575},{"text":794,"config":795},"Modern Slavery Transparency Statement",{"href":796,"dataGaName":797,"dataGaLocation":575},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":799},[800,803,806],{"text":801,"config":802},"Terms",{"href":627,"dataGaName":628,"dataGaLocation":575},{"text":804,"config":805},"Cookies",{"dataGaName":637,"dataGaLocation":575,"id":638,"isOneTrustButton":127},{"text":807,"config":808},"Privacy",{"href":632,"dataGaName":633,"dataGaLocation":575},{"header":810,"blurb":811,"button":812,"secondaryButton":817},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":813,"config":814},"Get your free trial",{"href":815,"dataGaName":146,"dataGaLocation":816},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":613,"config":818},{"href":467,"dataGaName":151,"dataGaLocation":816},1784923526412]