[{"data":1,"prerenderedAt":757},["ShallowReactive",2],{"/de-de/blog/gitlab-duo-cli":3,"navigation-de-de":36,"banner-de-de":439,"footer-de-de":449,"blog-post-authors-de-de-John Coghlan":654,"blog-related-posts-de-de-gitlab-duo-cli":668,"assessment-promotions-de-de":707,"next-steps-de-de":747},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":25,"isFeatured":11,"meta":26,"navigation":11,"path":27,"publishedDate":20,"seo":28,"stem":32,"tagSlugs":33,"__hash__":35},"blogPosts/de-de/blog/gitlab-duo-cli.yml","Gitlab Duo Cli",[7],"john-coghlan",null,"product",{"featured":11,"template":12,"slug":13},true,"BlogPost","gitlab-duo-cli",{"title":15,"description":16,"authors":17,"heroImage":19,"date":20,"body":21,"category":9,"tags":22},"GitLab Duo CLI: Agentenbasierte KI jetzt auch im Terminal","GitLab Duo CLI bringt agentenbasierte KI der Duo Agent Platform ins Terminal – mit interaktivem Chat-Modus und Headless-Modus für CI/CD-Automatisierung.",[18],"John Coghlan","https://res.cloudinary.com/about-gitlab-com/image/upload/v1775561395/bhe1as7ttjvzltxwgo5m.png","2026-04-07","Wer Pipelines debuggt oder KI in automatisierte CI/CD-Workflows integriert, ohne dass jemand dabei zusieht, kommt mit bisherigen KI-Assistenten schnell an Grenzen: Diese konzentrieren sich auf Code-Erstellung und decken damit nur einen Teil des Software-Lebenszyklus ab. GitLab Duo CLI, jetzt in der öffentlichen Beta, schließt diese Lücke.\n\nGitLab Duo CLI bringt die agentenbasierte KI der [Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/) ins Terminal – mit vollständiger Unterstützung für automatisierte Workflows und einem interaktiven Chat-Modus, wenn ein Mensch im Loop bleiben soll. Dieser Artikel beschreibt, was Duo CLI leistet, wie die beiden Betriebsmodi funktionieren und welches Sicherheitsmodell dahintersteht.\n\n## GitLab Duo CLI installieren\n\nWer GLab (die GitLab CLI) bereits installiert hat, führt folgenden Befehl aus:\n\n```\nglab duo cli\n```\n\nAnschließend einfach den Anweisungen folgen.\n\nOhne GLab: [Hier installieren](https://gitlab.com/gitlab-org/cli/#installation) oder [Duo CLI als eigenständiges Tool verwenden](https://docs.gitlab.com/user/gitlab_duo_cli/#without-the-gitlab-cli).\n\n## Warum das Terminal – und warum jetzt\n\nDie erste Generation von KI-Assistenten für die Softwareentwicklung war auf die IDE ausgerichtet und konzentrierte sich ausschließlich auf Code-Erstellung. Das war sinnvoll, solange Autovervollständigung im Vordergrund stand. Sobald KI-Agenten jedoch eigenständig handeln – Tests ausführen, Pipelines auslösen, Vulnerability-Scans überwachen und mehr – reicht die IDE als einzige Abstraktionsebene nicht mehr aus.\n\nDie besten Entwickler-Tools funktionieren sowohl für Menschen als auch für Maschinen. CLIs haben sich über Jahrzehnte in genau diese Richtung entwickelt. Sie sind komponierbar: Output lässt sich weiterleiten, Befehle verketten, Skripte einbetten. Sie sind nachvollziehbar: Wenn etwas schiefläuft, führt man denselben Befehl aus und sieht genau, was der Agent gesehen hat. Und sie sind transparent: keine Hintergrundprozesse, kein Initialisierungsaufwand, kein Protokoll, das beim Fehlerfall erst entschlüsselt werden muss.\n\nTerminal-Interfaces eignen sich besser für Automatisierung, Scripting und portable Umgebungen. IDE-Interfaces bieten sich für interaktive, kontextreiche Entwicklung an. GitLab Duo CLI ist für ersteres ausgelegt – Duo Agentic Chat in IDE und UI deckt letzteres ab.\n\n## Was GitLab Duo CLI kann\n\nMit GitLab Duo CLI lässt sich Code erstellen, anpassen, refaktorieren und modernisieren – vergleichbar mit anderen KI-gestützten Coding-Assistenten für das Terminal. Darüber hinaus sind alle Agenten und Flows der GitLab Duo Agent Platform über Duo CLI zugänglich: von der Automatisierung von CI/CD-Konfigurationen und Pipeline-Optimierungen bis hin zur autonomen Ausführung mehrstufiger Entwicklungsaufgaben über den gesamten Software-Lebenszyklus.\n\nGitLab Duo CLI läuft in zwei Modi:\n\n* **Interaktiver Modus** – eine editor-unabhängige Terminal-Chat-Umgebung mit menschlicher Freigabe vor jeder Aktion. Geeignet für das Verstehen von Codebase-Strukturen, das Erstellen von Code, die Fehlersuche oder das Troubleshooting von Pipelines.\n* **Headless-Modus** – nicht-interaktiv, ausgelegt für Runner, Skripte und automatisierte Workflows. Direkt in CI/CD einbinden, ohne manuelle Eingriffe.\n\n## KI mit Leitplanken\n\nAgentenbasierte KI, die eigenständig Aktionen ausführen kann, birgt reale Sicherheitsrisiken. GitLab Duo CLI adressiert diese auf Plattformebene – nicht nachträglich:\n\n* **Human-in-the-Loop standardmäßig** im interaktiven Modus: Keine Aktion wird ohne Freigabe ausgeführt.\n* **Prompt-Injection-Erkennung** ist in der GitLab Duo Agent Platform integriert, nicht nachgerüstet.\n* **Composite Identity** – eine kombinierte Identität, die sowohl den Nutzenden als auch den Agenten repräsentiert – begrenzt die Zugriffsrechte des Agenten und macht jede KI-gesteuerte Aktion nachvollziehbar.\n\nGitLab Duo CLI unterstützt darüber hinaus [benutzerdefinierte Instruktionsdateien](https://docs.gitlab.com/user/duo_agent_platform/customize/) – z. B. `chat-rules.md`, `AGENTS.md` und `SKILL.md` – die festlegen, welche Aufgaben, Ressourcen, Kontexte und Aktionen ein Agent ausführen darf. **Das ist das Prinzip der minimalen Rechtevergabe auf KI angewendet: Der Agent tut genau das, wozu er autorisiert wurde – und nichts darüber hinaus.**\n\nGitLab Duo CLI in Aktion:\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1179964611?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab Duo CLI Beta Demo V1\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## GitLab Duo CLI ausprobieren\n\nDen Einstieg bietet ein [kostenloser Test der GitLab Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/).\n\nWer GitLab bereits im Free Tier nutzt, kann GitLab Duo Agent Platform durch [wenige einfache Schritte](https://docs.gitlab.com/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom) aktivieren.\n\nBestehende GitLab-Premium- oder -Ultimate-Abonnenten können Duo CLI nutzen, indem sie [Duo Agent Platform aktivieren](https://docs.gitlab.com/user/duo_agent_platform/turn_on_off/) – die benötigten GitLab Credits sind im jeweiligen Abonnement [bereits enthalten](https://docs.gitlab.com/subscriptions/gitlab_credits/#included-credits).\n",[23,9,24],"AI/ML","features","yml",{},"/de-de/blog/gitlab-duo-cli",{"config":29,"title":15,"description":31},{"noIndex":30},false,"GitLab Duo CLI bringt agentenbasierte KI ins Terminal: interaktiver Chat-Modus und Headless-Modus für automatisierte CI/CD-Workflows. Jetzt in der Beta.","de-de/blog/gitlab-duo-cli",[34,9,24],"aiml","Cn-mp7ll-F6sytmX1hOT6M_4-K8CrPsqAR_wfFnqGIs",{"data":37},{"logo":38,"freeTrial":43,"sales":48,"login":53,"items":58,"search":367,"minimal":402,"duo":420,"pricingDeployment":429},{"config":39},{"href":40,"dataGaName":41,"dataGaLocation":42},"/de-de/","gitlab logo","header",{"text":44,"config":45},"Kostenlose Testversion anfordern",{"href":46,"dataGaName":47,"dataGaLocation":42},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":49,"config":50},"Vertrieb kontaktieren",{"href":51,"dataGaName":52,"dataGaLocation":42},"/de-de/sales/","sales",{"text":54,"config":55},"Anmelden",{"href":56,"dataGaName":57,"dataGaLocation":42},"https://gitlab.com/users/sign_in/","sign in",[59,86,182,187,288,348],{"text":60,"config":61,"cards":63},"Plattform",{"dataNavLevelOne":62},"platform",[64,70,78],{"title":60,"description":65,"link":66},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":67,"config":68},"Erkunde unsere Plattform",{"href":69,"dataGaName":62,"dataGaLocation":42},"/de-de/platform/",{"title":71,"description":72,"link":73},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":74,"config":75},"Lerne GitLab Duo kennen",{"href":76,"dataGaName":77,"dataGaLocation":42},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":79,"description":80,"link":81},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":82,"config":83},"Mehr erfahren",{"href":84,"dataGaName":85,"dataGaLocation":42},"/de-de/why-gitlab/","why gitlab",{"text":87,"left":11,"config":88,"link":90,"lists":94,"footer":164},"Produkt",{"dataNavLevelOne":89},"solutions",{"text":91,"config":92},"Alle Lösungen anzeigen",{"href":93,"dataGaName":89,"dataGaLocation":42},"/de-de/solutions/",[95,120,142],{"title":96,"description":97,"link":98,"items":103},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":99},{"icon":100,"href":101,"dataGaName":102,"dataGaLocation":42},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[104,108,111,116],{"text":105,"config":106},"CI/CD",{"href":107,"dataGaLocation":42,"dataGaName":105},"/de-de/solutions/continuous-integration/",{"text":71,"config":109},{"href":76,"dataGaLocation":42,"dataGaName":110},"gitlab duo agent platform - product menu",{"text":112,"config":113},"Quellcodeverwaltung",{"href":114,"dataGaLocation":42,"dataGaName":115},"/de-de/solutions/source-code-management/","Source Code Management",{"text":117,"config":118},"Automatisierte Softwarebereitstellung",{"href":101,"dataGaLocation":42,"dataGaName":119},"Automated software delivery",{"title":121,"description":122,"link":123,"items":128},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":124},{"href":125,"dataGaName":126,"dataGaLocation":42,"icon":127},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[129,133,138],{"text":130,"config":131},"Application Security Testing",{"href":125,"dataGaName":132,"dataGaLocation":42},"Application security testing",{"text":134,"config":135},"Schutz der Software-Lieferkette",{"href":136,"dataGaLocation":42,"dataGaName":137},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":139,"config":140},"Software Compliance",{"href":141,"dataGaName":139,"dataGaLocation":42},"/de-de/solutions/software-compliance/",{"title":143,"link":144,"items":149},"Bewertung",{"config":145},{"icon":146,"href":147,"dataGaName":148,"dataGaLocation":42},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[150,154,159],{"text":151,"config":152},"Sichtbarkeit und Bewertung",{"href":147,"dataGaLocation":42,"dataGaName":153},"Visibility and Measurement",{"text":155,"config":156},"Wertstrommanagement",{"href":157,"dataGaLocation":42,"dataGaName":158},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":160,"config":161},"Analysen und Einblicke",{"href":162,"dataGaLocation":42,"dataGaName":163},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":165,"items":166},"GitLab für",[167,172,177],{"text":168,"config":169},"Enterprise",{"href":170,"dataGaLocation":42,"dataGaName":171},"/de-de/enterprise/","enterprise",{"text":173,"config":174},"Kleinunternehmen",{"href":175,"dataGaLocation":42,"dataGaName":176},"/de-de/small-business/","small business",{"text":178,"config":179},"den öffentlichen Sektor",{"href":180,"dataGaLocation":42,"dataGaName":181},"/de-de/solutions/public-sector/","public sector",{"text":183,"config":184},"Preise",{"href":185,"dataGaName":186,"dataGaLocation":42,"dataNavLevelOne":186},"/de-de/pricing/","pricing",{"text":188,"config":189,"link":191,"lists":195,"feature":275},"Ressourcen",{"dataNavLevelOne":190},"resources",{"text":192,"config":193},"Alle Ressourcen anzeigen",{"href":194,"dataGaName":190,"dataGaLocation":42},"/de-de/resources/",[196,229,247],{"title":197,"items":198},"Erste Schritte",[199,204,209,214,219,224],{"text":200,"config":201},"Installieren",{"href":202,"dataGaName":203,"dataGaLocation":42},"/de-de/install/","install",{"text":205,"config":206},"Kurzanleitungen",{"href":207,"dataGaName":208,"dataGaLocation":42},"/de-de/get-started/","quick setup checklists",{"text":210,"config":211},"Lernen",{"href":212,"dataGaLocation":42,"dataGaName":213},"https://university.gitlab.com/","learn",{"text":215,"config":216},"Produktdokumentation",{"href":217,"dataGaName":218,"dataGaLocation":42},"https://docs.gitlab.com/","product documentation",{"text":220,"config":221},"Best-Practice-Videos",{"href":222,"dataGaName":223,"dataGaLocation":42},"/de-de/getting-started-videos/","best practice videos",{"text":225,"config":226},"Integrationen",{"href":227,"dataGaName":228,"dataGaLocation":42},"/de-de/integrations/","integrations",{"title":230,"items":231},"Entdecken",[232,237,242],{"text":233,"config":234},"Kundenerfolge",{"href":235,"dataGaName":236,"dataGaLocation":42},"/de-de/customers/","customer success stories",{"text":238,"config":239},"Blog",{"href":240,"dataGaName":241,"dataGaLocation":42},"/de-de/blog/","blog",{"text":243,"config":244},"Remote",{"href":245,"dataGaName":246,"dataGaLocation":42},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":248,"items":249},"Vernetzen",[250,255,260,265,270],{"text":251,"config":252},"GitLab-Services",{"href":253,"dataGaName":254,"dataGaLocation":42},"/de-de/services/","services",{"text":256,"config":257},"Community",{"href":258,"dataGaName":259,"dataGaLocation":42},"/community/","community",{"text":261,"config":262},"Forum",{"href":263,"dataGaName":264,"dataGaLocation":42},"https://forum.gitlab.com/","forum",{"text":266,"config":267},"Veranstaltungen",{"href":268,"dataGaName":269,"dataGaLocation":42},"/events/","events",{"text":271,"config":272},"Partner",{"href":273,"dataGaName":274,"dataGaLocation":42},"/de-de/partners/","partners",{"backgroundColor":276,"textColor":277,"text":278,"image":279,"link":283},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":280,"config":281},"the source promo card",{"src":282},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":284,"config":285},"Lies die News",{"href":286,"dataGaName":287,"dataGaLocation":42},"/de-de/the-source/","the source",{"text":289,"config":290,"lists":292},"Unternehmen",{"dataNavLevelOne":291},"company",[293],{"items":294},[295,300,306,308,313,318,323,328,333,338,343],{"text":296,"config":297},"Über",{"href":298,"dataGaName":299,"dataGaLocation":42},"/de-de/company/","about",{"text":301,"config":302,"footerGa":305},"Karriere",{"href":303,"dataGaName":304,"dataGaLocation":42},"/jobs/","jobs",{"dataGaName":304},{"text":266,"config":307},{"href":268,"dataGaName":269,"dataGaLocation":42},{"text":309,"config":310},"Geschäftsführung",{"href":311,"dataGaName":312,"dataGaLocation":42},"/company/team/e-group/","leadership",{"text":314,"config":315},"Team",{"href":316,"dataGaName":317,"dataGaLocation":42},"/company/team/","team",{"text":319,"config":320},"Handbuch",{"href":321,"dataGaName":322,"dataGaLocation":42},"https://handbook.gitlab.com/","handbook",{"text":324,"config":325},"Investor Relations",{"href":326,"dataGaName":327,"dataGaLocation":42},"https://ir.gitlab.com/","investor relations",{"text":329,"config":330},"Trust Center",{"href":331,"dataGaName":332,"dataGaLocation":42},"/de-de/security/","trust center",{"text":334,"config":335},"AI Transparency Center",{"href":336,"dataGaName":337,"dataGaLocation":42},"/de-de/ai-transparency-center/","ai transparency center",{"text":339,"config":340},"Newsletter",{"href":341,"dataGaName":342,"dataGaLocation":42},"/company/contact/#contact-forms","newsletter",{"text":344,"config":345},"Presse",{"href":346,"dataGaName":347,"dataGaLocation":42},"/press/","press",{"text":349,"config":350,"lists":351},"Kontakt",{"dataNavLevelOne":291},[352],{"items":353},[354,357,362],{"text":49,"config":355},{"href":51,"dataGaName":356,"dataGaLocation":42},"talk to sales",{"text":358,"config":359},"Support-Portal",{"href":360,"dataGaName":361,"dataGaLocation":42},"https://support.gitlab.com","support portal",{"text":363,"config":364},"Kundenportal",{"href":365,"dataGaName":366,"dataGaLocation":42},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":368,"login":369,"suggestions":376},"Schließen",{"text":370,"link":371},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":372,"config":373},"gitlab.com",{"href":56,"dataGaName":374,"dataGaLocation":375},"search login","search",{"text":377,"default":378},"Vorschläge",[379,381,386,388,393,398],{"text":71,"config":380},{"href":76,"dataGaName":71,"dataGaLocation":375},{"text":382,"config":383},"Code Suggestions (KI)",{"href":384,"dataGaName":385,"dataGaLocation":375},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":105,"config":387},{"href":107,"dataGaName":105,"dataGaLocation":375},{"text":389,"config":390},"GitLab auf AWS",{"href":391,"dataGaName":392,"dataGaLocation":375},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":394,"config":395},"GitLab auf Google Cloud",{"href":396,"dataGaName":397,"dataGaLocation":375},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":399,"config":400},"Warum GitLab?",{"href":84,"dataGaName":401,"dataGaLocation":375},"Why GitLab?",{"freeTrial":403,"mobileIcon":408,"desktopIcon":413,"secondaryButton":416},{"text":404,"config":405},"Kostenlos testen",{"href":406,"dataGaName":47,"dataGaLocation":407},"https://gitlab.com/-/trials/new/","nav",{"altText":409,"config":410},"GitLab-Symbol",{"src":411,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":409,"config":414},{"src":415,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":197,"config":417},{"href":418,"dataGaName":419,"dataGaLocation":407},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":421,"mobileIcon":425,"desktopIcon":427},{"text":422,"config":423},"Erfahre mehr über GitLab Duo",{"href":76,"dataGaName":424,"dataGaLocation":407},"gitlab duo",{"altText":409,"config":426},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":428},{"src":415,"dataGaName":412,"dataGaLocation":407},{"freeTrial":430,"mobileIcon":435,"desktopIcon":437},{"text":431,"config":432},"Zurück zur Preisübersicht",{"href":185,"dataGaName":433,"dataGaLocation":407,"icon":434},"back to pricing","GoBack",{"altText":409,"config":436},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":438},{"src":415,"dataGaName":412,"dataGaLocation":407},{"title":440,"button":441,"config":446},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":442,"config":443},"GitLab Transcend jetzt ansehen",{"href":444,"dataGaName":445,"dataGaLocation":42},"/de-de/events/transcend/virtual/","transcend event",{"layout":447,"icon":448,"disabled":11},"release","AiStar",{"data":450},{"text":451,"source":452,"edit":458,"contribute":463,"config":468,"items":473,"minimal":646},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":453,"config":454},"Quelltext der Seite anzeigen",{"href":455,"dataGaName":456,"dataGaLocation":457},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":459,"config":460},"Diese Seite bearbeiten",{"href":461,"dataGaName":462,"dataGaLocation":457},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":464,"config":465},"Beteilige dich",{"href":466,"dataGaName":467,"dataGaLocation":457},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":469,"facebook":470,"youtube":471,"linkedin":472},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[474,497,552,579,613],{"title":60,"links":475,"subMenu":480},[476],{"text":477,"config":478},"DevSecOps-Plattform",{"href":69,"dataGaName":479,"dataGaLocation":457},"devsecops platform",[481],{"title":183,"links":482},[483,487,492],{"text":484,"config":485},"Tarife anzeigen",{"href":185,"dataGaName":486,"dataGaLocation":457},"view plans",{"text":488,"config":489},"Vorteile von Premium",{"href":490,"dataGaName":491,"dataGaLocation":457},"/de-de/pricing/premium/","why premium",{"text":493,"config":494},"Vorteile von Ultimate",{"href":495,"dataGaName":496,"dataGaLocation":457},"/de-de/pricing/ultimate/","why ultimate",{"title":498,"links":499},"Lösungen",[500,505,508,510,515,520,524,527,530,535,537,539,542,547],{"text":501,"config":502},"Digitale Transformation",{"href":503,"dataGaName":504,"dataGaLocation":457},"/de-de/topics/digital-transformation/","digital transformation",{"text":506,"config":507},"Sicherheit und Compliance",{"href":125,"dataGaName":132,"dataGaLocation":457},{"text":117,"config":509},{"href":101,"dataGaName":102,"dataGaLocation":457},{"text":511,"config":512},"Agile Entwicklung",{"href":513,"dataGaName":514,"dataGaLocation":457},"/de-de/solutions/agile-delivery/","agile delivery",{"text":516,"config":517},"Cloud-Transformation",{"href":518,"dataGaName":519,"dataGaLocation":457},"/de-de/topics/cloud-native/","cloud transformation",{"text":521,"config":522},"SCM",{"href":114,"dataGaName":523,"dataGaLocation":457},"source code management",{"text":105,"config":525},{"href":107,"dataGaName":526,"dataGaLocation":457},"continuous integration & delivery",{"text":155,"config":528},{"href":157,"dataGaName":529,"dataGaLocation":457},"value stream management",{"text":531,"config":532},"GitOps",{"href":533,"dataGaName":534,"dataGaLocation":457},"/de-de/solutions/gitops/","gitops",{"text":168,"config":536},{"href":170,"dataGaName":171,"dataGaLocation":457},{"text":173,"config":538},{"href":175,"dataGaName":176,"dataGaLocation":457},{"text":540,"config":541},"Öffentlicher Sektor",{"href":180,"dataGaName":181,"dataGaLocation":457},{"text":543,"config":544},"Bildungswesen",{"href":545,"dataGaName":546,"dataGaLocation":457},"/de-de/solutions/education/","education",{"text":548,"config":549},"Finanzdienstleistungen",{"href":550,"dataGaName":551,"dataGaLocation":457},"/de-de/solutions/finance/","financial services",{"title":188,"links":553},[554,556,558,560,563,565,567,569,571,573,575,577],{"text":200,"config":555},{"href":202,"dataGaName":203,"dataGaLocation":457},{"text":205,"config":557},{"href":207,"dataGaName":208,"dataGaLocation":457},{"text":210,"config":559},{"href":212,"dataGaName":213,"dataGaLocation":457},{"text":215,"config":561},{"href":217,"dataGaName":562,"dataGaLocation":457},"docs",{"text":238,"config":564},{"href":240,"dataGaName":241,"dataGaLocation":457},{"text":233,"config":566},{"href":235,"dataGaName":236,"dataGaLocation":457},{"text":243,"config":568},{"href":245,"dataGaName":246,"dataGaLocation":457},{"text":251,"config":570},{"href":253,"dataGaName":254,"dataGaLocation":457},{"text":256,"config":572},{"href":258,"dataGaName":259,"dataGaLocation":457},{"text":261,"config":574},{"href":263,"dataGaName":264,"dataGaLocation":457},{"text":266,"config":576},{"href":268,"dataGaName":269,"dataGaLocation":457},{"text":271,"config":578},{"href":273,"dataGaName":274,"dataGaLocation":457},{"title":289,"links":580},[581,583,585,587,589,591,593,597,602,604,606,608],{"text":296,"config":582},{"href":298,"dataGaName":291,"dataGaLocation":457},{"text":301,"config":584},{"href":303,"dataGaName":304,"dataGaLocation":457},{"text":309,"config":586},{"href":311,"dataGaName":312,"dataGaLocation":457},{"text":314,"config":588},{"href":316,"dataGaName":317,"dataGaLocation":457},{"text":319,"config":590},{"href":321,"dataGaName":322,"dataGaLocation":457},{"text":324,"config":592},{"href":326,"dataGaName":327,"dataGaLocation":457},{"text":594,"config":595},"Sustainability",{"href":596,"dataGaName":594,"dataGaLocation":457},"/sustainability/",{"text":598,"config":599},"Vielfalt, Inklusion und Zugehörigkeit",{"href":600,"dataGaName":601,"dataGaLocation":457},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":329,"config":603},{"href":331,"dataGaName":332,"dataGaLocation":457},{"text":339,"config":605},{"href":341,"dataGaName":342,"dataGaLocation":457},{"text":344,"config":607},{"href":346,"dataGaName":347,"dataGaLocation":457},{"text":609,"config":610},"Transparenzerklärung zu moderner Sklaverei",{"href":611,"dataGaName":612,"dataGaLocation":457},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":614,"links":615},"Nimm Kontakt auf",[616,619,624,626,631,636,641],{"text":617,"config":618},"Sprich mit einem Experten/einer Expertin",{"href":51,"dataGaName":52,"dataGaLocation":457},{"text":620,"config":621},"Support",{"href":622,"dataGaName":623,"dataGaLocation":457},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":363,"config":625},{"href":365,"dataGaName":366,"dataGaLocation":457},{"text":627,"config":628},"Status",{"href":629,"dataGaName":630,"dataGaLocation":457},"https://status.gitlab.com/","status",{"text":632,"config":633},"Nutzungsbedingungen",{"href":634,"dataGaName":635,"dataGaLocation":457},"/terms/","terms of use",{"text":637,"config":638},"Datenschutzerklärung",{"href":639,"dataGaName":640,"dataGaLocation":457},"/de-de/privacy/","privacy statement",{"text":642,"config":643},"Cookie-Einstellungen",{"dataGaName":644,"dataGaLocation":457,"id":645,"isOneTrustButton":11},"cookie preferences","ot-sdk-btn",{"items":647},[648,650,652],{"text":632,"config":649},{"href":634,"dataGaName":635,"dataGaLocation":457},{"text":637,"config":651},{"href":639,"dataGaName":640,"dataGaLocation":457},{"text":642,"config":653},{"dataGaName":644,"dataGaLocation":457,"id":645,"isOneTrustButton":11},[655],{"id":656,"title":18,"body":8,"config":657,"content":659,"description":8,"extension":25,"meta":663,"navigation":11,"path":664,"seo":665,"stem":666,"__hash__":667},"blogAuthors/en-us/blog/authors/john-coghlan.yml",{"template":658},"BlogAuthor",{"name":18,"config":660},{"headshot":661,"ctfId":662},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670167/Blog/Author%20Headshots/johncoghlan-headshot.jpg","johncoghlan",{},"/en-us/blog/authors/john-coghlan",{},"en-us/blog/authors/john-coghlan","dOj1PXtB8h9xxt68I3Ck9deyy57w1js7NkehLQ5E8Pc",[669,683,695],{"content":670,"config":681},{"title":671,"description":672,"heroImage":673,"category":9,"tags":674,"authors":677,"date":20,"body":680},"Testergebnisse aus GitLab-Pipelines automatisch in QMetry übertragen","Der QMetry GitLab Component überträgt Testergebnisse automatisch aus CI/CD-Pipelines in QMetry – ohne manuelle Schritte, mit vollständigem Audit-Trail.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1775486753/cswmwtygkgkbdsibo09v.png",[675,9,676],"tutorial","devops",[678,679],"Matt Genelin","Matt Bonner","In modernen Entwicklungsumgebungen müssen DevSecOps-Teams Testergebnisse aus CI/CD-Pipelines konsistent in Testmanagement-Plattformen übertragen, um Transparenz, Nachvollziehbarkeit und Compliance über den gesamten Entwicklungszyklus zu gewährleisten.\nTeams, die GitLab für CI/CD und SmartBear QMetry für das Testmanagement einsetzen, verbringen Zeit mit manuellem Export und Import von Testergebnissen – das verzögert Feedback und erschwert eine zuverlässige, zentrale Testsicht.\nDer **QMetry GitLab Component** automatisiert diesen Prozess. Die wiederverwendbare CI/CD-Komponente, verfügbar im [GitLab CI/CD Catalog](https://gitlab.com/explore/catalog), überträgt Testausführungsdaten nach jeder Pipeline-Ausführung automatisch nach QMetry – einer KI-gestützten, unternehmenstauglichen Testmanagement-Plattform, die Testplanung, -ausführung, -nachverfolgung und -reporting in einer Lösung vereint.\nAls zentrales System der Aufzeichnung für Tests hilft QMetry Teams dabei, Abdeckung und Ausführung nachzuverfolgen und fundiertere Release-Entscheidungen zu treffen.\n![SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/ojt707rzxnm2yr3vqxdh.png)\n\n## Vorteile der Integration\n\n### Manuelle Uploads entfallen, Nachvollziehbarkeit steigt\nDevSecOps-Engineers und QA-Teams müssen Testergebnisse nicht mehr manuell exportieren und importieren – die Komponente übernimmt das automatisch nach jeder Pipeline-Ausführung. Zugleich erhalten Teams vollständige Nachvollziehbarkeit von Anforderungen über Testfälle bis hin zu tatsächlichen Ausführungsergebnissen.\n\n![Test results with SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/ajx64sihup2nursdpnxz.png)\n\n### Compliance- und Audit-Anforderungen erfüllen\nFür Organisationen in regulierten Branchen ist lückenlose Testdokumentation nicht verhandelbar. Die Integration stellt sicher, dass jede Testausführung in QMetry mit Verknüpfungen zur jeweiligen GitLab-Pipeline, zum Commit und zum Build dokumentiert wird – ohne zusätzlichen manuellen Aufwand.\n![Audit-ready record of testing with SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/q2tbaw5otgdywjkcquqx.png)\n\n### KI-gestützte Test-Insights nutzen\nQMetry analysiert mithilfe von KI Testausführungsmuster, identifiziert instabile Tests, prognostiziert Testfehler und empfiehlt Optimierungsmöglichkeiten. Echtzeit-Daten aus GitLab-Pipelines maximieren den Wert dieser Funktionen.\n![Genaue Insights mit SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/pl7ru4wx8ixnheedfyrs.png)\n\n## Über die GitLab-SmartBear-Partnerschaft\nDiese Komponente steht für die wachsende Partnerschaft zwischen GitLab und SmartBear, CI/CD-Ausführung und Testmanagement in einem Workflow zu verbinden. Gemeinsam helfen sie Teams, Testing in den Entwicklungszyklus zu integrieren und dabei die Qualitäts-, Sicherheits- und Compliance-Standards ihrer Branchen einzuhalten.\n\n## Praxisbeispiele\n\n### Finanzdienstleistungen: Enterprise-Banking-Plattformen\nFührende Finanzinstitute stehen vor besonderen Herausforderungen beim Skalieren von Testautomatisierung:\n* **Regulatorische Compliance**: Detaillierte Audit-Trails für alle Testaktivitäten erforderlich\n* **Mehrere Compliance-Frameworks**: BaFin BAIT, PSD2, DSGVO und interne Risikomanagement-Richtlinien\n* **Hochfrequente Deployments**: Mehrere Produktions-Deployments täglich über Microservices\n* **Verteilte Teams**: Echtzeit-Transparenz über globale Engineering-Teams hinweg erforderlich\nFinanzdienstleister, die den QMetry GitLab Component einsetzen, automatisieren Testergebnis-Uploads für Unit-Tests, API-Contract-Tests, End-to-End-Tests für Transaktionsabläufe sowie Security- und Performance-Testergebnisse.\n\n**Mögliche Ergebnisse**:\n* **Deutliche Reduzierung** des manuellen Test-Reporting-Aufwands\n* **Vollständige Audit-Trail-Abdeckung** für Regulierungsprüfungen\n* **Echtzeit-Transparenz** für verteilte QA-Teams\n* **Verbesserte Compliance-Position** durch vollständige Nachvollziehbarkeit von Anforderungen bis zur Testausführung\n\n### Flugregelungssoftware in der Luft- und Raumfahrt\nDie Softwareentwicklung in der Luft- und Raumfahrt unterliegt besonderen Anforderungen:\n* **DO-178C-Compliance**: Avioniksoftware muss strikte Zertifizierungsstandards erfüllen\n* **Vollständige Nachvollziehbarkeit**: Jede Anforderung verknüpft mit Testfällen und Ausführungsergebnissen\n* **Audit-Trails**: Zertifizierungsbehörden verlangen detaillierte Aufzeichnungen aller Testaktivitäten\n* **Mehrere Teststufen**: Unit-, Integrations-, System- und Zertifizierungstests\nDurch die Integration von GitLab CI/CD mit QMetry automatisiert das Aerospace-Engineering-Team Testausführung und Reporting über alle Teststufen hinweg.\n\n**Vor der Integration**:\n* Manueller Export aus GitLab, Import in QMetry über UI-Uploads\n* Prozess dauerte 2–3 Stunden pro Testzyklus\n* Fehlerrisiko bei der Dateneingabe, verzögerte Rückmeldung an Stakeholder\n\n**Nach der Integration**:\n* Testergebnisse fließen automatisch von GitLab nach QMetry\n* Vollständiger Audit-Trail vom Commit über den Test bis zum Ergebnis\n* Kein manueller Eingriff, Echtzeit-Transparenz für Zertifizierungsprüfer\n* Compliance-Reports werden automatisch erstellt\n\n**Beispiel-Dashboard in QMetry nach der Integration**:\n```none\n    ╔════════════════════════════════════════════════════════════╗\n    ║  Flight Control System v2.4 - Test Execution Dashboard     ║\n    ╠════════════════════════════════════════════════════════════╣\n    ║                                                            ║\n    ║  📊 Test Execution Summary (Last 7 Days)                   ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  ✓ Total Tests Executed: 1,247                             ║\n    ║  ✓ Passed: 1,241 (99.5%)                                   ║\n    ║  ✗ Failed: 6 (0.5%)                                        ║\n    ║  ⏸ Skipped: 0                                              ║\n    ║                                                            ║\n    ║  📁 Test Suite Organization                                ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  └─ Certification/                                         ║\n    ║     └─ DO-178C/                                            ║\n    ║        ├─ Unit/ (487 tests, 100% pass)                     ║\n    ║        ├─ Integration/ (623 tests, 99.2% pass)             ║\n    ║        └─ System/ (137 tests, 100% pass)                   ║\n    ║                                                            ║\n    ║  🔗 Traceability                                           ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  Requirements Covered: 342/342 (100%)                      ║\n    ║  Test Cases Linked: 1,247/1,247 (100%)                     ║\n    ║  GitLab Pipeline Executions: 47 (automated)                ║\n    ║                                                            ║\n    ║  ⚠️  Action Items                                          ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  • 6 failed tests require investigation                    ║\n    ║  • Last execution: 2 minutes ago (Pipeline #1543)          ║\n    ║  • GitLab Commit: a7f8c23 \"Fix altitude hold logic\"        ║\n    ║                                                            ║\n    ╚════════════════════════════════════════════════════════════╝\n    \n```\n### Compliance- und Audit-Vorteile\n\n**Für Finanzdienstleister (BaFin BAIT, PSD2, SOX)**:\n1. **Automatische Nachvollziehbarkeit**: Regulatorische Anforderungen → Testfälle → Ausführungsergebnisse → GitLab-Commits verknüpft\n2. **Auditfähige Dokumentation**: Vollständige Testausführungshistorie mit Zeitstempeln und Pipeline-Referenzen\n3. **Regulatorisches Reporting**: Compliance-Reports direkt aus QMetry-Testdaten generieren\n\n**Für die Luft- und Raumfahrt-Zertifizierung (DO-178C, DO-254)**:\n1. **Automatische Nachverfolgbarkeitsmatrix**: Anforderungen → Testfälle → Ausführungsergebnisse → GitLab-Commits\n2. **Unveränderlicher Audit-Trail**: Pipeline-ID, Commit-SHA und Ausführer für jede Testausführung gestempelt\n3. **Zertifizierungspaket-Generierung**: Konforme Dokumentation aus GitLab-Pipeline-Daten\n\n---\n\n## Technische Umsetzung\n*Dieser Abschnitt orientiert Teams, die die Integration einrichten möchten. Die vollständige Schritt-für-Schritt-Anleitung mit allen Konfigurationsdetails – API-Credentials, CI/CD-Variablen, Testformate, erweiterte Optionen und Fehlerbehebung – ist im [englischen Originalbeitrag](https://about.gitlab.com/blog/streamline-test-management-with-the-smartbear-qmetry-gitlab-component/) verfügbar.*\n\n## Voraussetzungen\n* **GitLab-Account** mit einem Projekt, das automatisierte Tests enthält und Testergebnisdateien erzeugt (JUnit XML, TestNG XML usw.)\n* **QMetry Test Management Enterprise**-Account mit aktiviertem API-Zugriff und generiertem API-Key\n* **QMetry-Projekt**, bereits angelegt, in das Testergebnisse hochgeladen werden sollen\n* **Kenntnisse in GitLab CI/CD**, einschließlich grundlegender `.gitlab-ci.yml`-Syntax\n### Ablauf der Testergebnis-Übertragung\n1. **Testausführung**: Die GitLab CI/CD-Pipeline führt automatisierte Tests aus.\n2. **Ergebnisgenerierung**: Tests erzeugen Ausgabedateien (JUnit XML, TestNG XML usw.).\n3. **Komponentenaufruf**: Die QMetry-Komponente wird als Job in der Pipeline ausgeführt.\n4. **Automatischer Upload**: Die Komponente liest die Testergebnisdateien und lädt sie via API nach QMetry hoch.\n5. **QMetry-Verarbeitung**: QMetry empfängt die Ergebnisse und stellt sie für Reporting und Analyse bereit.\n\n## Basisintegration\nDie Komponente in der `.gitlab-ci.yml`-Datei einbinden. Die Komponente sollte **nach** dem Abschluss der Tests ausgeführt werden:\n```yaml\n    include:\n      - component: gitlab.com/sb9945614/qtm-gitlab-component/qmetry-import@1.0.5\n        inputs:\n          stage: test\n          project: \"Aerospace Flight Control System\"\n          file_name: \"results.xml\"\n          testing_type: \"JUNIT\"\n          instance_url: ${INSTANCE_URL}\n          api_key: ${QMETRY_API_KEY}\n  ```\n\n\n| Parameter | Beschreibung | Beispiel |\n| ----- | ----- | ----- |\n| `stage` | CI/CD-Stage für den Upload-Job | `test` |\n| `project` | QMetry-Projektname oder -Schlüssel | `\"Aerospace Flight Control System\"` |\n| `file_name` | Pfad zur Testergebnisdatei | `\"results.xml\"` |\n| `testing_type` | Format der Testergebnisse | `\"JUNIT\"` (auch: `TESTNG`, `NUNIT` usw.) |\n| `instance_url` | QMetry-Instanz-URL | `${INSTANCE_URL}` (aus CI/CD-Variablen) |\n| `api_key` | QMetry API-Key zur Authentifizierung | `${QMETRY_API_KEY}` (aus CI/CD-Variablen) |\n\n## Vollständiges Pipeline-Beispiel\n```yaml\n    stages:\n      - test\n      - report\n\n    variables:\n      NODE_VERSION: \"18\"\n\n    unit-tests:\n      stage: test\n      image: node:${NODE_VERSION}\n      script:\n        - npm ci\n        - npm run test:unit -- --reporter=junit --reporter-options=output=results.xml\n      artifacts:\n        reports:\n          junit: results.xml\n        paths:\n          - results.xml\n        when: always\n      tags:\n        - docker\n\n    include:\n      - component: gitlab.com/sb9945614/qtm-gitlab-component/qmetry-import@1.0.5\n        inputs:\n          stage: test\n          project: \"Aerospace Flight Control System\"\n          file_name: \"results.xml\"\n          testing_type: \"JUNIT\"\n          instance_url: ${INSTANCE_URL}\n          api_key: ${QMETRY_API_KEY}\n```\n\n## Vollständige Konfigurationsreferenz\n| Eingabeparameter | Pflichtfeld | Standard | Beschreibung |\n| ----- | ----- | ----- | ----- |\n| `stage` | Nein | `test` | GitLab CI/CD-Stage für den Upload-Job |\n| `runner_tag` | Nein | `\"\"` | Spezifischer Runner-Tag (leer = beliebiger verfügbarer Runner) |\n| `project` | Ja | – | QMetry-Projektname oder -Schlüssel |\n| `file_name` | Ja | – | Pfad zur Testergebnisdatei (relativ zum Projektstamm) |\n| `testing_type` | Ja | – | Testergebnisformat: `JUNIT`, `TESTNG`, `NUNIT` usw. |\n| `skip_warning` | Nein | `\"1\"` | Warnungen beim Import überspringen (`\"1\"` = überspringen, `\"0\"` = anzeigen) |\n| `is_matching_required` | Nein | `\"false\"` | Bestehende Testfälle nach Name abgleichen (`\"true\"` oder `\"false\"`) |\n| `testsuite_name` | Nein | `\"\"` | Name für die Test-Suite in QMetry |\n| `testsuite_id` | Nein | `\"\"` | Bestehende Test-Suite-ID, an die Ergebnisse angehängt werden |\n| `testsuite_folder_path` | Nein | `\"\"` | Ordnerpfad für die Test-Suite-Organisation (z. B. `/Regression/Sprint-23`) |\n| `automation_hierarchy` | Nein | `\"\"` | Hierarchieebene für die Testorganisation (`\"1\"`, `\"2\"`, `\"3\"` usw.) |\n| `testcase_fields` | Nein | `\"\"` | Benutzerdefinierte Felder für Testfälle (kommagetrennt: `field1=value1,field2=value2`) |\n| `testsuite_fields` | Nein | `\"\"` | Benutzerdefinierte Felder für Test-Suites (kommagetrennt: `field1=value1,field2=value2`) |\n| `instance_url` | Ja | – | QMetry-Instanz-URL (in CI/CD-Variablen speichern) |\n| `api_key` | Ja | – | QMetry API-Key (in CI/CD-Variablen speichern, maskiert) |\n\n## Dokumentation und Support\n* **Komponentendokumentation**: [GitLab CI/CD Catalog](https://gitlab.com/explore/catalog)\n* **Komponenten-Repository**: [gitlab.com/sb9945614/qtm-gitlab-component](https://gitlab.com/sb9945614/qtm-gitlab-component)\n* **QMetry-Dokumentation**: [QMetry Support Portal](https://qmetrysupport.atlassian.net/wiki/spaces/QPro/overview)\n* **SmartBear-Ressourcen**: [SmartBear Academy](https://smartbear.com/resources/)\n* **GitLab CI/CD-Dokumentation**: [GitLab CI/CD Documentation](https://docs.gitlab.com/ee/ci/)\n* **QMetry-Support**: support@smartbear.com – [QMetry Community Forum](https://community.smartbear.com/)",{"featured":11,"template":12,"slug":682},"streamline-test-management-with-the-smartbear-qmetry-gitlab-component",{"content":684,"config":693},{"title":685,"description":686,"authors":687,"heroImage":689,"date":690,"body":691,"category":9,"tags":692},"GitLab Feature Flags in Python einrichten","Feature Flags in eine Python-Flask-App integrieren und Feature-Rollouts ohne Redeployment steuern – mit dem Unleash SDK und GitLab.",[688],"Omid Khan","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-03-26","## Feature Flags als Methode zur Deployment-Risikominimierung\n\nWochen Entwicklungsarbeit, abgeschlossenes Code-Review, alle Tests grün. Das Feature gelangt in die Produktion – und innerhalb einer Stunde treffen Fehlerberichte ein. Der Code verhält sich für die meisten Nutzenden korrekt, aber bestimmte Produktions-Szenarien, die im Staging nicht aufgetreten sind, führen bei einem Teil der Nutzenden zu Ausfällen. Das Ergebnis: ungeplanter Rollback, Incident-Dokumentation, Ursachenanalyse.\n\nFeature Flags verhindern genau das. Das Prinzip: Deployment und Release werden entkoppelt. Code gelangt in die Produktion, sobald er bereit ist – wer das neue Feature tatsächlich sieht, wird unabhängig davon über einen Schalter in GitLab gesteuert. Kein Redeployment, kein Hotfix, keine ungeplante Rollback-Prozedur.\n\n### Systematisch gesteuerte Rollouts\n\nDer eigentliche Wert von Feature Flags liegt in der schrittweisen Freigabe. Ein typischer Ablauf:\n\n1. **QA-Team (User-IDs-Strategie):** Das Feature ist nur für interne Tester sichtbar. Probleme werden erkannt, bevor externe Nutzende betroffen sind.\n2. **Prozentualer Rollout (z. B. 10 %):** Das Feature wird für einen definierten Anteil der Nutzenden aktiviert. Metriken und Fehlerraten lassen sich unter realen Bedingungen beobachten.\n3. **Vollständige Freigabe:** Erst wenn das Verhalten in der Produktion validiert ist, wird das Feature für alle aktiviert.\n\nTritt auf einer Stufe ein Problem auf, reicht ein Klick in der GitLab-Oberfläche, um das Feature zu deaktivieren – ohne Code-Änderung, ohne Pipeline.\n\n### Skalierung und Produktionsbetrieb\n\nGitLab stellt für jedes Projekt eine Unleash-kompatible API bereit. Der Unleash-SDK pollt die Flag-Definitionen beim Start und danach in einem konfigurierbaren Intervall (im Demo-Projekt: 15 Sekunden). Die Auswertung erfolgt lokal aus dem Cache – kein Netzwerkaufruf pro Flag-Abfrage, kein Latenzeinfluss auf den Request.\n\nFür kleinere Deployments ist das 15-Sekunden-Intervall gut geeignet. Bei Deployments mit vielen App-Instanzen von derselben IP-Adresse gilt: GitLab.com unterstützt bei diesem Intervall rund 125 Clients, bevor Rate-Limits greifen. Für größere Produktionsumgebungen empfiehlt sich ein vorgelagerter Unleash Proxy, der Anfragen mehrerer Instanzen bündelt.\n\n### Sicherheitsrelevante Aspekte\n\n* **Keine Credentials im Quellcode:** Instance ID und alle Tokens gehören in Umgebungsvariablen, nicht in den Code.\n* **Instance ID ist read-only:** Sie erlaubt ausschließlich das Abrufen von Flag-Zuständen, keine Änderungen. Trotzdem als Secret behandeln.\n* **Debug-Modus deaktiviert lassen:** Flasks Debug-Modus ermöglicht Remote Code Execution – in der Produktion zwingend deaktiviert.\n* **Abhängigkeiten aktuell halten:** [Dependency Scanning](https://docs.gitlab.com/user/application_security/dependency_scanning/) in der CI/CD-Pipeline aktivieren, um Schwachstellen in gepinnten Versionen zu erkennen.\n\n## Schritt-für-Schritt: Integration in eine Python-Flask-App\n\nDieser Abschnitt gibt einen Überblick über die technische Integration. Die vollständige Implementierung – alle Schritte, der komplette Code und ein lauffähiges Demo-Projekt – ist im [englischen Originalartikel](https://about.gitlab.com/blog/getting-started-with-gitlab-feature-flags-in-python/) beschrieben. Das Demo-Repository steht unter [gitlab.com/omid-blogs/gitlab-feature-flags-demo](https://gitlab.com/omid-blogs/gitlab-feature-flags-demo) zum Forken bereit.\n\n### SDK vs. GitLab REST API\n\nFür eine App, die Flags bei jedem Request auswertet, ist der SDK die geeignete Wahl:\n\n|  | REST API | Unleash SDK |\n| ----- | ----- | ----- |\n| **Authentifizierung** | Personal Access Token mit Projektberechtigungen | Nur Instance ID – read-only, auf Flag-Zustand beschränkt |\n| **Flag-Auswertung** | Netzwerkaufruf pro Abfrage | Lokal aus dem Cache |\n| **Latenz** | Netzwerk-Round-Trip | Nahezu null (In-Memory) |\n| **Strategie-Unterstützung** | Manuelle Auswertung erforderlich | Integriert: Prozentualer Rollout, User-ID-Targeting |\n| **Rate-Limits** | GitLab.com API-Limits | Eine Poll-Verbindung pro App-Instanz |\n\n### Kernmuster der Integration\n\nDie gesamte Integration besteht aus einer Abhängigkeit (`UnleashClient`), drei Umgebungsvariablen und einem Methodenaufruf.\n\n**SDK initialisieren:**\n\n```python unleash_client = UnleashClient(\n    url=UNLEASH_URL,\n    app_name=UNLEASH_APP_NAME,\n    instance_id=UNLEASH_INSTANCE_ID,\n    refresh_interval=15,\n    metrics_interval=60,\n)\nunleash_client.initialize_client() ```\n\n**Flag abfragen:**\n\n```python def is_flag_enabled(flag_name):\n    return unleash_client.is_enabled(flag_name)\n```\n\n`is_enabled()` wertet lokal aus dem Cache aus – kein Netzwerkaufruf, kein Latenzeinfluss auf den Request.\n\n**Nutzerkontext für gezieltes Targeting übergeben:**\n\n```python unleash_client.is_enabled(\n    'new_layout',\n    context={'userId': current_user.id}\n) ```\n\nDer SDK übernimmt das konsistente Hashing für prozentuale Rollouts. Für die vollständige Einrichtung – Flags in GitLab anlegen, Unleash-Credentials abrufen, App lokal ausführen und Flags in Echtzeit umschalten – siehe den [englischen Originalartikel](https://about.gitlab.com/blog/getting-started-with-gitlab-feature-flags-in-python/).\n\n### Ressourcen\n\n* [Demo-Projekt auf GitLab](https://gitlab.com/omid-blogs/gitlab-feature-flags-demo)\n* [GitLab Feature-Flags-Dokumentation](https://docs.gitlab.com/operations/feature_flags/)\n* [Unleash Python SDK auf GitHub](https://github.com/Unleash/unleash-python-sdk)",[24,675,9],{"featured":11,"template":12,"slug":694},"getting-started-with-gitlab-feature-flags-in-python",{"content":696,"config":705},{"title":697,"description":698,"authors":699,"heroImage":701,"date":702,"body":703,"category":9,"tags":704},"GitLab 18.10: Agentische KI jetzt für noch mehr Teams auf GitLab verfügbar","GitLab.com-Teams können GitLab Credits erwerben und sofort KI-Agenten und Workflows nutzen – einschließlich automatisierter Code Reviews zum Festpreis.",[700],"Talia Armato-Helle","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773843921/rm35fx4gylrsu9alf2fx.png","2026-03-19","Agentische KI verändert die Art und Weise, wie Software entwickelt wird. Doch für viele Teams – insbesondere kleine und mittelgroße – fühlte sich der Weg zur Einführung bisher wie eine Alles-oder-Nichts-Entscheidung an: entweder ein vollständiges Plattformabonnement abschließen oder ganz auf KI verzichten.\n\nDas ändert sich mit GitLab 18.10. Ab sofort können kostenlose GitLab.com-Teams ein monatliches Kontingent an [GitLab Credits](https://docs.gitlab.com/subscriptions/gitlab_credits/) erwerben und [GitLab Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platform/) sofort nutzen. Ein Upgrade des Abonnements ist nicht erforderlich. Dies ist ein vollwertiger Einstieg in agentische KI für Teams, die noch keinen GitLab-Tarif hinzufügen möchten, aber bereit sind, mit KI zu arbeiten.\n\nDas Modell ist einfach: Bezahlt wird für das, was die KI leistet – nicht für die Anzahl der Nutzer(innen). Die Gruppeninhaber(innen) erwerben über die Abrechnungseinstellungen der Gruppe ein monatliches Kontingent an GitLab Credits. Das gesamte Team erhält Zugang zu denselben KI-Agenten und Workflows, die auch GitLab Premium- und Ultimate-Kund(inn)en für Planung, Codegenerierung, automatisierte Code Reviews und Pipeline-Diagnose nutzen – alles aus einem gemeinsamen Credit-Pool.\n\nDas [GitLab Credits Dashboard](https://docs.gitlab.com/subscriptions/gitlab_credits/#gitlab-credits-dashboard) bietet Gruppeninhaber(inne)n Transparenz darüber, welche Agenten und Workflows Credits verbrauchen, sodass die KI-Ausgaben direkt mit der geleisteten Arbeit verknüpft werden können.\n\n![GitLab Credits Dashboard mit einem monatlich zugesagten Pool von 50 Credits, Nutzungsverfolgung, On-Demand-Credit-Verbrauch und Credit-Zuweisung pro Benutzer(in) für Duo Agent Platform.](https://res.cloudinary.com/about-gitlab-com/image/upload/v1773867549/jdrzquwptvjnbr7eqd56.png)\n\n## Tag Null mit GitLab Duo Agent Platform\n\nSobald die Gruppeninhaber(innen) Credits erworben haben, kann jedes Teammitglied GitLab Duo Agent Platform sofort nutzen.\n\nSo sieht ein typischer Workflow aus:\n\nAlles beginnt mit einer Feature-Anfrage für die Software. Öffne [Planner Agent](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/planner/) im Agentic Chat und beschreibe in natürlicher Sprache, was benötigt wird. Der Agent zerlegt die Anforderung in strukturierte Workitems: Issues mit Beschreibungen, Labels und Beziehungen. Alles wird direkt im Projekt erstellt. Was früher einen ganzen Nachmittag manueller Issue-Pflege erforderte, dauert jetzt nur noch wenige Minuten.\n\nWähle eines dieser Issues aus und weise [Developer Flow](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/developer/) zu, um mit der Arbeit zu beginnen. Der Agent liest den Issue-Kontext, generiert Code gemäß den Anforderungen, führt Tests aus und erstellt einen Merge Request zur Überprüfung. Für iterativere Arbeit – ob Refactoring, Erweiterung oder Code-Erklärung im Projektkontext – steht auch [Agentic Chat](https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/) zur Verfügung.\n\nWenn der Merge Request bereit ist, führt [Code Review Flow](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/) eine mehrstufige automatisierte Überprüfung durch: Die Änderungen werden gescannt, der Repository-Kontext einbezogen und strukturiertes Inline-Feedback direkt am Diff gepostet. Die menschlichen Prüfer(innen) können die erste Durchsicht überspringen und sich auf Architektur und Geschäftslogik konzentrieren.\n\nUnd wenn die Pipeline fehlschlägt, liest [Fix CI/CD Pipeline Flow](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/fix_pipeline/) die Fehlerprotokolle, verfolgt den Fehler bis zur Grundursache und schlägt eine Lösung vor. Anstatt manuell Job-Protokolle durchzugehen, erhält das Team einen Ausgangspunkt für die Fehlerbehebung.\n\nGitLab Duo Agent Platform begleitet die Softwareentwicklung von der Iteration bis zum Deployment – angetrieben von einem einzigen Credit-Pool.\n\nDer Einstieg in Agenten und Workflows ist einfach – von der Planung bis zum Deployment in unter 3 Minuten. Sieh dir dieses Demo an, um mehr zu erfahren:\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1175244743?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"18.10 Main Demo V2\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## Code Review zum Festpreis: Planbare Kosten bei wachsendem Umfang\n\nVon allen Workflows, die über GitLab Duo Agent Platform verfügbar sind, liefert die automatisierte Code Review den schnellsten Mehrwert – und genau hier ist eine planbare Preisgestaltung besonders wichtig.\n\nCode Review Flow kostet jetzt pauschal 0,25 GitLab Credits pro Review – unabhängig von der Größe des Merge Requests, der Komplexität des Repository oder der Anzahl der intern durchgeführten Schritte. Vier Reviews entsprechen einem Credit. Ob das Team 500 oder 50.000 Merge Requests pro Monat zusammenführt – die Kosten lassen sich direkt anhand der Anzahl der Reviews kalkulieren.\n\nEin genauerer Blick auf die Zahlen lohnt sich. Manuelle Code Reviews kosten nicht nur Geld, sondern auch Zeit und verursachen durch ständigen Kontextwechsel Unterbrechungen in der Entwicklung. Die durch Code Review Flow eingesparte Zeit kann mit wachsendem Review-Volumen zu erheblichen Einsparungen führen. Hunderte Reviews können nun gleichzeitig statt nacheinander in einer Warteschlange bearbeitet werden. Die Zeitersparnis potenziert sich so schnell mit der Kostenersparnis.\n\nFür Teams im kostenlosen Tarif von GitLab bedeutet das: Der Anteil des monatlichen Credit-Pools, der für Code Reviews verwendet wird, ist genau kalkulierbar.\n\n> Erfahre mehr darüber, [wie Code Review Flow funktioniert](https://about.gitlab.com/blog/code-review-without-the-bottlenecks-or-the-bill/) und was das für die Skalierung der Entwicklungsorganisation bedeutet.\n\n## Warum Premium den Mehrwert vervielfacht\n\nGitLab Credits im kostenlosen Tarif bieten einen direkten Einstieg in agentische KI. Wenn das Team GitLab umfassender nutzt, vereint Premium die wirtschaftlichen Vorteile mit erweiterten Funktionen.\n\nFür 29 USD pro Benutzer(in) und Monat enthält [GitLab Premium](https://about.gitlab.com/pricing/) im Rahmen eines Aktionsangebots 12 GitLab Credits pro Benutzer(in). Für ein Team von 20 Personen sind das 240 Credits pro Monat, bevor zusätzliche Kosten entstehen – genug für etwa 960 automatisierte Code Reviews oder eine Kombination aus Code Review, Planung, Entwicklungs-Workflows und Pipeline-Fehlerbehebung.\n\nGitLab Duo Agent Platform ist nur ein Teil dessen, was Premium bietet. Hinzu kommen erweitertes CI/CD für Pipelines mit hohem Volumen, Merge-Approvals und Code Owners für Governance sowie KI, die innerhalb einer einzigen Datenschicht mit einheitlichem Kontext über alle Projekte hinweg arbeitet.\n\nWenn das Team Credits im kostenlosen Tarif nutzt und feststellt, dass KI zu einem zentralen Bestandteil des Workflows wird, ist Premium der natürliche nächste Schritt – mit den enthaltenen Aktions-Credits. Premium bietet mehr Plattformfunktionen und eine Grundlage, die mitwächst.\n\n## Jetzt loslegen\n\nGitLab 18.10 ist ab sofort verfügbar. Ob agentische KI für schnellere Entwicklung oder die vollständige Plattform zur Unterstützung bestehender Arbeitsweisen benötigt wird – es gibt einen klaren Weg zur Beschleunigung des Softwareentwicklungsprozesses.\n\n* **Kostenlose GitLab.com-Teams:** [Erwerbe ein monatliches Kontingent an GitLab Credits](https://docs.gitlab.com/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom) über die Abrechnungseinstellungen der Gruppe und nutze GitLab Duo Agent Platform noch heute.\n\n* **Teams, die die vollständige Plattform benötigen:** [Finde das passende GitLab-Abonnement für dein Team](https://docs.gitlab.com/subscriptions/choosing_subscription/) oder [starte eine kostenlose Testversion von GitLab Ultimate](https://about.gitlab.com/free-trial/).\n\nDie Einrichtung von Credits für das Team ist schnell und einfach. Sieh dir dieses Demo an, um mehr zu erfahren:\n\u003Ciframe src=\"https://player.vimeo.com/video/1175238100?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab Credits Purchase Flow\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n---\n\n## FAQ\n\n**Was ist ein monatliches Kontingent an GitLab Credits?**\n\nEin monatliches Kontingent ist eine nutzungsbasierte Kaufoption, bei der die Gruppeninhaber(innen) eine festgelegte Anzahl von Credits auswählen, die als gemeinsamer Pool für die gesamte Gruppe gelten. Credits werden verbraucht, wenn das Team die Funktionen von GitLab Duo Agent Platform nutzt. Weitere Informationen findest du in der [GitLab Credits Dokumentation](https://docs.gitlab.com/subscriptions/gitlab_credits/).\n\n**Wer kann heute GitLab Credits erwerben?**\n\nGitLab Premium- und Ultimate-Kund(inn)en erhalten bereits Aktions-Credits als Teil ihres Abonnements. Ab Version 18.10 können auch kostenlose GitLab.com-Namespaces auf oberster Ebene ein monatliches Kontingent an Credits über die Self-Service-Gruppenabrechnung erwerben. Aktuelle Informationen zur Berechtigung findest du in der [GitLab Credits Dokumentation](https://docs.gitlab.com/subscriptions/gitlab_credits/).\n\n**Welche KI-Funktionen werden durch Credits im kostenlosen Tarif freigeschaltet?**\n\nTeams mit Credits erhalten Zugang zu denselben agentischen KI-Funktionen und Modellen, die auch Premium- und Ultimate-Kund(inn)en zur Verfügung stehen – darunter Planner Agent, Developer Flow, Code Review Flow, Fix CI/CD Pipeline Flow, Agentic Chat, Codevorschläge, benutzerdefinierte Agenten und Workflows und mehr. Die vollständige Liste findest du in der [Duo Agent Platform Dokumentation](https://docs.gitlab.com/user/duo_agent_platform/).\n\n**Was kostet die automatisierte Code Review?**\n\nCode Review Flow berechnet einen Festpreis von 0,25 GitLab Credits pro Review – unabhängig von der Größe oder Komplexität des Merge Requests. Aktuelle Preisdetails findest du in der [Code Review Flow Dokumentation](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/).\n\n**Kann ich vom kostenlosen Tarif mit Credits auf GitLab Premium upgraden?**\n\nIn GitLab 18.10 ist das Upgrade von einem kostenlosen Namespace mit monatlichem Credit-Kontingent auf Premium über einen vertriebsgestützten Prozess möglich. Kontaktiere das [GitLab-Vertriebsteam](https://about.gitlab.com/de-de/contact-sales/), um die Optionen zu besprechen.\n\n\n",[24,9],{"featured":11,"template":12,"slug":706},"gitlab-18-10-agentic-ai-now-open-to-even-more-teams-on-gitlab",{"promotions":708},[709,723,735],{"id":710,"categories":711,"header":713,"text":714,"button":715,"image":720},"ai-modernization",[712],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":716,"config":717},"Get your AI maturity score",{"href":718,"dataGaName":719,"dataGaLocation":241},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":721},{"src":722},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":724,"categories":725,"header":727,"text":714,"button":728,"image":732},"devops-modernization",[9,726],"devsecops","Are you just managing tools or shipping innovation?",{"text":729,"config":730},"Get your DevOps maturity score",{"href":731,"dataGaName":719,"dataGaLocation":241},"/assessments/devops-modernization-assessment/",{"config":733},{"src":734},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":736,"categories":737,"header":739,"text":714,"button":740,"image":744},"security-modernization",[738],"security","Are you trading speed for security?",{"text":741,"config":742},"Get your security maturity score",{"href":743,"dataGaName":719,"dataGaLocation":241},"/assessments/security-modernization-assessment/",{"config":745},{"src":746},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":748,"blurb":749,"button":750,"secondaryButton":755},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":751,"config":752},"Kostenlosen Test starten",{"href":753,"dataGaName":47,"dataGaLocation":754},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":49,"config":756},{"href":51,"dataGaName":52,"dataGaLocation":754},1776205504577]