[{"data":1,"prerenderedAt":1527},["ShallowReactive",2],{"/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab":3,"navigation-en-us":749,"banner-en-us":1176,"footer-en-us":1186,"blog-post-authors-en-us-Abubakar Siddiq Ango":1430,"blog-related-posts-en-us-getting-started-with-gitlab-how-to-import-your-projects-to-gitlab":1445,"blog-promotions-en-us":1464,"next-steps-en-us":1517},{"id":4,"title":5,"authors":6,"body":8,"category":728,"date":729,"description":730,"extension":731,"externalUrl":732,"faq":732,"featured":733,"heroImage":734,"meta":735,"navigation":736,"path":737,"seo":738,"slug":742,"stem":743,"tags":744,"template":747,"updatedDate":732,"__hash__":748},"blogPosts/en-us/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab.md","Getting started with GitLab: How to import your projects to GitLab",[7],"Abubakar Siddiq Ango",{"type":9,"value":10,"toc":710},"minimark",[11,18,34,39,42,47,65,72,78,101,113,136,147,173,176,194,212,248,251,255,258,329,333,336,342,351,357,361,364,370,373,403,407,413,440,455,459,462,466,472,475,498,501,507,523,526,539,547,551,566,572,580,584,590,604,608,614,625,634,638,647,666,670,706],[12,13,14],"p",{},[15,16,17],"em",{},"Welcome to our \"Getting started with GitLab\" series, where we help newcomers get familiar with the GitLab DevSecOps platform.",[12,19,20,21,27,28,33],{},"Knowing how to import your projects to GitLab is an essential skill to make the most of the GitLab DevSecOps platform. You’ve ",[22,23,26],"a",{"href":24,"rel":25},"https://university.gitlab.com/pages/getting-started",[],"set up your account",", invited users, and ",[22,29,32],{"href":30,"rel":31},"https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-manage-users/",[],"organized"," them based on your use case or team structure. Now, you need to bring your existing projects into GitLab and start collaborating. These projects can be local files on your computer or hosted on a different source code management platform. Let's explore the options.",[35,36,38],"h2",{"id":37},"importing-local-project-files","Importing local project files",[12,40,41],{},"You don't want to start from scratch every time you import a project. Follow these steps to get into GitLab existing legacy projects or applications that exist without version control or use version control.",[43,44,46],"h3",{"id":45},"git-project","Git project",[48,49,50],"ol",{},[51,52,53,54,59,60,64],"li",{},"If Git is ",[22,55,58],{"href":56,"rel":57},"https://docs.gitlab.com/topics/git/commands/#git-init",[],"already initiated"," in your local project, create a new project in GitLab and obtain the SSH or HTTPS URL by clicking on the ",[61,62,63],"strong",{},"Code"," button in the top right corner of your project page.",[12,66,67],{},[68,69],"img",{"alt":70,"src":71},"create a new project in GitLab with SSH/HTTPS URLs","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097254/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097252717.png",[48,73,75],{"start":74},2,[51,76,77],{},"Switch to your terminal and ensure you are in your project folder:",[79,80,85],"pre",{"className":81,"code":82,"language":83,"meta":84,"style":84},"language-bash shiki shiki-themes github-light","cd /project_folder  \n","bash","",[86,87,88],"code",{"__ignoreMap":84},[89,90,93,97],"span",{"class":91,"line":92},"line",1,[89,94,96],{"class":95},"sYu0t","cd",[89,98,100],{"class":99},"sYBdl"," /project_folder\n",[48,102,104],{"start":103},3,[51,105,106,107,112],{},"Backup your existing ",[22,108,111],{"href":109,"rel":110},"https://git-scm.com/book/ms/v2/Git-Basics-Working-with-Remotes",[],"Git origin",":",[79,114,116],{"className":81,"code":115,"language":83,"meta":84,"style":84},"git remote rename origin old-origin\n",[86,117,118],{"__ignoreMap":84},[89,119,120,124,127,130,133],{"class":91,"line":92},[89,121,123],{"class":122},"s7eDp","git",[89,125,126],{"class":99}," remote",[89,128,129],{"class":99}," rename",[89,131,132],{"class":99}," origin",[89,134,135],{"class":99}," old-origin\n",[48,137,139],{"start":138},4,[51,140,141,142,146],{},"Add the ",[22,143,145],{"href":109,"rel":144},[],"GitLab remote"," URL for the new origin, when using SSH:",[79,148,150],{"className":81,"code":149,"language":83,"meta":84,"style":84},"git remote add origin [git@gitlab.com](mailto:git@gitlab.com):gitlab-da/playground/abubakar/new-test-repo.git  \n",[86,151,152],{"__ignoreMap":84},[89,153,154,156,158,161,163,167,170],{"class":91,"line":92},[89,155,123],{"class":122},[89,157,126],{"class":99},[89,159,160],{"class":99}," add",[89,162,132],{"class":99},[89,164,166],{"class":165},"sgsFI"," [git@gitlab.com](",[89,168,169],{"class":122},"mailto:git@gitlab.com",[89,171,172],{"class":165},"):gitlab-da/playground/abubakar/new-test-repo.git\n",[12,174,175],{},"And for HTTPS:",[79,177,179],{"className":81,"code":178,"language":83,"meta":84,"style":84},"git remote add origin https://gitlab.com/gitlab-da/playground/abubakar/new-test-repo.git  \n",[86,180,181],{"__ignoreMap":84},[89,182,183,185,187,189,191],{"class":91,"line":92},[89,184,123],{"class":122},[89,186,126],{"class":99},[89,188,160],{"class":99},[89,190,132],{"class":99},[89,192,193],{"class":99}," https://gitlab.com/gitlab-da/playground/abubakar/new-test-repo.git\n",[48,195,197],{"start":196},5,[51,198,199,200,205,206,211],{},"Then push all existing ",[22,201,204],{"href":202,"rel":203},"https://docs.gitlab.com/user/project/repository/branches/",[],"branches"," and ",[22,207,210],{"href":208,"rel":209},"https://docs.gitlab.com/user/project/repository/tags/",[],"tags"," to GitLab:",[79,213,215],{"className":81,"code":214,"language":83,"meta":84,"style":84},"git push --set-upstream origin --all  \ngit push --set-upstream origin --tags  \n",[86,216,217,235],{"__ignoreMap":84},[89,218,219,221,224,227,229,232],{"class":91,"line":92},[89,220,123],{"class":122},[89,222,223],{"class":99}," push",[89,225,226],{"class":95}," --set-upstream",[89,228,132],{"class":99},[89,230,231],{"class":95}," --all",[89,233,234],{"class":165},"  \n",[89,236,237,239,241,243,245],{"class":91,"line":74},[89,238,123],{"class":122},[89,240,223],{"class":99},[89,242,226],{"class":95},[89,244,132],{"class":99},[89,246,247],{"class":95}," --tags\n",[12,249,250],{},"All your file project files, branches, and tags will be pushed to GitLab and you can start collaborating.",[43,252,254],{"id":253},"non-git-project","Non-Git project",[12,256,257],{},"Alternatively, if you have not initiated Git in your project, you will need to initialize Git, commit existing files, and push to GitLab as follows:",[79,259,261],{"className":81,"code":260,"language":83,"meta":84,"style":84},"git init --initial-branch=main  \ngit remote add origin git@gitlab.com:gitlab-da/playground/abubakar/new-test-repo.git  \ngit add .  \ngit commit -m \"Initial commit\"  \ngit push --set-upstream origin main  \n",[86,262,263,275,290,301,316],{"__ignoreMap":84},[89,264,265,267,270,273],{"class":91,"line":92},[89,266,123],{"class":122},[89,268,269],{"class":99}," init",[89,271,272],{"class":95}," --initial-branch=main",[89,274,234],{"class":165},[89,276,277,279,281,283,285,288],{"class":91,"line":74},[89,278,123],{"class":122},[89,280,126],{"class":99},[89,282,160],{"class":99},[89,284,132],{"class":99},[89,286,287],{"class":99}," git@gitlab.com:gitlab-da/playground/abubakar/new-test-repo.git",[89,289,234],{"class":165},[89,291,292,294,296,299],{"class":91,"line":103},[89,293,123],{"class":122},[89,295,160],{"class":99},[89,297,298],{"class":99}," .",[89,300,234],{"class":165},[89,302,303,305,308,311,314],{"class":91,"line":138},[89,304,123],{"class":122},[89,306,307],{"class":99}," commit",[89,309,310],{"class":95}," -m",[89,312,313],{"class":99}," \"Initial commit\"",[89,315,234],{"class":165},[89,317,318,320,322,324,326],{"class":91,"line":196},[89,319,123],{"class":122},[89,321,223],{"class":99},[89,323,226],{"class":95},[89,325,132],{"class":99},[89,327,328],{"class":99}," main\n",[35,330,332],{"id":331},"importing-from-online-sources","Importing from online sources",[12,334,335],{},"If you have your project on GitLab.com or other platforms and you want to move it to another GitLab instance (like a self-managed instance) or from another platform to GitLab.com, GitLab provides the import project feature when you want to create a new project.",[12,337,338],{},[68,339],{"alt":340,"src":341},"Create a new project screen","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750097252718.png",[12,343,344,345,350],{},"Importing a project migrates the project files and some other components of the project depending on the source. You can import from different sources like Bitbucket, GitHub, Gitea, and a GitLab instance, among other sources. Import sources are enabled by default on GitLab.com, but they need to be ",[22,346,349],{"href":347,"rel":348},"https://docs.gitlab.com/administration/settings/import_and_export_settings/#configure-allowed-import-sources",[],"enabled for self-managed"," by an administrator. We will look at a few of these sources in the following sections.",[12,352,353],{},[68,354],{"alt":355,"src":356},"Import project from third-party sources","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097252719.png",[35,358,360],{"id":359},"gitlab-sources","GitLab sources",[12,362,363],{},"You can export projects from GitLab.com and GitLab Self-Managed instances using the Export project feature in a project’s settings.",[12,365,366],{},[68,367],{"alt":368,"src":369},"Export project screen","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image9_aHR0cHM6_1750097252720.png",[12,371,372],{},"To access it:",[374,375,376,383,390,397,400],"ul",{},[51,377,378,379,382],{},"Go to your project’s settings and click into the ",[61,380,381],{},"General"," area.",[51,384,385,386,389],{},"Scroll to and ",[61,387,388],{},"Expand Advanced"," section.",[51,391,392,393,396],{},"Select ",[61,394,395],{},"Export project",".",[51,398,399],{},"A notification will be shown stating: “Project export started. A download link will be sent by email and made available on this page.”",[51,401,402],{},"After the export is generated, you can follow the link contained in the email or refresh the project settings page to reveal the “Download export” option.",[43,404,406],{"id":405},"importing-the-project","Importing the project",[12,408,409],{},[68,410],{"alt":411,"src":412},"Import an exported GitLab project","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image10_aHR0cHM6_1750097252722.png",[374,414,415,422,432,437],{},[51,416,417,418,421],{},"Click on the ",[61,419,420],{},"New project"," button in your target GitLab instance.",[51,423,392,424,427,428,431],{},[61,425,426],{},"Import project"," and click on ",[61,429,430],{},"GitLab Export"," in the list of import sources.",[51,433,434,435,396],{},"Specify a project name and select the export file, then click ",[61,436,426],{},[51,438,439],{},"An \"import in progress\" page will be shown and once complete, you will be redirected to the imported project.",[12,441,442,443,448,449,454],{},"Depending on the size of your project, the import time may vary. It's important to note that not everything in a project might be exported and a few things might change after import. Review the ",[22,444,447],{"href":445,"rel":446},"https://docs.gitlab.com/user/project/settings/import_export/#export-a-project-and-its-data",[],"documentation"," to understand the limitations. If you want to migrate a whole group instead of individual projects, the ",[22,450,453],{"href":451,"rel":452},"https://docs.gitlab.com/user/group/import/",[],"Direct Transfer method"," is recommended; this creates a copy of an entire group.",[35,456,458],{"id":457},"third-party-providers","Third-party providers",[12,460,461],{},"GitLab supports importing from Bitbucket Cloud, Bitbucket Server, FogBugz, Gitea, and GitHub. The import process is similar across all the supported third parties — the main difference is in the method of authentication. Let's look at a few of them.",[43,463,465],{"id":464},"github","GitHub",[12,467,468],{},[68,469],{"alt":470,"src":471},"Authenticate with GitHub screen","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097252723.png",[12,473,474],{},"There are three methods to import GitHub projects in to GitLab:",[374,476,477,484,491],{},[51,478,479],{},[22,480,483],{"href":481,"rel":482},"https://docs.gitlab.com/user/project/import/github/#use-github-oauth",[],"Using GitHub OAuth",[51,485,486],{},[22,487,490],{"href":488,"rel":489},"https://docs.gitlab.com/user/project/import/github/#use-a-github-personal-access-token",[],"Using a GitHub personal access token",[51,492,493],{},[22,494,497],{"href":495,"rel":496},"https://docs.gitlab.com/user/project/import/github/#use-the-api",[],"Using the API",[12,499,500],{},"Importing using GitHub OAuth and personal access token are similar. The difference lies in how your authorize GitLab to access your repositories. The OAuth method is easier because you only need to click on the “Authorize with GitHub” button and your are redirected to your GitHub account to authorize the connection. Then the list of your projects is loaded for you to pick those you want to import.",[12,502,503],{},[68,504],{"alt":505,"src":506},"Import repositories from GitHub screen","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097252725.png",[12,508,509,510,205,513,516,517,522],{},"Alternatively, you will need to generate a GitHub personal access token, selecting the ",[86,511,512],{},"repo",[86,514,515],{},"read:org"," scopes, and then provide it on the \"Import\" page.  For API imports, you can use the same personal access token with our ",[22,518,521],{"href":519,"rel":520},"https://docs.gitlab.com/api/import/#import-repository-from-github",[],"Import REST API endpoints"," in your script or application.",[12,524,525],{},"In this demo, GitLab Senior Developer Advocate Fernando Diaz explains how to import a project from GitHub using the OAuth method:",[527,528,531,532,234],"figure",{"className":529},[530],"video_container"," \n  ",[533,534,538],"iframe",{"src":535,"frameBorder":536,"allowFullScreen":537},"https://www.youtube.com/embed/0Id5oMl1Kqs?si=esF6wbz2j2JlhDVL","0","true"," ",[12,540,541,542,396],{},"You can learn about prerequisites, known issues, importing from GitHub Enterprise, and other valuable information from the GitLab ",[22,543,546],{"href":544,"rel":545},"https://docs.gitlab.com/user/project/import/github/",[],"import documentation",[43,548,550],{"id":549},"bitbucket","Bitbucket",[12,552,553,554,559,560,565],{},"Importing projects from Bitbucket is similar to importing them from GitHub. While using OAuth is applicable to ",[22,555,558],{"href":556,"rel":557},"https://docs.gitlab.com/user/import/bitbucket_cloud/",[],"Bitbucket Cloud",", the SaaS version of Bitbucket, you'll need to provide a URL, username, and personal access token for ",[22,561,564],{"href":562,"rel":563},"https://docs.gitlab.com/user/import/bitbucket_server/",[],"Bitbucket Server",", the enterprise self-hosted version. Clicking on the Bitbucket Cloud option on the \"Import\" screen automatically takes you to Atlassian authentication for Bitbucket.",[12,567,568],{},[68,569],{"alt":570,"src":571},"Import project from BitBucket","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097252726.png",[12,573,574,575,396],{},"You can also import Bitbucket projects using the ",[22,576,579],{"href":577,"rel":578},"https://docs.gitlab.com/api/import/",[],"GitLab Import API",[43,581,583],{"id":582},"gitea","Gitea",[12,585,586],{},[68,587],{"alt":588,"src":589},"Import project from Gitea","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097252727.png",[12,591,592,593,597,598,603],{},"Importing projects from ",[22,594,583],{"href":595,"rel":596},"https://docs.gitlab.com/user/import/gitea/",[]," requires the creation of a ",[22,599,602],{"href":600,"rel":601},"https://docs.gitea.com/next/development/api-usage#authentication-via-the-api",[],"personal access token"," on the Gitea platform and providing it along with the Gitea server URL on the GitLab import page. OAuth authentication is not supported.",[43,605,607],{"id":606},"generic-remote-git-repository","Generic remote Git repository",[12,609,610],{},[68,611],{"alt":612,"src":613},"Import project from remote Git repository","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097253/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097252728.png",[12,615,616,617,620,621,624],{},"Where your Git provider is not supported or import is not possible using the supported methods, a repository can be imported using its accessible ",[86,618,619],{},"https://"," or ",[86,622,623],{},"git://"," URL.  If it's not publicly accessible, you will provide the repository URL along with username and password (or access token where applicable due to multifactor authentication).",[12,626,627,628,633],{},"This method can also be used for maintaining a copy of a remote project and keeping it in sync, i.e., ",[22,629,632],{"href":630,"rel":631},"https://docs.gitlab.com/user/project/repository/mirror/",[],"mirroring",". Mirroring allows you to maintain repositories across different platforms and keep them synced. This can be to separate private and public access to project while ensuring both ends have the same copy, which is useful when open-sourcing  internal projects. It can also be used when working with contractors and both parties use different platforms, and access to codebase is necessary on both ends.",[35,635,637],{"id":636},"summary","Summary",[12,639,640,641,646],{},"Importing and migrating between GitLab instances and from other sources is an important process that needs to be planned to ensure the expectations are clear on what gets imported and with which method. While most third-party methods import project items, including files, issues, and merge requests, some methods have known issues and limitations. The ",[22,642,645],{"href":643,"rel":644},"https://docs.gitlab.com/user/import/",[],"GitLab import section"," of the documentation has detailed information on all the supported methods that can help you plan your migration.",[648,649,650],"blockquote",{},[651,652,654,655,660,661,396],"h4",{"id":653},"want-to-take-your-learning-to-the-next-level-sign-up-for-gitlab-university-courses-or-you-can-get-going-right-away-with-a-free-trial-of-gitlab-ultimate","Want to take your learning to the next level? ",[22,656,659],{"href":657,"rel":658},"https://university.gitlab.com/",[],"Sign up for GitLab University courses",". Or you can get going right away with ",[22,662,665],{"href":663,"rel":664},"https://about.gitlab.com/free-trial/devsecops/",[],"a free trial of GitLab Ultimate",[35,667,669],{"id":668},"getting-started-with-gitlab-series","\"Getting started with GitLab\" series",[374,671,672,678,685,692,699],{},[51,673,674],{},[22,675,677],{"href":30,"rel":676},[],"How to manage users",[51,679,680],{},[22,681,684],{"href":682,"rel":683},"https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab/",[],"How to import your projects to GitLab",[51,686,687],{},[22,688,691],{"href":689,"rel":690},"https://about.gitlab.com/blog/getting-started-with-gitlab-mastering-project-management/",[],"Mastering project management",[51,693,694],{},[22,695,698],{"href":696,"rel":697},"https://about.gitlab.com/blog/automating-agile-workflows-with-the-gitlab-triage-gem/",[],"Automating Agile workflows with the gitlab-triage gem",[51,700,701],{},[22,702,705],{"href":703,"rel":704},"https://about.gitlab.com/blog/getting-started-with-gitlab-working-with-ci-cd-variables/",[],"Working with CI/CD variables",[707,708,709],"style",{},"html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}",{"title":84,"searchDepth":74,"depth":74,"links":711},[712,716,717,720,726,727],{"id":37,"depth":74,"text":38,"children":713},[714,715],{"id":45,"depth":103,"text":46},{"id":253,"depth":103,"text":254},{"id":331,"depth":74,"text":332},{"id":359,"depth":74,"text":360,"children":718},[719],{"id":405,"depth":103,"text":406},{"id":457,"depth":74,"text":458,"children":721},[722,723,724,725],{"id":464,"depth":103,"text":465},{"id":549,"depth":103,"text":550},{"id":582,"depth":103,"text":583},{"id":606,"depth":103,"text":607},{"id":636,"depth":74,"text":637},{"id":668,"depth":74,"text":669},"product","2025-01-28","Learn how to import your projects from various sources, including Bitbucket, Gitea, GitHub, and GitLab Self-Managed.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097248/Blog/Hero%20Images/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25_cFwd8DYFLekdnOLmbbChp_1750097247785.png",{},true,"/en-us/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab",{"title":5,"description":730,"ogTitle":5,"ogDescription":730,"noIndex":733,"ogImage":734,"ogUrl":739,"ogSiteName":740,"ogType":741,"canonicalUrls":739},"https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab","https://about.gitlab.com","article","getting-started-with-gitlab-how-to-import-your-projects-to-gitlab","en-us/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab",[728,745,746],"tutorial","DevSecOps platform","BlogPost","RieckG3WjRQurB_S0yTuHWwwWzDX8Ao00x4veuDzRQQ",{"logo":750,"freeTrial":755,"sales":760,"login":765,"items":770,"search":1096,"minimal":1127,"duo":1146,"switchNav":1155,"pricingDeployment":1166},{"config":751},{"href":752,"dataGaName":753,"dataGaLocation":754},"/","gitlab logo","header",{"text":756,"config":757},"Get free trial",{"href":758,"dataGaName":759,"dataGaLocation":754},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":761,"config":762},"Request a demo",{"href":763,"dataGaName":764,"dataGaLocation":754},"/sales/?contact-topic=request-demo","sales",{"text":766,"config":767},"Sign in",{"href":768,"dataGaName":769,"dataGaLocation":754},"https://gitlab.com/users/sign_in/","sign in",[771,800,900,905,1018,1074],{"text":772,"config":773,"menu":775},"Platform",{"dataNavLevelOne":774},"platform",{"type":776,"columns":777},"cards",[778,784,792],{"title":772,"description":779,"link":780},"The intelligent orchestration platform for DevSecOps",{"text":781,"config":782},"Explore our Platform",{"href":783,"dataGaName":774,"dataGaLocation":754},"/platform/",{"title":785,"description":786,"link":787},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":788,"config":789},"Meet GitLab Duo",{"href":790,"dataGaName":791,"dataGaLocation":754},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":793,"description":794,"link":795},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":796,"config":797},"Learn more",{"href":798,"dataGaName":799,"dataGaLocation":754},"/why-gitlab/","why gitlab",{"text":801,"left":736,"config":802,"menu":804},"Product",{"dataNavLevelOne":803},"solutions",{"type":805,"link":806,"columns":810,"feature":879},"lists",{"text":807,"config":808},"View all Solutions",{"href":809,"dataGaName":803,"dataGaLocation":754},"/solutions/",[811,835,858],{"title":812,"description":813,"link":814,"items":819},"Automation","CI/CD and automation to accelerate deployment",{"config":815},{"icon":816,"href":817,"dataGaName":818,"dataGaLocation":754},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[820,824,827,831],{"text":821,"config":822},"CI/CD",{"href":823,"dataGaLocation":754,"dataGaName":821},"/solutions/continuous-integration/",{"text":785,"config":825},{"href":790,"dataGaLocation":754,"dataGaName":826},"gitlab duo agent platform - product menu",{"text":828,"config":829},"Source Code Management",{"href":830,"dataGaLocation":754,"dataGaName":828},"/solutions/source-code-management/",{"text":832,"config":833},"Automated Software Delivery",{"href":817,"dataGaLocation":754,"dataGaName":834},"Automated software delivery",{"title":836,"description":837,"link":838,"items":843},"Security","Deliver code faster without compromising security",{"config":839},{"href":840,"dataGaName":841,"dataGaLocation":754,"icon":842},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[844,848,853],{"text":845,"config":846},"Application Security Testing",{"href":840,"dataGaName":847,"dataGaLocation":754},"Application security testing",{"text":849,"config":850},"Software Supply Chain Security",{"href":851,"dataGaLocation":754,"dataGaName":852},"/solutions/supply-chain/","Software supply chain security",{"text":854,"config":855},"Software Compliance",{"href":856,"dataGaName":857,"dataGaLocation":754},"/solutions/software-compliance/","software compliance",{"title":859,"link":860,"items":865},"Measurement",{"config":861},{"icon":862,"href":863,"dataGaName":864,"dataGaLocation":754},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[866,870,874],{"text":867,"config":868},"Visibility & Measurement",{"href":863,"dataGaLocation":754,"dataGaName":869},"Visibility and Measurement",{"text":871,"config":872},"Value Stream Management",{"href":873,"dataGaLocation":754,"dataGaName":871},"/solutions/value-stream-management/",{"text":875,"config":876},"Analytics & Insights",{"href":877,"dataGaLocation":754,"dataGaName":878},"/solutions/analytics-and-insights/","Analytics and insights",{"title":880,"type":805,"items":881},"GitLab for",[882,888,894],{"text":883,"config":884},"Enterprise",{"icon":885,"href":886,"dataGaLocation":754,"dataGaName":887},"Building","/enterprise/","enterprise",{"text":889,"config":890},"Small Business",{"icon":891,"href":892,"dataGaLocation":754,"dataGaName":893},"Work","/small-business/","small business",{"text":895,"config":896},"Public Sector",{"icon":897,"href":898,"dataGaLocation":754,"dataGaName":899},"Organization","/solutions/public-sector/","public sector",{"text":901,"config":902},"Pricing",{"href":903,"dataGaName":904,"dataGaLocation":754,"dataNavLevelOne":904},"/pricing/","pricing",{"text":906,"config":907,"menu":909},"Resources",{"dataNavLevelOne":908},"resources",{"type":805,"link":910,"columns":914,"feature":1007},{"text":911,"config":912},"View all resources",{"href":913,"dataGaName":908,"dataGaLocation":754},"/resources/",[915,947,974],{"title":916,"items":917},"Getting started",[918,923,928,932,937,942],{"text":919,"config":920},"Install",{"href":921,"dataGaName":922,"dataGaLocation":754},"/install/","install",{"text":924,"config":925},"Quick start guides",{"href":926,"dataGaName":927,"dataGaLocation":754},"/get-started/","quick setup checklists",{"text":929,"config":930},"Learn",{"href":657,"dataGaLocation":754,"dataGaName":931},"learn",{"text":933,"config":934},"Product documentation",{"href":935,"dataGaName":936,"dataGaLocation":754},"https://docs.gitlab.com/","product documentation",{"text":938,"config":939},"Best practice videos",{"href":940,"dataGaName":941,"dataGaLocation":754},"/getting-started-videos/","best practice videos",{"text":943,"config":944},"Integrations",{"href":945,"dataGaName":946,"dataGaLocation":754},"/integrations/","integrations",{"title":948,"items":949},"Discover",[950,955,960,965,969],{"text":951,"config":952},"Customer success stories",{"href":953,"dataGaName":954,"dataGaLocation":754},"/customers/","customer success stories",{"text":956,"config":957},"Blog",{"href":958,"dataGaName":959,"dataGaLocation":754},"/blog/","blog",{"text":961,"config":962},"Demo Hub",{"href":963,"dataGaName":964,"dataGaLocation":754},"/demo-hub/","demo hub",{"text":966,"config":967},"The Source",{"href":968,"dataGaName":959,"dataGaLocation":754},"/the-source/",{"text":970,"config":971},"Remote",{"href":972,"dataGaName":973,"dataGaLocation":754},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":975,"items":976},"Connect",[977,982,987,992,997,1002],{"text":978,"config":979},"GitLab Services",{"href":980,"dataGaName":981,"dataGaLocation":754},"/services/","services",{"text":983,"config":984},"Contribute",{"href":985,"dataGaName":986,"dataGaLocation":754},"https://contributors.gitlab.com","contribute",{"text":988,"config":989},"Community",{"href":990,"dataGaName":991,"dataGaLocation":754},"/community/","community",{"text":993,"config":994},"Forum",{"href":995,"dataGaName":996,"dataGaLocation":754},"https://forum.gitlab.com/","forum",{"text":998,"config":999},"Events",{"href":1000,"dataGaName":1001,"dataGaLocation":754},"/events/","events",{"text":1003,"config":1004},"Partners",{"href":1005,"dataGaName":1006,"dataGaLocation":754},"/partners/","partners",{"config":1008,"title":1011,"text":1012,"link":1013},{"background":1009,"textColor":1010},"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":1014,"config":1015},"Read the latest",{"href":1016,"dataGaName":1017,"dataGaLocation":754},"/whats-new/","whats new",{"text":1019,"config":1020,"menu":1022},"Company",{"dataNavLevelOne":1021},"company",{"type":805,"columns":1023},[1024],{"items":1025},[1026,1031,1037,1039,1044,1049,1054,1059,1064,1069],{"text":1027,"config":1028},"About",{"href":1029,"dataGaName":1030,"dataGaLocation":754},"/company/","about",{"text":1032,"config":1033,"footerGa":1036},"Jobs",{"href":1034,"dataGaName":1035,"dataGaLocation":754},"/jobs/","jobs",{"dataGaName":1035},{"text":998,"config":1038},{"href":1000,"dataGaName":1001,"dataGaLocation":754},{"text":1040,"config":1041},"Leadership",{"href":1042,"dataGaName":1043,"dataGaLocation":754},"/company/team/e-group/","leadership",{"text":1045,"config":1046},"Handbook",{"href":1047,"dataGaName":1048,"dataGaLocation":754},"https://handbook.gitlab.com/","handbook",{"text":1050,"config":1051},"Investor relations",{"href":1052,"dataGaName":1053,"dataGaLocation":754},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1055,"config":1056},"Trust Center",{"href":1057,"dataGaName":1058,"dataGaLocation":754},"/security/","trust center",{"text":1060,"config":1061},"AI Transparency Center",{"href":1062,"dataGaName":1063,"dataGaLocation":754},"/ai-transparency-center/","ai transparency center",{"text":1065,"config":1066},"Newsletter",{"href":1067,"dataGaName":1068,"dataGaLocation":754},"/company/contact/#contact-forms","newsletter",{"text":1070,"config":1071},"Press",{"href":1072,"dataGaName":1073,"dataGaLocation":754},"/press/","press",{"text":1075,"config":1076,"menu":1077},"Contact us",{"dataNavLevelOne":1021},{"type":805,"columns":1078},[1079],{"items":1080},[1081,1086,1091],{"text":1082,"config":1083},"Talk to sales",{"href":1084,"dataGaName":1085,"dataGaLocation":754},"/sales/","talk to sales",{"text":1087,"config":1088},"Support portal",{"href":1089,"dataGaName":1090,"dataGaLocation":754},"https://support.gitlab.com/hc/en-us","support portal",{"text":1092,"config":1093},"Customer portal",{"href":1094,"dataGaName":1095,"dataGaLocation":754},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1097,"login":1098,"suggestions":1105},"Close",{"text":1099,"link":1100},"To search repositories and projects, login to",{"text":1101,"config":1102},"gitlab.com",{"href":768,"dataGaName":1103,"dataGaLocation":1104},"search login","search",{"text":1106,"default":1107},"Suggestions",[1108,1110,1114,1116,1120,1124],{"text":785,"config":1109},{"href":790,"dataGaName":785,"dataGaLocation":1104},{"text":1111,"config":1112},"Code Suggestions (AI)",{"href":1113,"dataGaName":1111,"dataGaLocation":1104},"/solutions/code-suggestions/",{"text":821,"config":1115},{"href":823,"dataGaName":821,"dataGaLocation":1104},{"text":1117,"config":1118},"GitLab on AWS",{"href":1119,"dataGaName":1117,"dataGaLocation":1104},"/partners/technology-partners/aws/",{"text":1121,"config":1122},"GitLab on Google Cloud",{"href":1123,"dataGaName":1121,"dataGaLocation":1104},"/partners/technology-partners/google-cloud-platform/",{"text":1125,"config":1126},"Why GitLab?",{"href":798,"dataGaName":1125,"dataGaLocation":1104},{"freeTrial":1128,"mobileIcon":1133,"desktopIcon":1138,"secondaryButton":1141},{"text":1129,"config":1130},"Start free trial",{"href":1131,"dataGaName":759,"dataGaLocation":1132},"https://gitlab.com/-/trials/new/","nav",{"altText":1134,"config":1135},"Gitlab Icon",{"src":1136,"dataGaName":1137,"dataGaLocation":1132},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1134,"config":1139},{"src":1140,"dataGaName":1137,"dataGaLocation":1132},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1142,"config":1143},"Get Started",{"href":1144,"dataGaName":1145,"dataGaLocation":1132},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":1147,"mobileIcon":1151,"desktopIcon":1153},{"text":1148,"config":1149},"Learn more about GitLab Duo",{"href":790,"dataGaName":1150,"dataGaLocation":1132},"gitlab duo",{"altText":1134,"config":1152},{"src":1136,"dataGaName":1137,"dataGaLocation":1132},{"altText":1134,"config":1154},{"src":1140,"dataGaName":1137,"dataGaLocation":1132},{"button":1156,"mobileIcon":1161,"desktopIcon":1163},{"text":1157,"config":1158},"/switch",{"href":1159,"dataGaName":1160,"dataGaLocation":1132},"#contact","switch",{"altText":1134,"config":1162},{"src":1136,"dataGaName":1137,"dataGaLocation":1132},{"altText":1134,"config":1164},{"src":1165,"dataGaName":1137,"dataGaLocation":1132},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1167,"mobileIcon":1172,"desktopIcon":1174},{"text":1168,"config":1169},"Back to pricing",{"href":903,"dataGaName":1170,"dataGaLocation":1132,"icon":1171},"back to pricing","GoBack",{"altText":1134,"config":1173},{"src":1136,"dataGaName":1137,"dataGaLocation":1132},{"altText":1134,"config":1175},{"src":1140,"dataGaName":1137,"dataGaLocation":1132},{"title":1177,"titleMobile":1178,"button":1179,"config":1184},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":796,"config":1180},{"href":1181,"dataGaName":1182,"dataGaLocation":1183},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":1185,"disabled":733},"release",{"data":1187},{"text":1188,"source":1189,"edit":1195,"contribute":1200,"config":1205,"items":1210,"minimal":1419},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":1190,"config":1191},"View page source",{"href":1192,"dataGaName":1193,"dataGaLocation":1194},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1196,"config":1197},"Edit this page",{"href":1198,"dataGaName":1199,"dataGaLocation":1194},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1201,"config":1202},"Please contribute",{"href":1203,"dataGaName":1204,"dataGaLocation":1194},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1206,"facebook":1207,"youtube":1208,"linkedin":1209},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1211,1258,1311,1355,1387],{"title":901,"links":1212,"subMenu":1227},[1213,1217,1222],{"text":1214,"config":1215},"View plans",{"href":903,"dataGaName":1216,"dataGaLocation":1194},"view plans",{"text":1218,"config":1219},"Why Premium?",{"href":1220,"dataGaName":1221,"dataGaLocation":1194},"/pricing/premium/","why premium",{"text":1223,"config":1224},"Why Ultimate?",{"href":1225,"dataGaName":1226,"dataGaLocation":1194},"/pricing/ultimate/","why ultimate",[1228],{"title":1229,"links":1230},"Contact Us",[1231,1234,1236,1238,1243,1248,1253],{"text":1232,"config":1233},"Contact sales",{"href":1084,"dataGaName":764,"dataGaLocation":1194},{"text":1087,"config":1235},{"href":1089,"dataGaName":1090,"dataGaLocation":1194},{"text":1092,"config":1237},{"href":1094,"dataGaName":1095,"dataGaLocation":1194},{"text":1239,"config":1240},"Status",{"href":1241,"dataGaName":1242,"dataGaLocation":1194},"https://status.gitlab.com/","status",{"text":1244,"config":1245},"Terms of use",{"href":1246,"dataGaName":1247,"dataGaLocation":1194},"/terms/","terms of use",{"text":1249,"config":1250},"Privacy statement",{"href":1251,"dataGaName":1252,"dataGaLocation":1194},"/privacy/","privacy statement",{"text":1254,"config":1255},"Cookie preferences",{"dataGaName":1256,"dataGaLocation":1194,"id":1257,"isOneTrustButton":736},"cookie preferences","ot-sdk-btn",{"title":801,"links":1259,"subMenu":1267},[1260,1263],{"text":746,"config":1261},{"href":783,"dataGaName":1262,"dataGaLocation":1194},"devsecops platform",{"text":1264,"config":1265},"AI-Assisted Development",{"href":790,"dataGaName":1266,"dataGaLocation":1194},"ai-assisted development",[1268],{"title":1269,"links":1270},"Topics",[1271,1276,1281,1286,1291,1296,1301,1306],{"text":1272,"config":1273},"CICD",{"href":1274,"dataGaName":1275,"dataGaLocation":1194},"/topics/ci-cd/","cicd",{"text":1277,"config":1278},"GitOps",{"href":1279,"dataGaName":1280,"dataGaLocation":1194},"/topics/gitops/","gitops",{"text":1282,"config":1283},"DevOps",{"href":1284,"dataGaName":1285,"dataGaLocation":1194},"/topics/devops/","devops",{"text":1287,"config":1288},"Version Control",{"href":1289,"dataGaName":1290,"dataGaLocation":1194},"/topics/version-control/","version control",{"text":1292,"config":1293},"DevSecOps",{"href":1294,"dataGaName":1295,"dataGaLocation":1194},"/topics/devsecops/","devsecops",{"text":1297,"config":1298},"Cloud Native",{"href":1299,"dataGaName":1300,"dataGaLocation":1194},"/topics/cloud-native/","cloud native",{"text":1302,"config":1303},"AI for Coding",{"href":1304,"dataGaName":1305,"dataGaLocation":1194},"/topics/devops/ai-for-coding/","ai for coding",{"text":1307,"config":1308},"Agentic AI",{"href":1309,"dataGaName":1310,"dataGaLocation":1194},"/topics/agentic-ai/","agentic ai",{"title":1312,"links":1313},"Solutions",[1314,1316,1318,1323,1327,1330,1334,1337,1339,1342,1345,1350],{"text":845,"config":1315},{"href":840,"dataGaName":845,"dataGaLocation":1194},{"text":834,"config":1317},{"href":817,"dataGaName":818,"dataGaLocation":1194},{"text":1319,"config":1320},"Agile development",{"href":1321,"dataGaName":1322,"dataGaLocation":1194},"/solutions/agile-delivery/","agile delivery",{"text":1324,"config":1325},"SCM",{"href":830,"dataGaName":1326,"dataGaLocation":1194},"source code management",{"text":1272,"config":1328},{"href":823,"dataGaName":1329,"dataGaLocation":1194},"continuous integration & delivery",{"text":1331,"config":1332},"Value stream management",{"href":873,"dataGaName":1333,"dataGaLocation":1194},"value stream management",{"text":1277,"config":1335},{"href":1336,"dataGaName":1280,"dataGaLocation":1194},"/solutions/gitops/",{"text":883,"config":1338},{"href":886,"dataGaName":887,"dataGaLocation":1194},{"text":1340,"config":1341},"Small business",{"href":892,"dataGaName":893,"dataGaLocation":1194},{"text":1343,"config":1344},"Public sector",{"href":898,"dataGaName":899,"dataGaLocation":1194},{"text":1346,"config":1347},"Education",{"href":1348,"dataGaName":1349,"dataGaLocation":1194},"/solutions/education/","education",{"text":1351,"config":1352},"Financial services",{"href":1353,"dataGaName":1354,"dataGaLocation":1194},"/solutions/finance/","financial services",{"title":906,"links":1356},[1357,1359,1361,1363,1366,1368,1371,1373,1375,1377,1379,1381,1383,1385],{"text":919,"config":1358},{"href":921,"dataGaName":922,"dataGaLocation":1194},{"text":924,"config":1360},{"href":926,"dataGaName":927,"dataGaLocation":1194},{"text":929,"config":1362},{"href":657,"dataGaName":931,"dataGaLocation":1194},{"text":933,"config":1364},{"href":935,"dataGaName":1365,"dataGaLocation":1194},"docs",{"text":956,"config":1367},{"href":958,"dataGaName":959,"dataGaLocation":1194},{"text":1369,"config":1370},"What's new",{"href":1016,"dataGaName":1017,"dataGaLocation":1194},{"text":951,"config":1372},{"href":953,"dataGaName":954,"dataGaLocation":1194},{"text":970,"config":1374},{"href":972,"dataGaName":973,"dataGaLocation":1194},{"text":978,"config":1376},{"href":980,"dataGaName":981,"dataGaLocation":1194},{"text":983,"config":1378},{"href":985,"dataGaName":986,"dataGaLocation":1194},{"text":988,"config":1380},{"href":990,"dataGaName":991,"dataGaLocation":1194},{"text":993,"config":1382},{"href":995,"dataGaName":996,"dataGaLocation":1194},{"text":998,"config":1384},{"href":1000,"dataGaName":1001,"dataGaLocation":1194},{"text":1003,"config":1386},{"href":1005,"dataGaName":1006,"dataGaLocation":1194},{"title":1019,"links":1388},[1389,1391,1393,1395,1397,1399,1403,1408,1410,1412,1414],{"text":1027,"config":1390},{"href":1029,"dataGaName":1021,"dataGaLocation":1194},{"text":1032,"config":1392},{"href":1034,"dataGaName":1035,"dataGaLocation":1194},{"text":1040,"config":1394},{"href":1042,"dataGaName":1043,"dataGaLocation":1194},{"text":1045,"config":1396},{"href":1047,"dataGaName":1048,"dataGaLocation":1194},{"text":1050,"config":1398},{"href":1052,"dataGaName":1053,"dataGaLocation":1194},{"text":1400,"config":1401},"Sustainability",{"href":1402,"dataGaName":1400,"dataGaLocation":1194},"/sustainability/",{"text":1404,"config":1405},"Diversity, inclusion and belonging (DIB)",{"href":1406,"dataGaName":1407,"dataGaLocation":1194},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1055,"config":1409},{"href":1057,"dataGaName":1058,"dataGaLocation":1194},{"text":1065,"config":1411},{"href":1067,"dataGaName":1068,"dataGaLocation":1194},{"text":1070,"config":1413},{"href":1072,"dataGaName":1073,"dataGaLocation":1194},{"text":1415,"config":1416},"Modern Slavery Transparency Statement",{"href":1417,"dataGaName":1418,"dataGaLocation":1194},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1420},[1421,1424,1427],{"text":1422,"config":1423},"Terms",{"href":1246,"dataGaName":1247,"dataGaLocation":1194},{"text":1425,"config":1426},"Cookies",{"dataGaName":1256,"dataGaLocation":1194,"id":1257,"isOneTrustButton":736},{"text":1428,"config":1429},"Privacy",{"href":1251,"dataGaName":1252,"dataGaLocation":1194},[1431],{"id":1432,"title":7,"body":732,"config":1433,"content":1435,"description":732,"extension":1439,"meta":1440,"navigation":736,"path":1441,"seo":1442,"stem":1443,"__hash__":1444},"blogAuthors/en-us/blog/authors/abubakar-siddiq-ango.yml",{"template":1434},"BlogAuthor",{"name":7,"config":1436},{"headshot":1437,"ctfId":1438},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660104/Blog/Author%20Headshots/abuango-headshot.jpg","abuango","yml",{},"/en-us/blog/authors/abubakar-siddiq-ango",{},"en-us/blog/authors/abubakar-siddiq-ango","u5Jv4JxCpfmcGQuXEU4Lr5xVBJP9LAB2NkXRMLeYwPE",[1446,1452,1456],{"title":1447,"description":1448,"heroImage":1449,"category":728,"date":1450,"authors":732,"slug":732,"externalUrl":1451},"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":1453,"description":1448,"heroImage":1449,"category":728,"date":1454,"authors":732,"slug":732,"externalUrl":1455}," 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":1457,"description":1458,"heroImage":1459,"category":728,"date":1460,"authors":1461,"slug":1463,"externalUrl":732},"Automate work item assignment with a \"Work item created\" trigger","Our step-by-step guide walks through this AI capability, which enables instant, scalable triage without manual intervention.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png","2026-07-20",[1462],"Cesar Saavedra","how-to-use-a-work-item-created-trigger",{"promotions":1465},[1466,1480,1491,1503],{"id":1467,"categories":1468,"header":1470,"text":1471,"button":1472,"image":1477},"ai-modernization",[1469],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1473,"config":1474},"Get your AI maturity score",{"href":1475,"dataGaName":1476,"dataGaLocation":959},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1478},{"src":1479},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1481,"categories":1482,"header":1483,"text":1471,"button":1484,"image":1488},"devops-modernization",[728,1295],"Are you just managing tools or shipping innovation?",{"text":1485,"config":1486},"Get your DevOps maturity score",{"href":1487,"dataGaName":1476,"dataGaLocation":959},"/assessments/devops-modernization-assessment/",{"config":1489},{"src":1490},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1492,"categories":1493,"header":1495,"text":1471,"button":1496,"image":1500},"security-modernization",[1494],"security","Are you trading speed for security?",{"text":1497,"config":1498},"Get your security maturity score",{"href":1499,"dataGaName":1476,"dataGaLocation":959},"/assessments/security-modernization-assessment/",{"config":1501},{"src":1502},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1504,"paths":1505,"header":1508,"text":1509,"button":1510,"image":1515},"github-azure-migration",[1506,1507],"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":1511,"config":1512},"See how GitLab compares to GitHub",{"href":1513,"dataGaName":1514,"dataGaLocation":959},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1516},{"src":1490},{"header":1518,"blurb":1519,"button":1520,"secondaryButton":1525},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1521,"config":1522},"Get your free trial",{"href":1523,"dataGaName":759,"dataGaLocation":1524},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":1232,"config":1526},{"href":1084,"dataGaName":764,"dataGaLocation":1524},1786803732681]