提交 44ad694e 编写于 作者: Lab机器人's avatar Lab机器人

groups & subgroups

上级 e7271546
...@@ -3,4 +3,5 @@ ...@@ -3,4 +3,5 @@
* [首页](README.md) * [首页](README.md)
* [概览](docs/002.md) * [概览](docs/002.md)
* [组织](docs/033.md) * [组织](docs/033.md)
* [子组织](docs/046.md)
...@@ -174,6 +174,25 @@ ...@@ -174,6 +174,25 @@
<ul class="articles">
<li class="chapter " data-level="1.3.1" data-path="046.html">
<a href="046.html">
子组织
</a>
</li>
</ul>
</li> </li>
...@@ -598,7 +617,7 @@ ...@@ -598,7 +617,7 @@
</table> </table>
<p><a href="#&#x6982;&#x89C8;">&#x8FD4;&#x56DE;&#x6982;&#x89C8;</a> </p> <p><a href="#&#x6982;&#x89C8;">&#x8FD4;&#x56DE;&#x6982;&#x89C8;</a> </p>
<footer class="page-footer"><span class="copyright">Copyright &#xA9; CODECHINA 2020 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">&#x8BE5;&#x6587;&#x4EF6;&#x4FEE;&#x8BA2;&#x65F6;&#x95F4;&#xFF1A; <footer class="page-footer"><span class="copyright">Copyright &#xA9; CODECHINA 2020 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">&#x8BE5;&#x6587;&#x4EF6;&#x4FEE;&#x8BA2;&#x65F6;&#x95F4;&#xFF1A;
2020-08-29 23:01:51 2020-08-29 23:11:20
</span></footer> </span></footer>
<script>console.log("plugin-popup....");document.onclick = function(e){ e.target.tagName === "IMG" && window.open(e.target.src,e.target.src)}</script><style>img{cursor:pointer}</style> <script>console.log("plugin-popup....");document.onclick = function(e){ e.target.tagName === "IMG" && window.open(e.target.src,e.target.src)}</script><style>img{cursor:pointer}</style>
...@@ -642,7 +661,7 @@ ...@@ -642,7 +661,7 @@
<script> <script>
var gitbook = gitbook || []; var gitbook = gitbook || [];
gitbook.push(function() { gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"概览","level":"1.2","depth":1,"next":{"title":"组织","level":"1.3","depth":1,"path":"docs/033.md","ref":"docs/033.md","articles":[]},"previous":{"title":"首页","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"plugins":["favicon","back-to-top-button","popup","theme-fexa","-sharing","sharing-plus","tbfed-pagefooter","livereload"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright &copy CODECHINA 2020","modify_label":"该文件修订时间:","modify_format":"YYYY-MM-DD HH:mm:ss"},"livereload":{},"search":{},"sharing-plus":{"qq":false,"all":["facebook","google","twitter","instapaper","linkedin","pocket","stumbleupon"],"douban":false,"facebook":true,"weibo":false,"instapaper":false,"whatsapp":false,"hatenaBookmark":false,"twitter":true,"messenger":false,"line":false,"vk":false,"pocket":true,"google":false,"viber":false,"stumbleupon":false,"qzone":false,"linkedin":false},"popup":{},"theme-fexa":{"search-placeholder":"输入关键字搜索","logo":"/docs/img/logo.png","favicon":"","url":"/"},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"favicon":{"shortcut":"/docs/img/logo-s.png","bookmark":"/docs/img/logo-s.png","appleTouch":"/docs/img/logo-s.png","appleTouchMore":{"120x120":"","180x180":"/docs/img/logo-s.png"}},"back-to-top-button":{},"sharing":{"douban":true,"facebook":false,"google":false,"qq":true,"qzone":true,"twitter":false,"weibo":true,"all":["douban","facebook","google","instapaper","linkedin","twitter","weibo","messenger","qq","qzone","viber","whatsapp"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"Miykael","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"themeFexa":{"nav":[{"url":"/","target":"_blank","name":"开始使用"}]}},"title":"CODEChina帮助文档","language":"zh-hans","links":{"sidebar":{}},"gitbook":"*","description":"CODEChina开源社区用户使用及帮助文档"},"file":{"path":"docs/002.md","mtime":"2020-08-29T15:01:51.536Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2020-08-29T15:05:35.145Z"},"basePath":"..","book":{"language":""}}); gitbook.page.hasChanged({"page":{"title":"概览","level":"1.2","depth":1,"next":{"title":"组织","level":"1.3","depth":1,"path":"docs/033.md","ref":"docs/033.md","articles":[{"title":"子组织","level":"1.3.1","depth":2,"path":"docs/046.md","ref":"docs/046.md","articles":[]}]},"previous":{"title":"首页","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"plugins":["favicon","back-to-top-button","popup","theme-fexa","-sharing","sharing-plus","tbfed-pagefooter","livereload"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright &copy CODECHINA 2020","modify_label":"该文件修订时间:","modify_format":"YYYY-MM-DD HH:mm:ss"},"livereload":{},"search":{},"sharing-plus":{"qq":false,"all":["facebook","google","twitter","instapaper","linkedin","pocket","stumbleupon"],"douban":false,"facebook":true,"weibo":false,"instapaper":false,"whatsapp":false,"hatenaBookmark":false,"twitter":true,"messenger":false,"line":false,"vk":false,"pocket":true,"google":false,"viber":false,"stumbleupon":false,"qzone":false,"linkedin":false},"popup":{},"theme-fexa":{"search-placeholder":"输入关键字搜索","logo":"/docs/img/logo.png","favicon":"","url":"/"},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"favicon":{"shortcut":"/docs/img/logo-s.png","bookmark":"/docs/img/logo-s.png","appleTouch":"/docs/img/logo-s.png","appleTouchMore":{"120x120":"","180x180":"/docs/img/logo-s.png"}},"back-to-top-button":{},"sharing":{"douban":true,"facebook":false,"google":false,"qq":true,"qzone":true,"twitter":false,"weibo":true,"all":["douban","facebook","google","instapaper","linkedin","twitter","weibo","messenger","qq","qzone","viber","whatsapp"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"Miykael","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"themeFexa":{"nav":[{"url":"/","target":"_blank","name":"开始使用"}]}},"title":"CODEChina帮助文档","language":"zh-hans","links":{"sidebar":{}},"gitbook":"*","description":"CODEChina开源社区用户使用及帮助文档"},"file":{"path":"docs/002.md","mtime":"2020-08-29T15:11:20.165Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2020-08-29T15:05:35.145Z"},"basePath":"..","book":{"language":""}});
}); });
</script> </script>
</div> </div>
......
# Contribution Analytics
> 原文:[https://docs.gitlab.com/ee/user/group/contribution_analytics/](https://docs.gitlab.com/ee/user/group/contribution_analytics/)
* [Overview](#overview)
* [Use cases](#use-cases)
* [Using Contribution Analytics](#using-contribution-analytics)
* [Changing the period time](#changing-the-period-time)
* [Sorting by different factors](#sorting-by-different-factors)
# Contribution Analytics[](#contribution-analytics-starter "Permalink")
版本历史
*[GitLab Starter](https://about.gitlab.com/pricing/) 8.3 中引入.
* 在 GitLab 12.2 中针对子组进行了[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/3090) .
## Overview[](#overview "Permalink")
借助 Contribution Analytics,您可以大致了解小组中的以下活动:
* Issues
* 合并要求
* 推送事件
要查看贡献分析,请转至小组的" **分析">"贡献分析"**页面.
## Use cases[](#use-cases "Permalink")
* 分析您的团队在一段时间内的贡献,并为杰出贡献者提供奖金.
* 与可以从其他支持中受益的小组成员一起确定改进的机会.
## Using Contribution Analytics[](#using-contribution-analytics "Permalink")
以下是三个主要的条形图,它们说明了每个组成员的贡献数量:
* 推送事件
* 合并要求
* 已解决的问题
将鼠标悬停在每个栏上可以显示特定组成员的事件数.
[![Contribution analytics bar graphs](img/52f1314a06269a0dc317f758c8e8cdab.png)](img/group_stats_graph.png)
## Changing the period time[](#changing-the-period-time "Permalink")
您可以从以下三个期间中选择:
* 上周(默认)
* 上个月
* 最近三个月
从日历下拉列表中选择所需的时间段.
[![Contribution analytics choose period](img/0bc8de7b7d20af897fb8b38bb48663e8.png)](img/group_stats_cal.png)
## Sorting by different factors[](#sorting-by-different-factors "Permalink")
每个小组成员的贡献也以表格形式显示. 单击列标题以按该列对表进行排序:
* 成员名字
* 推送事件数
* 未解决的问题数
* 已解决的问题数
* 已打开的 MR 数
* 合并的 MR 数
* 总捐款数
[![Contribution analytics contributions table](img/0a64287e1feef55413a5a906d02ec8ea.png)](img/group_stats_table.png)
\ No newline at end of file
# Custom group-level project templates
> 原文:[https://docs.gitlab.com/ee/user/group/custom_project_templates.html](https://docs.gitlab.com/ee/user/group/custom_project_templates.html)
# Custom group-level project templates[](#custom-group-level-project-templates-premium "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6861) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.6.
创建新[项目时](../project/index.html) ,基于自定义项目模板创建它是一个方便的选择.
用户可以在组的**"设置">"常规">"自定义项目模板"**下配置一个用作模板源的 GitLab 组.
**注意:** GitLab 管理员可以[为整个 GitLab 实例设置项目模板](../admin_area/custom_project_templates.html) .
在本部分中,您可以配置所有自定义项目模板的来源组. 如果用户有权访问组命名空间下的每个项目,则它们将对用户可用. 例如,组中的每个公共项目将对每个登录用户可用.
但是,仅当用户是项目成员时,私人项目才可用.
**注意:**只能将直接子组设置为模板源. 不能使用所选模板源的嵌套子组项目.
复制到每个新项目的存储库和数据库信息与使用[GitLab 的项目导入/导出导出](../project/settings/import_export.html)的数据相同.
\ No newline at end of file
# Epics
> 原文:[https://docs.gitlab.com/ee/user/group/epics/](https://docs.gitlab.com/ee/user/group/epics/)
* [Use cases](#use-cases)
* [Manage epics](#manage-epics)
* [Relationships between epics and issues](#relationships-between-epics-and-issues)
* [Issue health status in Epic tree](#issue-health-status-in-epic-tree-ultimate)
* [Disable Issue health status in Epic tree](#disable-issue-health-status-in-epic-tree)
* [Multi-level child epics](#multi-level-child-epics-ultimate)
* [Start date and due date](#start-date-and-due-date)
* [From milestones](#from-milestones)
* [Inherited](#inherited)
* [Roadmap in epics](#roadmap-in-epics)
* [Permissions](#permissions)
* [Thread](#thread)
* [Comment or start a thread](#comment-or-start-a-thread)
* [Activity sort order](#activity-sort-order)
* [Award emoji](#award-emoji)
* [Notifications](#notifications)
# Epics[](#epics-premium "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2 中引入.
* 单级史诗在 12.8 [中移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) [GitLab Premium](https://about.gitlab.com/pricing/) .
Epics 通过跟踪跨项目和里程碑共享主题的问题组,使您可以更有效,更轻松地管理项目组合.
[![epics list view](img/bad7cd1d32a4bbf53fc1d27dcb3dd211.png)](img/epics_list_view_v12.5.png)
## Use cases[](#use-cases "Permalink")
* 假设您的团队正在研究一项大型功能,其中涉及在一个[小组](../index.html)内不同项目中创建的不同问题的多个讨论. 借助 Epics,您可以跟踪所有有助于该单一功能的相关活动.
* 跟踪何时针对该组问题开始工作,以及何时结束目标工作.
* 深入讨论和协作功能思想和范围.
## Manage epics[](#manage-epics "Permalink")
要了解您可以使用史诗功能,请参阅[管理史诗](manage_epics.html) . 可能的动作包括:
* [Create an epic](manage_epics.html#create-an-epic)
* [Bulk-edit epics](../bulk_editing/index.html#bulk-edit-epics)
* [Delete an epic](manage_epics.html#delete-an-epic)
* [Close an epic](manage_epics.html#close-an-epic)
* [Reopen a closed epic](manage_epics.html#reopen-a-closed-epic)
* [Go to an epic from an issue](manage_epics.html#go-to-an-epic-from-an-issue)
* [Search for an epic from epics list page](manage_epics.html#search-for-an-epic-from-epics-list-page)
* [Make an epic confidential](manage_epics.html#make-an-epic-confidential)
* [Manage issues assigned to an epic](manage_epics.html#manage-issues-assigned-to-an-epic)
* [Manage multi-level child epics](manage_epics.html#manage-multi-level-child-epics-ultimate)
## Relationships between epics and issues[](#relationships-between-epics-and-issues "Permalink")
史诗与问题之间的可能关系是:
* 史诗是一个或多个问题的父代.
* 史诗是一个或多个子史诗的父代. 有关详细信息,请参见[多级子史诗](#multi-level-child-epics-ultimate) .
图 TD Parent_epic-> Issue1 Parent_epic-> Child_epic Child_epic-> Issue2
请参阅[管理分配给史诗](manage_epics.html#manage-issues-assigned-to-an-epic)的问题以获取将事件添加到史诗,重新排序问题,在史诗之间移动问题或将问题升级到史诗的步骤.
## Issue health status in Epic tree[](#issue-health-status-in-epic-tree-ultimate "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/199184) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10.
您可以通过在问题上设置红色,琥珀色或绿色的[健康状态](../../project/issues/index.html#health-status-ultimate)来报告并快速响应单个问题和史诗的[健康](../../project/issues/index.html#health-status-ultimate) ,该状态将显示在史诗树上.
### Disable Issue health status in Epic tree[](#disable-issue-health-status-in-epic-tree "Permalink")
此功能带有默认情况下启用的功能标志. 有关禁用它的步骤,请参阅[禁用问题运行状况](../../project/issues/index.html#disable-issue-health-status) .
## Multi-level child epics[](#multi-level-child-epics-ultimate "Permalink")
在 GitLab Ultimate 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/8333) .
属于父史诗组的一个组或子组的任何史诗都可以添加. 新的儿童史诗出现在" **史诗和问题"**选项卡中史诗列表的顶部.
当您添加已链接到父级史诗的史诗时,到其当前父级的链接将被删除.
An epic can have multiple child epics up to the maximum depth of five.
请参阅[管理多级子级史诗](manage_epics.html#manage-multi-level-child-epics-ultimate) ,以了解创建,移动,重新排序或删除子[级史诗](manage_epics.html#manage-multi-level-child-epics-ultimate)的步骤.
## Start date and due date[](#start-date-and-due-date "Permalink")
要设置史诗的**开始日期****截止日期** ,请选择以下选项之一:
* **固定** :输入固定值.
* **从里程碑** :从当前分配给史诗问题的里程碑继承动态值. 请注意,GitLab 12.5 用**Inherited**替换了此选项.
* **继承** :从史诗的问题,子史诗和里程碑继承动态值(在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7332) ,以代替**From 里程碑** ).
### From milestones[](#from-milestones "Permalink")
> 在 GitLab 12.5 中由**Inherited** [取代](https://gitlab.com/gitlab-org/gitlab/-/issues/7332) .
如果您选择" **从里程碑**开始"作为开始日期,则 GitLab 会自动将日期设置为当前分配给添加到史诗中的问题的所有里程碑中最早的开始日期. 同样,如果您选择" **从里程碑** "作为截止日期,则 GitLab 会将其设置为当前分配给这些问题的所有里程碑中的最新截止日期.
这些是动态日期,如果发生以下任何情况,将重新计算这些日期:
* 将里程碑重新分配给这些问题.
* 里程碑日期更改.
* 从史诗中添加或删除问题.
### Inherited[](#inherited "Permalink")
在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7332)以替换**From 里程碑** .
如果选择:
* GitLab **继承**了开始日期,它将扫描所有子史诗和分配给该史诗的问题,并将开始日期设置为与找到的最早开始日期或里程碑相匹配.
* GitLab **继承**了截止日期,它将设置截止日期以匹配在其子史诗和问题中发现的最新截止日期或里程碑.
这些是动态日期,如果发生以下任何情况,则重新计算:
* 儿童史诗的日期发生了变化.
* 将里程碑重新分配给问题.
* 里程碑的日期会更改.
* 问题被添加到史诗中或从史诗中删除.
由于史诗的日期可以从其子级继承日期,因此开始日期和到期日期从底部传播到顶部. 如果最低级别的子级史诗的开始日期发生更改(成为其父级史诗最早的开始日期),则父级史诗的开始日期将反映该更改,并将向上传播到顶部的史诗级.
## Roadmap in epics[](#roadmap-in-epics "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7327) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.10.
如果你的史诗包含一个或多个[孩子史诗](#multi-level-child-epics-ultimate)其中有一个[开始或到期日](#start-date-and-due-date) ,一个[路线图,](../roadmap/index.html)孩子史诗的观点是父史诗中列出.
[![Child epics roadmap](img/35e89eba4dfc37f409cb295b0c8b13d1.png)](img/epic_view_roadmap_v12_9.png)
## Permissions[](#permissions "Permalink")
如果您有权查看史诗,并且有权查看已添加到该史诗的问题,则可以在史诗问题列表中查看该问题.
如果您有权编辑史诗并且有权编辑问题,则可以将问题添加到史诗中或从史诗中删除.
请注意,对于给定的组,所有项目的可见性必须与该组相同,或限制较少. 这意味着,如果您有权访问某个小组的史诗,那么您已经可以访问该小组的项目.
您也可以查阅[组权限表](../../permissions.html#group-members-permissions) .
## Thread[](#thread "Permalink")
* 评论:通过在该史诗中的评论中发布评论来协作. 这些文本字段也完全支持[GitLab Flavored Markdown](../../markdown.html#gitlab-flavored-markdown-gfm) .
## Comment or start a thread[](#comment-or-start-a-thread "Permalink")
写下评论后,您可以:
* 点击**评论** ,您的评论将被发布.
* 单击" **开始主题"** ,您将在该史诗般的讨论中开始一个主题.
### Activity sort order[](#activity-sort-order "Permalink")
[Introduced](https://https://gitlab.com/gitlab-org/gitlab/-/issues/214364) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
您可以颠倒默认顺序,并与按顶部的最新项目排序的活动供稿进行交互. 您的首选项通过本地存储保存,并自动应用于您查看的每个问题.
要更改活动排序顺序,请单击**最旧的第一个**下拉菜单,然后选择最旧或最新的项目以首先显示.
[![Issue activity sort order dropdown button](img/806d03909b4b194f095b4c69e175868d.png)](img/epic_activity_sort_order_v13_2.png)
## Award emoji[](#award-emoji "Permalink")
您可以为该史诗或其评论[授予表情符号](../../award_emojis.html) .
## Notifications[](#notifications "Permalink")
您可以[打开通知](../../profile/notifications.html)[通知](../../profile/notifications.html)史诗事件.
\ No newline at end of file
# Manage epics
> 原文:[https://docs.gitlab.com/ee/user/group/epics/manage_epics.html](https://docs.gitlab.com/ee/user/group/epics/manage_epics.html)
* [Create an epic](#create-an-epic)
* [Create an epic from the epic list](#create-an-epic-from-the-epic-list)
* [Access the New Epic form](#access-the-new-epic-form)
* [Elements of the New Epic form](#elements-of-the-new-epic-form)
* [Edit an epic](#edit-an-epic)
* [Bulk-edit epics](#bulk-edit-epics)
* [Delete an epic](#delete-an-epic)
* [Close an epic](#close-an-epic)
* [Reopen a closed epic](#reopen-a-closed-epic)
* [Go to an epic from an issue](#go-to-an-epic-from-an-issue)
* [Search for an epic from epics list page](#search-for-an-epic-from-epics-list-page)
* [Make an epic confidential](#make-an-epic-confidential)
* [Disable confidential epics](#disable-confidential-epics-premium-only)
* [Manage issues assigned to an epic](#manage-issues-assigned-to-an-epic)
* [Add an issue to an epic](#add-an-issue-to-an-epic)
* [Add an existing issue to an epic](#add-an-existing-issue-to-an-epic)
* [Create an issue from an epic](#create-an-issue-from-an-epic)
* [Remove an issue from an epic](#remove-an-issue-from-an-epic)
* [Reorder issues assigned to an epic](#reorder-issues-assigned-to-an-epic)
* [Move issues between epics](#move-issues-between-epics-ultimate)
* [Promote an issue to an epic](#promote-an-issue-to-an-epic)
* [Manage multi-level child epics](#manage-multi-level-child-epics-ultimate)
* [Add a child epic to an epic](#add-a-child-epic-to-an-epic)
* [Move child epics between epics](#move-child-epics-between-epics)
* [Reorder child epics assigned to an epic](#reorder-child-epics-assigned-to-an-epic)
* [Remove a child epic from a parent epic](#remove-a-child-epic-from-a-parent-epic)
# Manage epics[](#manage-epics-premium "Permalink")
该页面收集了有关[史诗](index.html)或与[史诗](index.html)有关的所有操作的说明.
## Create an epic[](#create-an-epic "Permalink")
每个组中都有史诗的分页列表,您可以从中创建新的史诗. 史诗列表还包括所选组中所有子组的史诗. 在您的论坛页面中:
### Create an epic from the epic list[](#create-an-epic-from-the-epic-list "Permalink")
要从史诗列表中创建史诗,请分组:
1.**史诗** .
2. Click **新史诗**.
3. 输入描述性标题.
4. Click **创造史诗**.
### Access the New Epic form[](#access-the-new-epic-form "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/211533) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
有两种方法可以进入"新史诗"表格并在您所在的小组中创建史诗:
* 在您小组的史诗中,点击**新建史诗** .
* 在任何地方的顶部菜单中,单击**加号** ( ) **>新史诗** .
[![New epic from an open epic](img/4c0cef07da8190af4f517bd8d336cb5b.png)](img/new_epic_from_groups_v13.2.png)
### Elements of the New Epic form[](#elements-of-the-new-epic-form "Permalink")
在创建新的史诗时,您可以填写以下字段:
* Title
* Description
* 保密性复选框
* Labels
* 开始日期
* 截止日期
[![New epic form](img/a48fc7b7ef95b54bd7ec66c17cad7dbb.png)](img/new_epic_form_v13.2.png)
## Edit an epic[](#edit-an-epic "Permalink")
创建史诗之后,可以编辑更改以下详细信息:
* Title
* Description
* 开始日期
* 截止日期
* Labels
编辑史诗的标题或说明:
1. 点击**修改标题和说明** 按钮.
2. 进行更改.
3. Click **保存更改**.
要编辑史诗的开始日期,截止日期或标签,请执行以下操作:
1. 单击史诗侧边栏中每个部分旁边的" **编辑"** .
2. 选择日期或标签为您的史诗.
## Bulk-edit epics[](#bulk-edit-epics "Permalink")
您可以一次编辑多个史诗. 要了解操作方法,请访问[批量编辑问题,史诗和在组级别合并请求](../bulk_editing/index.html#bulk-edit-epics) .
## Delete an epic[](#delete-an-epic "Permalink")
**注意:**要删除史诗,您需要成为组/子组的[所有者](../../permissions.html#group-members-permissions) .
编辑史诗的描述时,单击" **删除"**按钮以删除史诗. 出现一个模态来确认您的动作.
删除史诗会从系统中与其关联的史诗中释放所有现有问题.
## Close an epic[](#close-an-epic "Permalink")
每当您决定不再需要该史诗时,请通过以下方法关闭该史诗:
* 单击**关闭史诗**按钮.
[![close epic - button](img/dce9a8c36e06896553bd80f313c3a756.png)](img/button_close_epic.png)
* 使用[快速动作](../../project/quick_actions.html) .
## Reopen a closed epic[](#reopen-a-closed-epic "Permalink")
您可以重新打开因以下原因而关闭的史诗:
* 单击**重新打开史诗**按钮.
[![reopen epic - button](img/ed7d654fa8271709dfa6c567b48c5de6.png)](img/button_reopen_epic.png)
* 使用[快速动作](../../project/quick_actions.html) .
## Go to an epic from an issue[](#go-to-an-epic-from-an-issue "Permalink")
如果问题属于史诗,则可以使用问题侧栏中的链接导航到包含该史诗.
[![containing epic](img/8edd1cbf476ddc76f3df25fdeff8b55c.png)](img/containing_epic.png)
## Search for an epic from epics list page[](#search-for-an-epic-from-epics-list-page "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.5 中引入.
* [已移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) GitLab 12.8 中的[Premium](https://about.gitlab.com/pricing/)层.
您可以根据以下参数,使用过滤的搜索栏(类似于"问题和合并请求"的搜索栏)从史诗列表中搜索史诗:
* 标题或说明
* 作者名称/用户名
* Labels
[![epics search](img/c77b45147112088b7940cb4ebcc5f4a6.png)](img/epics_search.png)
要进行搜索,请转到史诗列表,然后单击" **搜索或过滤结果** "字段. 它将显示一个下拉菜单,您可以从中添加一个作者. 您也可以输入纯文本以按史诗标题或描述进行搜索. 完成后,按键盘上的`Enter`键过滤列表.
您还可以按以下方式对史诗列表进行排序:
* 创建日期
* 最近更新时间
* 开始日期
* 截止日期
每个选项都包含一个按钮,可以在**升序****降序**之间切换顺序. 无论您浏览史诗,包括" [路线图"](../roadmap/index.html) ,都可以保存和使用排序选项和顺序.
[![epics sort](img/57b0d20488fb6cdd9ed2e8f573fcb7bb.png)](img/epics_sort.png)
## Make an epic confidential[](#make-an-epic-confidential "Permalink")
版本历史
*[GitLab Premium](https://about.gitlab.com/pricing/) 13.0 中在功能标志后面[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/213068) ,默认情况下禁用.
*[GitLab Premium](https://about.gitlab.com/pricing/) 13.2 中[默认启用](https://gitlab.com/gitlab-org/gitlab/-/issues/224513) .
创建史诗时,可以选中**"将此史诗设为机密"**复选框,使其成为机密文件.
### Disable confidential epics[](#disable-confidential-epics-premium-only "Permalink")
机密史诗功能部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的自我管理实例禁用它.
禁用它:
```
Feature.disable(:confidential_epics)
```
## Manage issues assigned to an epic[](#manage-issues-assigned-to-an-epic "Permalink")
### Add an issue to an epic[](#add-an-issue-to-an-epic "Permalink")
您可以将现有问题添加到史诗中,也可以创建一个自动添加到史诗中的新问题.
#### Add an existing issue to an epic[](#add-an-existing-issue-to-an-epic "Permalink")
属于史诗组或史诗子组中任何项目的现有问题都可以添加到史诗中. 新添加的问题显示在" **史诗和问题"**选项卡中问题列表的顶部.
史诗包含一个问题列表,一个问题最多可以与一个史诗相关联. 当您添加已链接到史诗的问题时,该问题会自动与其当前父级取消链接.
要将问题添加到史诗中:
1. 点击**添加**下拉按钮.
2. Click **添加问题**.
3. 使用以下两种方法之一确定要添加的问题:
* 粘贴问题的链接.
* 通过输入问题标题的一部分来搜索所需的问题,然后选择所需的匹配项(在[GitLab 12.5 中](https://gitlab.com/gitlab-org/gitlab/-/issues/9126)引入).
如果要添加多个问题,请按`空格键` ,然后重复此步骤.
4. Click **Add**.
#### Create an issue from an epic[](#create-an-issue-from-an-epic "Permalink")
在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/5419) .
从史诗中创建问题使您可以将注意力集中在史诗的更广泛的上下文上,同时将工作划分成较小的部分.
要从史诗中创建问题:
1. 在史诗页面上的" **史诗和问题"下** ,点击**添加**下拉按钮,然后选择**创建新问题** .
2.**标题下** ,输入新期刊的标题.
3.**项目**下拉列表中,选择应在其中创建问题的项目.
4. Click **创建问题**.
### Remove an issue from an epic[](#remove-an-issue-from-an-epic "Permalink")
在史诗的详细信息页面上时,可以从史诗中删除问题. 从史诗中删除问题后,该问题将不再与此史诗相关联.
要从史诗中删除问题:
1. 点击**删除** ( )按钮旁边要删除的问题. 出现**删除问题**警告.
2. Click **Remove**.
[![List of issues assigned to an epic](img/8c47dc71d95554edf7da34adb5acc575.png)](img/issue_list_v13_1.png)
### Reorder issues assigned to an epic[](#reorder-issues-assigned-to-an-epic "Permalink")
在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9367) .
新问题出现在" **史诗和问题"**选项卡中的列表顶部. 您可以通过拖动来重新排列问题列表.
要重新分配分配给史诗的问题:
1. 转到" **史诗和问题"**标签.
2. 将问题拖到所需的顺序.
### Move issues between epics[](#move-issues-between-epics-ultimate "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33039) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0.
新问题出现在" **史诗和问题"**选项卡中的列表顶部. 您可以将问题从一部史诗转移到另一部史诗.
要将问题移至另一个史诗:
1. 转到" **史诗和问题"**标签.
2. 将问题拖到所需的父级史诗中.
### Promote an issue to an epic[](#promote-an-issue-to-an-epic "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/3777) .
* 在 12.8 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) [GitLab Premium](https://about.gitlab.com/pricing/) .
如果您具有关闭问题并在直接父组中创建史诗的必要[权限](../../permissions.html) ,则可以使用`/promote` [快速操作](../../project/quick_actions.html#quick-actions-for-issues-merge-requests-and-epics)将问题升级为史诗. 仅可以促进小组项目中的问题. 尝试提出机密问题时,将显示警告. 向史诗宣传机密问题将使与该问题相关的所有信息公开,因为史诗对小组成员是公开的.
执行快速操作时:
* 在与问题项目所在的组中创建一个史诗.
* 通知该问题的订户该史诗已创建.
以下问题元数据将被复制到史诗中:
* 标题,描述,活动/评论主题.
* Upvotes/downvotes.
* Participants.
* Group labels that the issue already has.
## Manage multi-level child epics[](#manage-multi-level-child-epics-ultimate "Permalink")
### Add a child epic to an epic[](#add-a-child-epic-to-an-epic "Permalink")
要将儿童史诗添加到史诗中:
1. 点击**添加**下拉按钮.
2. Click **添加史诗**.
3. 使用以下两种方法之一确定要添加的史诗:
* 粘贴史诗的链接.
* 通过输入史诗标题的一部分来搜索所需的问题,然后选择所需的匹配项(在[GitLab 12.5 中](https://gitlab.com/gitlab-org/gitlab/-/issues/9126)引入).
如果要添加多个史诗,请按`空格键`并重复此步骤.
4. Click **Add**.
### Move child epics between epics[](#move-child-epics-between-epics "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33039) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0.
新的儿童史诗出现在" **史诗和问题"**选项卡中的列表顶部. 您可以将儿童史诗从一个史诗转移到另一个史诗. 当您添加已链接到父级史诗的史诗时,到其当前父级的链接将被删除. 问题和儿童史诗不能混在一起.
要将儿童史诗移至另一史诗:
1. 转到" **史诗和问题"**标签.
2. 将史诗拖到所需的父史诗中.
### Reorder child epics assigned to an epic[](#reorder-child-epics-assigned-to-an-epic "Permalink")
在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9367) .
新的儿童史诗出现在" **史诗和问题"**选项卡中的列表顶部. 您可以对子史诗列表进行重新排序.
要重新分配分配给史诗的子史诗:
1. 转到" **史诗和问题"**标签.
2. 将史诗拖到所需的顺序.
### Remove a child epic from a parent epic[](#remove-a-child-epic-from-a-parent-epic "Permalink")
要从父级史诗中删除子级史诗:
1. 单击父级史诗列表中的`x`按钮.
2.**删除史诗**警告消息,请单击**删除** .
\ No newline at end of file
> 原文:[https://docs.gitlab.com/ee/user/group/dependency_proxy/](https://docs.gitlab.com/ee/user/group/dependency_proxy/)
\ No newline at end of file
# Group Import/Export
> 原文:[https://docs.gitlab.com/ee/user/group/settings/import_export.html](https://docs.gitlab.com/ee/user/group/settings/import_export.html)
* [Important Notes](#important-notes)
* [Exported Contents](#exported-contents)
* [Exporting a Group](#exporting-a-group)
* [Between CE and EE](#between-ce-and-ee)
* [Importing the group](#importing-the-group)
* [Version history](#version-history)
* [Rate Limits](#rate-limits)
# Group Import/Export[](#group-importexport "Permalink")
版本历史
* 在 GitLab 13.0 中作为实验功能[引入](https://gitlab.com/groups/gitlab-org/-/epics/2888) . 在将来的版本中可能会更改.
可以将在任何 GitLab 实例或 GitLab.com 上运行的现有组及其所有相关数据导出,并移至新的 GitLab 实例.
如果启用了组导入选项,则会显示**GitLab 导入/导出**按钮.
也可以看看:
* [Group Import/Export API](../../../api/group_import_export.html)
* [Project Import/Export](../../project/settings/import_export.html)
* [Project Import/Export API](../../../api/project_import_export.html)
要启用 GitLab 导入/导出:
1. 导航 **管理区>** **设置>可见性和访问控制** .
2. 滚动到**导入源**
3. 启用所需的**导入源**
## Important Notes[](#important-notes "Permalink")
请注意以下几点:
* 导出存储在一个临时[共享目录中](../../../development/shared_files.html) ,并由特定工作人员每 24 小时删除一次.
* 要保留导入项目中的组级关系,请首先运行"组导入/导出",以允许将项目导入所需的组结构中.
* 除非导入到父组,否则将为导入的组提供`private`可见性级别.
* 如果导入父组,则除非另有限制,否则子组将继承相同级别的可见性.
* 若要保留成员列表及其对导入组的各自权限,请查看这些组中的用户. 在导入所需的组之前,请确保这些用户存在.
### Exported Contents[](#exported-contents "Permalink")
将导出以下项目:
* Milestones
* Labels
* 董事会和董事会名单
* Badges
* 子组(包括所有上述数据)
* Epics
* Events
以下项目将不会导出:
* Projects
* 跑步者令牌
* SAML 发现令牌
**注意:**有关在组导出中[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/group/import_export.yml)的特定数据的更多详细信息,请参阅[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/group/import_export.yml)文件.
## Exporting a Group[](#exporting-a-group "Permalink")
1. 导航到您的论坛的主页.
2. 请点击 侧栏中的**设置** .
3. 在" **高级"**部分中,单击" **导出组"**按钮.
[![Export group panel](img/222aa4a1e09c2312446d0aa324c6f193.png)](img/export_panel_v13_0.png)
4. 生成导出后,您应该会收到一封电子邮件,其中包含指向压缩的 tar 存档中[导出内容](#exported-contents)的链接,其中的内容为 JSON 格式.
5. 或者,您可以返回项目设置,然后点击**下载导出**从那里下载文件,或者点击**重新**生成导出来生成一个新文件.
**注意:**可以由管理员设置最大导入文件大小,默认为 50MB. 作为管理员,您可以修改最大导入文件大小. 为此,请在" [应用程序设置" API](../../../api/settings.html#change-application-settings)或" [管理界面"中](../../admin_area/settings/account_and_limit_settings.html)使用`max_import_size`选项.
### Between CE and EE[](#between-ce-and-ee "Permalink")
您可以将组从[Community Edition](https://about.gitlab.com/install/ce-or-ee/)导出[到 Enterprise Edition](https://about.gitlab.com/install/ce-or-ee/) ,反之亦然.
如果要将组从企业版导出到社区版,则可能会丢失仅保留在企业版中的数据. 有关更多信息,请参阅[从 EE 降级为 CE](../../../README.html) .
## Importing the group[](#importing-the-group "Permalink")
1. 通过顶部导航栏中的`+`按钮或现有组页面上的" **新建子组"**按钮导航到" **新建**组"页面.
[![Navigation paths to create a new group](img/fad2df1fa4371b39b3ea1032a8ad236c.png)](img/new_group_navigation_v13_1.png)
2. 在"新建组"页面上,选择" **导入组"**选项卡.
[![Fill in group details](img/d15d948fc7d1b6e5c8dabacbe7c2fcc9.png)](img/import_panel_v13_1.png)
3. 输入您的群组名称.
4. 接受或修改关联的组 URL.
5. Click **选择文件**
6. 在" [导出组"](#exporting-a-group)部分中选择您导出的文件.
7. 单击**导入组**开始导入. 您新导入的组页面将很快出现.
## Version history[](#version-history "Permalink")
GitLab 可以导入从其他 GitLab 部署导出的捆绑软件. 此功能仅限于之前的两个 GitLab [次要](../../../policy/maintenance.html#versioning)发行版,这与我们的[安全发布](../../../policy/maintenance.html#security-releases)流程类似.
例如:
| 当前版本 | 可以导入从 |
| --- | --- |
| 13.0 | 13.0, 12.10, 12.9 |
| 13.1 | 13.1, 13.0, 12.10 |
## Rate Limits[](#rate-limits "Permalink")
为了避免滥用,用户的速率仅限于:
| 请求类型 | Limit |
| --- | --- |
| Export | 每 5 分钟 30 个小组 |
| 下载导出 | 每 10 分钟每组 10 次下载 |
| Import | 每 5 分钟 30 个小组 |
\ No newline at end of file
# Insights
> 原文:[https://docs.gitlab.com/ee/user/group/insights/](https://docs.gitlab.com/ee/user/group/insights/)
* [View your group’s Insights](#view-your-groups-insights)
* [Configure your Insights](#configure-your-insights)
* [Permissions](#permissions)
# Insights[](#insights-ultimate "Permalink")
[Introduced](https://gitlab.com/groups/gitlab-org/-/epics/725) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0.
配置对您的团队重要的洞察力,以探索数据,例如分类诊断,在给定时间段内创建/关闭的问题,合并请求的平均时间等.
[![Insights example stacked bar chart](img/9f4a21c247f193621ddd2f709c4536d7.png)](img/insights_example_stacked_bar_chart.png)
## View your group’s Insights[](#view-your-groups-insights "Permalink")
您可以通过点击左侧边栏中的**Analytics(分析)> Insights**链接来访问组的 Insights:
[![Insights sidebar link](img/098a5864447e44da06b72051af59b294.png)](img/insights_sidebar_link_v12_8.png)
## Configure your Insights[](#configure-your-insights "Permalink")
导航到组的**"设置">"常规"** ,展开" **Insights"** ,然后选择包含`.gitlab/insights.yml`配置文件的项目:
[![group insights configuration](img/6e3e1e9c7013cd330bcb6380ef19ddf9.png)](img/insights_group_configuration.png)
如果未设置任何配置,将使用[默认配置文件](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/fixtures/insights/default.yml) .
有关`.gitlab/insights.yml`配置文件的更多详细信息,请参见[Project 的 Insights 文档](../../project/insights/index.html) .
## Permissions[](#permissions "Permalink")
如果您有权查看组,则可以查看其见解.
**注意:**您无法访问的问题或合并请求(因为您无法访问它们所属的项目,或者因为它们是机密的)会从 Insights 图表中过滤掉.
您也可以查阅[组权限表](../../permissions.html#group-members-permissions) .
\ No newline at end of file
# Issues Analytics
> 原文:[https://docs.gitlab.com/ee/user/group/issues_analytics/](https://docs.gitlab.com/ee/user/group/issues_analytics/)
* [Drill into the information](#drill-into-the-information)
# Issues Analytics[](#issues-analytics-premium "Permalink")
版本历史
*[GitLab Premium](https://about.gitlab.com/pricing/) 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7478) .
* 在项目级别的[GitLab Premium](https://about.gitlab.com/pricing/) 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/196561) .
问题分析是一个条形图,用于说明每月创建的问题数. 默认时间跨度为 13 个月,其中包括当月以及之前的 12 个月.
要访问图表,请导航至您的组或项目侧边栏,然后选择 **分析>问题分析** .
将鼠标悬停在每个栏上可以查看总数.
要缩小图中包含的问题的范围,请在" **搜索或过滤结果..."**字段中输入您的条件. 可以在以下列表中输入条件或从菜单中选择条件:
* Author
* Assignee
* Milestone
* Label
* 我的反应
* Weight
您可以通过设置 URL 参数来更改显示的总月数. 例如, `https://gitlab.com/groups/gitlab-org/-/issues_analytics?months_back=15` //gitlab.com/groups/gitlab-org/-/issues_analytics?months_back `https://gitlab.com/groups/gitlab-org/-/issues_analytics?months_back=15` 15 显示 GitLab.org 组中图表的总计 15 个月.
[![Issues created per month](img/7a1046341466c144b96bc573f0a16114.png)](img/issues_created_per_month_v12_8.png)
## Drill into the information[](#drill-into-the-information "Permalink")
在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/196547) .
您可以通过浏览图表下方的表格来检查各个问题的详细信息.
该图表显示基于全局页面筛选器的前 100 个问题.
[![Issues table](img/c07889c4060a55eccd0e5dde9cb54f74.png)](img/issues_table_v13_1.png)
\ No newline at end of file
# Iterations
> 原文:[https://docs.gitlab.com/ee/user/group/iterations/](https://docs.gitlab.com/ee/user/group/iterations/)
* [View the iterations list](#view-the-iterations-list)
* [Create an iteration](#create-an-iteration)
* [Edit an iteration](#edit-an-iteration)
* [Enable Iterations](#enable-iterations-core-only)
# Iterations[](#iterations-starter "Permalink")
版本历史
*[GitLab Starter](https://about.gitlab.com/pricing/) 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214713) .
* 它部署在功能标记后面,默认情况下处于禁用状态.
* 在 GitLab.com 上已禁用.
* 可以按组启用或禁用
* 不建议将其用于生产.
* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-iterations-core-only) .
迭代是跟踪一段时间内问题的一种方法. 这使团队可以跟踪速度和波动性指标. 迭代可与[里程碑](../../project/milestones/index.html)一起使用,以在不同时间段内进行跟踪.
例如,您可以使用:
* 计划递增的里程碑,跨越 8 到 12 周.
* Sprint 的迭代,历时 2 周.
在 GitLab 中,迭代类似于里程碑,但有一些区别:
* 迭代仅适用于组.
* 一组一次只能有一个活动的迭代.
* 迭代需要开始日期和结束日期.
* 迭代日期范围不能重叠.
## View the iterations list[](#view-the-iterations-list "Permalink")
要查看迭代列表,请分组访问 **问题>迭代** . 从那里您可以创建一个新的迭代或单击一个迭代以获得更详细的视图.
## Create an iteration[](#create-an-iteration "Permalink")
**注意:**您需要具有开发人员[权限](../../permissions.html)或更高[权限](../../permissions.html)才能创建迭代.
要创建迭代:
1. 在一个小组中,转到 **问题>迭代** .
2. Click **新迭代**.
3. 输入标题,描述(可选),开始日期和截止日期.
4. 单击**创建迭代** . 将打开"迭代详细信息"页面.
## Edit an iteration[](#edit-an-iteration "Permalink")
版本历史
*[GitLab Starter](https://about.gitlab.com/pricing/) 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/218277) .
**注意:**您需要开发者[权限](../../permissions.html)或更高[权限](../../permissions.html)才能编辑迭代.
要编辑迭代,请点击三点菜单( )> **编辑迭代** .
## Enable Iterations[](#enable-iterations-core-only "Permalink")
GitLab 迭代功能正在开发中,尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它. `:group_iterations`可以按组启用或禁用.
要启用它:
```
# Instance-wide
Feature.enable(:group_iterations)
# or by group
Feature.enable(:group_iterations, Group.find(<group id>))
```
禁用它:
```
# Instance-wide
Feature.disable(:group_iterations)
# or by group
Feature.disable(:group_iterations, Group.find(<group id>))
```
\ No newline at end of file
# Public access
> 原文:[https://docs.gitlab.com/ee/public_access/public_access.html](https://docs.gitlab.com/ee/public_access/public_access.html)
* [Visibility of projects](#visibility-of-projects)
* [Public projects](#public-projects)
* [Internal projects](#internal-projects)
* [Private projects](#private-projects)
* [How to change project visibility](#how-to-change-project-visibility)
* [Visibility of groups](#visibility-of-groups)
* [Visibility of users](#visibility-of-users)
* [Visibility of pages](#visibility-of-pages)
* [Restricting the use of public or internal projects](#restricting-the-use-of-public-or-internal-projects)
* [Reducing visibility](#reducing-visibility)
# Public access[](#public-access "Permalink")
GitLab 允许[所有者](../user/permissions.html)将项目的可见性设置为**public****internal****private** . 这些可见性级别会影响谁可以在公共访问目录(GitLab 实例下的`/public` )中查看项目,例如[https://gitlab.com/public](https://gitlab.com/public)
## Visibility of projects[](#visibility-of-projects "Permalink")
### Public projects[](#public-projects "Permalink")
可以克隆公共项目, **而无需**通过 HTTPS **进行任何**身份验证.
它们将在所有用户的公共访问目录( `/public` )中列出.
**任何登录的用户**都将对存储库具有[来宾权限](../user/permissions.html) .
### Internal projects[](#internal-projects "Permalink")
任何登录用户都可以克隆内部项目.
它们也将列在公共访问目录( `/public` )中,但仅适用于登录用户.
任何登录的用户都将对存储库具有[来宾权限](../user/permissions.html) .
**注意:**从 2019 年 7 月开始,GitLab.com 上的新项目,组和摘要的`` `Internal`可见性''设置被禁用. 使用" `Internal`可见性"设置的现有项目,组和摘录保留此设置. 您可以在[相关问题中](https://gitlab.com/gitlab-org/gitlab/-/issues/12388)阅读有关更改的更多信息.
### Private projects[](#private-projects "Permalink")
私人项目只能由项目成员(来宾除外)克隆和查看.
它们将仅出现在项目成员的公共访问目录( `/public` )中.
### How to change project visibility[](#how-to-change-project-visibility "Permalink")
1. 转到项目的**"设置"** .
2. 将**可见性级别**更改为公共,内部或私有.
## Visibility of groups[](#visibility-of-groups "Permalink")
**注意:** [从](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) GitLab 8.6 [开始](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) ,组的可见性已更改,并且可以与项目相同的方式进行配置. 在以前的版本中,组页面始终对所有用户可见.
与项目一样,可以设置组的可见性来决定匿名用户,所有登录用户还是仅显式组成员可以查看它. 应用程序设置级别对可见性级别的限制也适用于组,因此,如果将其设置为内部,则匿名用户的浏览页面将为空. 现在,组页面上有一个可见性级别图标.
管理员用户不能创建具有比直接父组更高的可见性级别的子组或项目.
## Visibility of users[](#visibility-of-users "Permalink")
无论您是否登录,位于`/username`的用户公共页面始终可见.
当访问用户的公共页面时,您只能看到您有权访问的项目.
如果公共级别受到限制,则用户配置文件仅对登录用户可见.
## Visibility of pages[](#visibility-of-pages "Permalink")
默认情况下,以下目录对未经身份验证的用户可见:
* 公共访问( `/public` ).
* 探索( `/explore` ).
* 帮助( `/help` ).
但是,如果`/public`目录的访问级别受到限制,则这些目录仅对登录用户可见.
## Restricting the use of public or internal projects[](#restricting-the-use-of-public-or-internal-projects "Permalink")
您可以限制用户在创建项目或代码段时对可见性级别的使用. 这有助于防止用户意外公开其存储库. 受限的可见性设置不适用于管理员用户.
有关详细信息,请参阅[受限可见性级别](../user/admin_area/settings/visibility_and_access_controls.html#restricted-visibility-levels) .
## Reducing visibility[](#reducing-visibility "Permalink")
在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33358) .
降低项目的可见性级别将删除该项目与任何分叉项目之间的派生关系. 这是一种潜在的破坏性操作,需要先确认才能保存.
[![Project visibility change confirmation](img/17abb300a15db5073a41bf8a13e53bc7.png)](img/project_visibility_confirmation_v12_6.png)
\ No newline at end of file
此差异已折叠。
# SCIM provisioning using SAML SSO for GitLab.com groups
> 原文:[https://docs.gitlab.com/ee/user/group/saml_sso/scim_setup.html](https://docs.gitlab.com/ee/user/group/saml_sso/scim_setup.html)
* [Features](#features)
* [Requirements](#requirements)
* [GitLab configuration](#gitlab-configuration)
* [Identity Provider configuration](#identity-provider-configuration)
* [Azure configuration steps](#azure-configuration-steps)
* [Configure attribute mapping](#configure-attribute-mapping)
* [Okta configuration steps](#okta-configuration-steps)
* [Okta Known Issues](#okta-known-issues)
* [User access and linking setup](#user-access-and-linking-setup)
* [Blocking access](#blocking-access)
* [Troubleshooting](#troubleshooting)
* [Azure](#azure)
* [How do I verify my SCIM configuration is correct?](#how-do-i-verify-my-scim-configuration-is-correct)
* [Testing Azure connection: invalid credentials](#testing-azure-connection-invalid-credentials)
* [Azure: (Field) can’t be blank sync error](#azure-field-cant-be-blank-sync-error)
* [How do I diagnose why a user is unable to sign in](#how-do-i-diagnose-why-a-user-is-unable-to-sign-in)
* [How do I verify user’s SAML NameId matches the SCIM externalId](#how-do-i-verify-users-saml-nameid-matches-the-scim-externalid)
* [Update or fix mismatched SCIM externalId and SAML NameId](#update-or-fix-mismatched-scim-externalid-and-saml-nameid)
* [I need to change my SCIM app](#i-need-to-change-my-scim-app)
# SCIM provisioning using SAML SSO for GitLab.com groups[](#scim-provisioning-using-saml-sso-for-gitlabcom-groups-silver-only "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9388) in [GitLab.com Silver](https://about.gitlab.com/pricing/) 11.10.
跨域身份管理系统(SCIM)是一种开放标准,可实现用户自动配置. 当为 GitLab 组配置 SCIM 时,该组的成员资格将在 GitLab 和身份提供者之间同步.
GitLab 的[SCIM API](../../../api/scim.html)实现[了 RFC7644 协议的](https://tools.ietf.org/html/rfc7644)一部分.
## Features[](#features "Permalink")
当前,可以执行以下操作:
* 建立使用者
* 更新用户(仅限 Azure)
* 停用用户
支持以下身份提供者:
* Azure
* Okta
## Requirements[](#requirements "Permalink")
* 必须配置[组单一登录](index.html) .
## GitLab configuration[](#gitlab-configuration "Permalink")
配置[组单一登录后](index.html) ,我们可以:
1. 导航到该组,然后单击**管理> SAML SSO** .
2. 单击**生成 SCIM 令牌**按钮.
3. 保存令牌和 URL,以便可以在下一步中使用它们.
[![SCIM token configuration](img/c187de65e481b5598b110fee5310776c.png)](img/scim_token.png)
## Identity Provider configuration[](#identity-provider-configuration "Permalink")
* [Azure](#azure-configuration-steps)
* [Okta](#okta-configuration-steps)
### Azure configuration steps[](#azure-configuration-steps "Permalink")
现在需要为 SCIM 设置在[Azure 的](https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-single-sign-on-non-gallery-applications) [单点登录](index.html)安装过程中创建的 SAML 应用程序.
1. 检查您的 GitLab SAML 应用程序的配置,并确保**名称标识符值** (NameID)指向`user.objectid`或另一个唯一标识符. 这将与 GitLab 上使用的`extern_uid`匹配.
[![Name identifier value mapping](img/fe827d4bc97b90c3a250af05fd988fc4.png)](img/scim_name_identifier_mapping.png)
2. 通过遵循针对 Azure [支持](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#provisioning-users-and-groups-to-applications-that-support-scim)的 SCIM 安装文档[中支持 SCIM 的应用程序](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#provisioning-users-and-groups-to-applications-that-support-scim)[供应用户和组,来](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#provisioning-users-and-groups-to-applications-that-support-scim)设置自动供应和管理凭据.
During this configuration, note the following:
* `Tenant URL``secret token`是在[上一步中](#gitlab-configuration)检索到的.
* 如果 GitLab 的可用性有任何问题或类似错误,则通知电子邮件集将获得这些信息.
* 建议设置通知电子邮件并选中**发生故障时发送电子邮件通知**复选框.
* 对于映射,我们将仅启用"将`Synchronize Azure Active Directory Users to AppName`启用状态.
然后,您可以通过单击" **测试连接"****测试连接** . 如果连接成功,请确保在继续操作之前保存配置. 请参阅下面的[疑难解答](#troubleshooting) .
#### Configure attribute mapping[](#configure-attribute-mapping "Permalink")
1. 单击"将`Synchronize Azure Active Directory Users to AppName`以配置属性映射.
2. 单击`mail`映射旁边的**删除** .
3.`userPrincipalName`映射到`emails[type eq "work"].value`并将其**Matching 优先级**更改为`2` .
4. Map `mailNickname` to `userName`.
5. 确定 GitLab 如何唯一标识用户.
* 除非用户已经为您的组链接了 SAML,否则请使用`objectId` .
* 如果已经有链接 SAML 的用户,则使用[SAML 配置中](#azure)的" `Name ID`值. 使用其他值可能会导致用户重复并阻止用户访问 GitLab 组.
6. 创建一个新的映射:
1. 单击**添加新映射** .
2. 组:
* 上面确定的唯一标识符的**Source 属性** ,通常是`objectId` .
* **目标属性**`externalId` .
* **使用此属性****对象匹配**`Yes` .
* **匹配优先级**`1` .
7. 单击`userPrincipalName`映射,然后**使用此属性****Match 对象**更改为`No`
8. 保存您的更改. 作为参考,您可以[在故障排除参考中](../../../administration/troubleshooting/group_saml_scim.html#azure-active-directory)查看[示例配置](../../../administration/troubleshooting/group_saml_scim.html#azure-active-directory) .
**注意:**如果您使用**除** `objectId` **之外**的唯一标识符,请确保将其映射到`externalId` .
9. 在映射列表下,单击**显示高级选项>编辑 AppName 的属性列表** .
10. 确保`id`是主要字段和必填字段,并且还需要`externalId` .
**注意:** `username`既不是主要`username`也不是必需的,因为我们尚不支持 GitLab SCIM 上的该字段.
11. 保存所有屏幕,然后在**Provisioning**步骤中将`Provisioning Status`设置为`On` .
[![Provisioning status toggle switch](img/4c6172d095020a91bcf8d48c85ee4d1d.png)](img/scim_provisioning_status.png)
**注意:**您可以通过选择`Scope`来控制实际同步的内容. 例如, `Sync only assigned users and groups`将仅同步分配给应用程序的`Users and groups` ( `Users and groups` ),否则,它将同步整个 Active Directory.
一旦启用,同步细节的任何错误都出现在**供应**屏幕的底部,有一个链接到审计日志在一起.
**警告:**同步后,将映射到`id``externalId`的字段更改可能会导致配置错误,用户重复,并阻止现有用户访问 GitLab 组.
### Okta configuration steps[](#okta-configuration-steps "Permalink")
现在需要为 SCIM 设置在[Okta 的](https://developer.okta.com/docs/guides/build-sso-integration/saml2/overview/) [单点登录](index.html#okta-setup-notes)安装过程中创建的 SAML 应用程序. 在继续之前,请确保完成[GitLab 配置](#gitlab-configuration)过程.
1. 登录到 Okta.
2. 如果您在右上角看到一个**管理**按钮,请单击该按钮. 这将确保您位于"管理"区域.
**提示:**如果您在使用开发者控制台,点击**开发者控制台**顶部栏并选择**经典的 UI.** 否则,您可能看不到以下步骤中描述的按钮:
3. 在" **应用程序"**选项卡中,单击" **添加应用程序"** .
4. Search for **GitLab**, find and click on the ‘GitLab’ application.
5. 在 GitLab 应用程序概述页面上,单击**添加** .
6. 在" **应用程序可见性"下,**选中两个复选框. 当前,GitLab 应用程序不支持 SAML 身份验证,因此不应向用户显示该图标.
7. 单击**"完成"**以完成添加应用程序.
8.**供应**标签中,点击**配置 API 集成** .
9. Select **启用 API 集成**.
* 对于**基本 URL,**输入从 GitLab SCIM 配置页面获得的 URL.
* 对于**API 令牌,**输入从 GitLab SCIM 配置页面获得的 SCIM 令牌.
10. 点击"测试 API 凭据"以验证配置.
11. 单击**保存**以应用设置.
12. After saving the API integration details, new settings tabs will appear on the left. Choose **到应用**.
13. Click **Edit**.
14. 选中"为**创建用户****停用用户** **启用** "复选框.
15. Click **Save**.
16. 在" **分配"**选项卡中分配用户. 分配的用户将在您的 GitLab 组中创建和管理.
#### Okta Known Issues[](#okta-known-issues "Permalink")
Okta GitLab 应用程序当前仅支持 SCIM. 继续使用单独的 Okta [SAML SSO](index.html)配置以及上述新的 SCIM 应用程序.
## User access and linking setup[](#user-access-and-linking-setup "Permalink")
只要已经配置了[Group SAML](index.html) ,就可以在启用同步之前,在激活同步之前,现有的 GitLab.com 用户可以通过以下方式之一链接到其帐户:
* 通过更新其 GitLab.com 用户帐户中的*主要*电子邮件地址以匹配其身份提供商的用户个人资料电子邮件地址.
* 通过执行以下步骤:
1. 如果需要,登录到 GitLab.com.
2. 在身份提供商的仪表板上单击 GitLab 应用程序,或访问**GitLab 单一登录 URL** .
3. 单击**授权**按钮.
后续访问中的新用户和现有用户可以通过身份提供商的仪表板或直接访问链接来访问组.
有关角色信息,请参阅[组 SAML 页面](index.html#user-access-and-management)
### Blocking access[](#blocking-access "Permalink")
要取消对该组的访问,我们建议从身份提供商或特定应用程序的用户列表中删除该用户.
在下一次同步时,将取消提供该用户,这意味着该用户将从组中删除. 除非使用[组托管帐户,](group_managed_accounts.html)否则不会删除该用户帐户.
## Troubleshooting[](#troubleshooting "Permalink")
本节包含可能遇到的问题的可能解决方案.
### Azure[](#azure "Permalink")
#### How do I verify my SCIM configuration is correct?[](#how-do-i-verify-my-scim-configuration-is-correct "Permalink")
查看以下内容:
* 确保`id`的 SCIM 值与`NameId`的 SAML 值匹配.
* 确保`externalId`的 SCIM 值与`NameId`的 SAML 值匹配.
查看以下 SCIM 参数以获取合理的值:
* `userName`
* `displayName`
* `emails[type eq "work"].value`
#### Testing Azure connection: invalid credentials[](#testing-azure-connection-invalid-credentials "Permalink")
测试连接时,您可能会遇到错误: **您似乎输入了无效的凭据.** **请确认您使用的管理帐户信息正确** . 如果`Tenant URL``secret token`正确,请检查您的组路径中是否包含可能被视为无效 JSON 原语的字符(例如`.` ). 从组路径中删除此类字符通常可以解决该错误.
#### Azure: (Field) can’t be blank sync error[](#azure-field-cant-be-blank-sync-error "Permalink")
在检查供应的审核日志时,有时您会看到错误`Namespace can't be blank, Name can't be blank, and User can't be blank.`
这可能是由于没有为所有要映射的用户提供所有必填字段(例如名字和姓氏).
作为解决方法,请尝试其他映射:
1. 请按照上面的 Azure 映射说明进行操作.
2. 删除`name.formatted`目标属性条目.
3.`displayName`源属性更改为具有`name.formatted`目标属性.
#### How do I diagnose why a user is unable to sign in[](#how-do-i-diagnose-why-a-user-is-unable-to-sign-in "Permalink")
每当`id``externalId`更改时,SCIM 都会更新 GitLab 存储的**Identity**`extern_uid` )值. 除非 GitLab 标识( `extern_uid` )值与 SAML 发送的`NameId`匹配,否则用户将无法登录.
SCIM 还将使用此值来匹配`id`上的用户,并且只要`id``externalId`值发生更改,SCIM 就会更新此值.
将此 SCIM `id`和 SCIM `externalId`配置为与 SAML `NameId`相同的值很重要. 可以使用[调试工具](./index.html#saml-debugging-tools)跟踪 SAML 响应,并且可以根据我们的[SAML 故障排除文档](./index.html#troubleshooting)检查任何错误.
#### How do I verify user’s SAML NameId matches the SCIM externalId[](#how-do-i-verify-users-saml-nameid-matches-the-scim-externalid "Permalink")
组所有者可以在组 SAML SSO 设置页面中查看用户列表和为每个用户存储的`externalId` .
另外,在[SCIM API](../../../api/scim.html#get-a-list-of-saml-users)可用于手动检索`externalId` ,我们已经存储了用户,也被称为`external_uid``NameId` .
例如:
```
curl 'https://example.gitlab.com/api/scim/v2/groups/GROUP_NAME/Users?startIndex=1"' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
要查看它与作为 SAML NameId 返回的值的比较,可以让用户使用[SAML Tracer](index.html#saml-debugging-tools) .
#### Update or fix mismatched SCIM externalId and SAML NameId[](#update-or-fix-mismatched-scim-externalid-and-saml-nameid "Permalink")
无论是更改值还是需要映射到其他字段,请确保`id``externalId``NameId`都映射到同一字段.
如果 GitLab 的`externalId`与 SAML NameId 不匹配,则需要对其进行更新才能使用户登录.理想情况下,将身份标识提供者配置为进行此类更新,但是在某些情况下,它可能无法这样做. ,例如在查找用户时由于 ID 更改而失败.
如果您修改 SCIM 身份提供程序使用的字段,请务必谨慎,通常为`id``externalId` . 我们使用这些 ID 查找用户. 如果身份提供者不知道这些字段的当前值,则该提供者可以创建重复的用户.
如果用户的`externalId`不正确,并且也与 SAML NameID 不匹配,则可以通过以下方式解决该问题:
* 您可以根据[" SAML 身份验证失败:用户已被使用"](./index.html#message-saml-authentication-failed-user-has-already-been-taken)部分,使用户取消链接并重新链接自己.
* 通过在启用预配置的同时从 SAML 应用中删除所有用户,可以同时取消所有用户的链接.
* 您可以使用[SCIM API](../../../api/scim.html#update-a-single-saml-user)手动更正为用户存储的`externalId`以匹配 SAML `NameId` . 要查找用户,您需要知道与`NameId`以及当前`externalId`匹配的`NameId` .
然后可以发出手动 SCIM#update 请求,例如:
```
curl --verbose --request PATCH 'https://gitlab.com/api/scim/v2/groups/YOUR_GROUP/Users/OLD_EXTERNAL_UID' --data '{ "Operations": [{"op":"Replace","path":"externalId","value":"NEW_EXTERNAL_UID"}] }' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
重要的是不要将这些值更新为不正确的值,因为这将导致用户无法登录.也不要将值分配给错误的用户,这也很重要,因为这将导致用户登录到错误的帐户.
#### I need to change my SCIM app[](#i-need-to-change-my-scim-app "Permalink")
各个用户可以按照[" SAML 身份验证失败:用户已被使用"](./index.html#i-need-to-change-my-saml-app)部分中的说明进行操作.
或者,可以从 SCIM 应用程序中删除用户,这将取消所有已删除用户的链接. 然后可以为新的 SCIM 应用打开同步,以[链接现有用户](#user-access-and-linking-setup) .
\ No newline at end of file
# Subgroups
> 原文:[https://docs.gitlab.com/ee/user/group/subgroups/](https://docs.gitlab.com/ee/user/group/subgroups/)
* [Overview](#overview)
* [Creating a subgroup](#creating-a-subgroup)
* [Membership](#membership)
* [Overriding the ancestor group membership](#overriding-the-ancestor-group-membership)
* [Mentioning subgroups](#mentioning-subgroups)
* [Limitations](#limitations)
# Subgroups[](#subgroups "Permalink")
在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/2772) .
GitLab 支持多达 20 个级别的子组,也称为嵌套组或层次结构组. 组的级别.
通过使用子组,您可以执行以下操作:
* **独立的内部/外部组织.** 由于每个组都有自己的可见性级别,因此您可以在同一保护范围内为不同目的托管组.
* **组织大型项目.** 对于大型项目,子组可能会更容易分隔部分源代码的权限.
* **使管理人员和控制可见性变得更加容易.** 根据人们的组[成员身份,](#membership)赋予他们不同的[权限](../../permissions.html#group-members-permissions) .
有关组和项目中允许的权限的更多信息,请参见[可见性级别](../../../development/permissions.html#general-permissions) .
## Overview[](#overview "Permalink")
一个组中可以有许多子组,而同一组中只能有一个直接父组. 它类似于目录行为或嵌套项目列表:
* 第一组
* 1.1 组
* 1.2 组
* 1.2.1 组
* 1.2.2 组
* 组 1.2.2.1
在一个真实的示例中,设想维护一个 GNU / Linux 发行版,其中第一个组是发行版的名称,随后的组按如下所示拆分:
* Organization Group - GNU/Linux distro
* 类别子组-包
* (项目)配套 01
* (项目)配套 02
* 类别子组-软件
* (项目)核心
* (项目)CLI
* (项目)Android 应用
* (项目)iOS 应用
* 类别子组-红外线工具
* (项目)Ansible 剧本
Another example of GitLab as a company would be the following:
* 组织组-GitLab
* 类别子组-市场营销
* (项目)设计
* (项目)一般
* 类别子组-软件
* (项目)GitLab CE
* (项目)GitLab EE
* (项目)Omnibus GitLab
* (项目)GitLab Runner
* (项目)GitLab Pages 守护程序
* 类别子组-红外线工具
* (项目)厨师食谱
* 类别子组-执行团队
* * *
当执行诸如在子组之间转移或导入项目的操作时,其行为与在`group/project`级别执行这些操作时的行为相同.
## Creating a subgroup[](#creating-a-subgroup "Permalink")
要创建子组,您必须是该组的所有者或维护者,具体取决于该组的设置.
默认情况下,在以下位置创建的组:
* GitLab 12.2 或更高版本允许所有者和维护者创建子组.
* GitLab 12.1 或更早版本仅允许所有者创建子组.
此设置可以是所有者或管理员的任何组.
有关更多信息,请检查[权限表](../../permissions.html#group-members-permissions) . 有关不允许用作组名的单词列表,请参见[保留名称](../../reserved_names.html) .
如果将子组明确地作为所有者(或维护者,如果启用了此设置)添加到直接父组,则用户始终可以创建子组,即使管理员在其设置中禁用了组创建也是如此.
要创建一个子组:
1. 在组的仪表板中,展开" **新建项目**拆分"按钮,选择" **新建子组"** ,然后单击" **新建子组"**按钮.
[![Subgroups page](img/c3c27ff673c33bcd50004c2adb617d5f.png)](img/create_subgroup_button.png)
2. 像平常一样创建一个新组. 请注意,直接父组名称空间在" **组路径"**下是固定的. 可见性级别可以与直接父组不同.
[![Subgroups page](img/7fb24fed9f39dcdabb530523bcb8dc08.png)](img/create_new_group.png)
3. 单击**创建组**按钮,您将被带到新组的仪表板页面.
按照相同的过程创建任何后续组.
## Membership[](#membership "Permalink")
将成员添加到子组时,它们将从父组继承成员资格和权限级别. 如果您是其父级成员之一,则该模型允许访问嵌套组.
在亚组可以用乔布斯的管道[运动员](../../../ci/runners/README.html)注册到父组(S). 这意味着为父组配置的机密可用于子组作业.
此外,属于子组的项目的维护者可以查看注册到父组的 Runner 的详细信息.
成员的组权限只能由所有者更改,并且只能在添加成员的组的" **成员"**页面上进行.
您可以通过查看组的" **成员"**页面来确定成员是否从父组继承了权限.
[![Group members page](img/e18ff80d06980688066f9ec9404bd2da.png)](img/group_members.png)
从上图可以得出以下几点:
* 有 5 位成员可以访问第`four`组.
* User0 是一个 Reporter,已从组`four`的层次结构上方的组`one`继承了其权限.
* 用户 1 是一个开发并已继承组他们的权限`one/two`其是组的层级以上`four` .
* 用户 2 是一个开发并已继承组他们的权限`one/two/three`这是组的层级以上`four` .
* 对于 User3,没有任何父组的指示,因此它们属于`four`组,即我们正在检查的组.
* 管理员是**所有**子组的所有者和成员,因此,与 User3 一样,没有任何祖先组的迹象.
[](https://gitlab.com/gitlab-org/gitlab/-/issues/21727) GitLab 12.6 中,您可以使用右侧的下拉列表过滤此列表:
[![Group members filter](img/8215c374294289cd2bd24399439403fd.png)](img/group_members_filter_v12_6.png)
* **仅显示直接成员**仅显示 Administrator 和 User3,因为这是属于`four`组的唯一用户,这是我们正在检查的用户.
* **仅显示继承的成员将**显示 User0,User1 和 User2,无论层次结构上方的哪个组都是继承权限的来源.
### Overriding the ancestor group membership[](#overriding-the-ancestor-group-membership "Permalink")
**注意:**您必须是网上论坛的所有者,才能向其中添加成员.**注意:**子组中的用户权限不能低于其任何祖先组中的权限. 因此,您不能针对子组的祖先组减少用户的权限.
要覆盖用户的祖先组(他们被添加到的第一个组)的成员资格,请将该用户再次以更高的权限集添加到新的子组中.
例如,如果首先使用具有开发者权限将 User0 添加到组`group-1/group-1-1` ,则它们将在组`group-1/group-1-1`每个其他子`group-1/group-1-1`继承这些权限. 要为他们提供维护者访问`group-1/group-1-1/group1-1-1` ,您可以将他们再次添加为该维护者. 从该组中删除它们,权限将回退到祖先组的权限.
## Mentioning subgroups[](#mentioning-subgroups "Permalink")
在问题,提交和合并请求中提及组( `@group` )将通知该组的所有成员. 现在有了子组,如果您想拆分组的结构,将有更精细的支持. 提及方式与以前一样,您可以选择要通知的人群.
[![Mentioning subgroups](img/0d1089161431c5f21751458027d84535.png)](img/mention_subgroups.png)
## Limitations[](#limitations "Permalink")
以下是您无法对子组进行操作的列表:
* [GitLab 页面](../../project/pages/index.html)支持在一个子组下托管的项目,但不支持子组网站下的项目. 这意味着,尽管您可以在子组下拥有项目网站,但是只有最高级别的组才支持[组网站](../../project/pages/getting_started_part_one.html#gitlab-pages-default-domain-names) .
* 不能与作为该项目所属组的祖先的组共享项目.这意味着您只能在沿层次结构走时共享. 例如, `group/subgroup01/project` **不能**`group`共享,但是可以与`group/subgroup02``group/subgroup01/subgroup03`共享.
\ No newline at end of file
# Roadmap
> 原文:[https://docs.gitlab.com/ee/user/group/roadmap/](https://docs.gitlab.com/ee/user/group/roadmap/)
* [Timeline duration](#timeline-duration)
* [Quarters](#quarters)
* [Months](#months)
* [Weeks](#weeks)
* [Roadmap timeline bar](#roadmap-timeline-bar)
# Roadmap[](#roadmap-premium "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.5 中引入.
*[GitLab 12.9 中](https://gitlab.com/gitlab-org/gitlab/-/issues/198062) ,路线图已移至高级层.
*[GitLab 12.9](https://gitlab.com/gitlab-org/gitlab/-/issues/5164)及更高版本中,史诗条显示史诗的标题,进度和完成的重量百分比.
* 里程碑出现在[GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/6802)及更高版本的路线图中.
*[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29641)删除的路线图中可见的里程碑的功能标志.
*[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/214375)和更高版本中,该路线图还显示了组中项目的里程碑.
*[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/212494)和更高版本中,里程碑栏可以折叠和展开.
可以以时间轴(即甘特图)的形式显示包含开始日期或截止日期的组中的史诗和里程碑. "路线图"页面显示了一个组,一个子组或一个组中的一个项目的史诗和里程碑.
在史诗栏上,您可以看到每个史诗的标题,进度和完成的重量百分比. 当您将鼠标悬停在史诗栏上时,将显示一个弹出框,其中包含史诗的标题,开始日期,到期日和完成的权重.
您可以展开包含子级史诗的史诗,以在路线图中显示其子级史诗. 您可以单击人字形( )旁边的史诗标题,以展开和折叠子史诗.
在里程碑栏的顶部,您可以看到其标题. 当您将鼠标悬停在里程碑栏或标题上时,将显示一个带有其标题,开始日期和截止日期的弹出窗口. 您也可以点击 V 形符号( )旁边的" **里程碑"**标题以切换里程碑栏的列表.
[![roadmap view](img/b44c56313892b2d78da86b3f64519a98.png)](img/roadmap_view_v13_2.png)
下拉菜单允许您仅显示打开或关闭的史诗. 默认情况下,显示所有史诗.
[![epics state dropdown](img/9fa8173be554c09a1397ae7e064f24e5.png)](img/epics_state_dropdown_v12_10.png)
您可以通过以下方式在"路线图"视图中对史诗进行排序:
* 创建日期
* 最近更新时间
* 开始日期
* 截止日期
每个选项都包含一个按钮,可在**升序****降序**之间切换排序顺序. 浏览史诗(包括[史诗列表视图)](../epics/index.html)时,排序选项和顺序仍然存在.
路线图也可以[在史诗内部可视化](../epics/index.html#roadmap-in-epics) .
## Timeline duration[](#timeline-duration "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.0 中引入.
*[GitLab 12.9 中](https://gitlab.com/gitlab-org/gitlab/-/issues/198062) ,时间轴已移至高级层.
路线图支持以下日期范围:
* Quarters
* 月(默认)
* Weeks
### Quarters[](#quarters "Permalink")
[![roadmap date range in quarters](img/ecb561241f5fcf0f0695ee4e29069b11.png)](img/roadmap_timeline_quarters.png)
在" **季度"**预设中,路线图显示史诗和里程碑,其开始或到期日期**在**过去的季度,当前季度和接下来的四个季度**之内****经过**过去的季度,当前季度和接下来的四个季度,其中**今天**由时间轴中的垂直红线显示. 时间轴标题上季度名称下方的子标题代表季度的月份.
### Months[](#months "Permalink")
[![roadmap date range in months](img/e255c03f63cd814a974b54b2a9eb6b02.png)](img/roadmap_timeline_months.png)
在" **月份"**预设中,路线图显示史诗和里程碑,这些史诗和里程碑的开始或到期日期**在**过去一个月,当前月份以及接下来的五个月**之内****经历**过去或六个月,其中**今天**由时间轴中的垂直红线显示. 时间轴标题上月份名称下方的子标题表示一周中开始日期(星期日)的日期. 默认情况下选择此预设.
### Weeks[](#weeks "Permalink")
[![roadmap date range in weeks](img/26b5d3ef6b515c199d6c860ac62a4671.png)](img/roadmap_timeline_weeks.png)
在" **周"**预设中,路线图显示史诗和里程碑,这些史诗和里程碑的开始日期或到期日期**在**过去一周,当前星期和接下来的四个星期**之内****经过**过去一周,当前星期和接下来的四个星期,其中**今天**由时间轴中的垂直红线显示. 时间轴标题上星期名称下方的子标题代表星期几.
## Roadmap timeline bar[](#roadmap-timeline-bar "Permalink")
时间线栏根据史诗或里程碑的开始日期和到期日期指示其大概位置.
\ No newline at end of file
# Projects # 项目[](#项目 "Permalink")
> 原文:[https://docs.gitlab.com/ee/user/project/](https://docs.gitlab.com/ee/user/project/) 您可以创建用于托管代码库的项目,可以通过项目进行 Issue 管理,进行代码协作,并使用内置的 CI / CD 持续构建,测试和部署应用程序。
* [Project features](#project-features) 您可以设置您的项目为[公开](../../public_access/public_access.html)[私有](../../public_access/public_access.html),我们也不限制您创建的私有项目数量。
* [Project integrations](#project-integrations)
* [New project](#new-project) ## 项目功能[](#项目功能 "Permalink")
* [Fork a project](#fork-a-project)
* [Star a project](#star-a-project) 创建项目时,您可以使用众多功能:
* [Explore projects](#explore-projects)
* [Project settings](#project-settings) **代码仓库:**
* [Import or export a project](#import-or-export-a-project)
* [Remove a project](#remove-a-project) * [Issue](issues/index.html) :与您的团队讨论问题内的实现
* [Delayed removal](#delayed-removal-premium) * [看板](issue_board.html) :组织工作流程并确定其优先级
* [CI/CD for external repositories](#cicd-for-external-repositories-premium) * [代码仓库](repository/index.html) :将代码托管在完全集成的平台中
* [Project members](#project-members)
* [Project activity](#project-activity)
* [Leave a project](#leave-a-project)
* [Project’s landing page](#projects-landing-page)
* [Redirects when changing repository paths](#redirects-when-changing-repository-paths)
* [Use your project as a Go package](#use-your-project-as-a-go-package)
* [Disable Go module features for private projects](#disable-go-module-features-for-private-projects)
* [Authenticate Go requests](#authenticate-go-requests)
* [Authenticate Git fetches](#authenticate-git-fetches)
* [Access project page with project ID](#access-project-page-with-project-id)
* [Project aliases](#project-aliases-premium-only)
* [Project APIs](#project-apis)
# Projects[](#projects "Permalink")
在 GitLab 中,您可以创建用于托管代码库的项目,将其用作问题跟踪器,在代码上进行协作,并使用内置的 GitLab CI / CD 持续构建,测试和部署应用程序.
您可以[选择](../../public_access/public_access.html)公开,内部或私有[使用](../../public_access/public_access.html)您的项目. GitLab 不限制您创建的私人项目的数量.
## Project features[](#project-features "Permalink")
在 GitLab 中创建项目时,您将可以使用大量[功能](https://about.gitlab.com/features/)
**Repositories:**
* [问题跟踪器](issues/index.html) :与您的团队讨论问题内的实现
* [发行板](issue_board.html) :组织工作流程并确定其优先级
* [多个发行板](issue_board.html#multiple-issue-boards) :允许您的团队为同一项目创建自己的工作流(发行板)
* [存储库](repository/index.html) :将代码托管在完全集成的平台中
* [分支](repository/branches/index.html) :使用 Git 分支策略在代码上进行协作 * [分支](repository/branches/index.html) :使用 Git 分支策略在代码上进行协作
* [受保护的分支机构](protected_branches.html) :防止协作者弄乱历史记录或在未经审查的情况下推送代码 * [受保护的分支机构](protected_branches.html) :防止协作者弄乱历史记录或在未经审查的情况下推送代码
* [受保护的标签](protected_tags.html) :控制谁有权创建标签,并防止意外更新或删除 * [受保护的标签](protected_tags.html) :控制谁有权创建标签,并防止意外更新或删除
* [储存库镜​​](repository/repository_mirroring.html) * [储存库镜像](repository/repository_mirroring.html)
* [签署提交](gpg_signed_commits/index.html) :使用 GPG 签署您的提交 * [签署提交](gpg_signed_commits/index.html) :使用 GPG 签署您的提交
* [部署令牌](deploy_tokens/index.html) :管理基于项目的部署令牌,这些令牌允许永久访问存储库和 Container Registry. * [部署令牌](deploy_tokens/index.html) :管理基于项目的部署令牌,这些令牌允许永久访问存储库和 Container Registry.
* [Web IDE](web_ide/index.html) * [Web IDE](web_ide/index.html)
**发出和合并请求:** **Release 及合并请求:**
* [问题跟踪器](issues/index.html) :与您的团队讨论问题内的实现 * [Issue](issues/index.html) :与您的团队讨论问题内的实现
* [发行板](issue_board.html) :组织工作流程并确定其优先级 * [发行板](issue_board.html) :组织工作流程并确定其优先级
* [多个发行板](issue_board.html#multiple-issue-boards) :允许您的团队为同一项目创建自己的工作流(发行板)
* [合并请求](merge_requests/index.html) :应用您的分支策略并获得团队的审查 * [合并请求](merge_requests/index.html) :应用您的分支策略并获得团队的审查
* [合并请求批准](merge_requests/merge_request_approvals.html) :实施更改之前[请求批准](merge_requests/merge_request_approvals.html) * [合并请求批准](merge_requests/merge_request_approvals.html) :实施更改之前[请求批准](merge_requests/merge_request_approvals.html)
* [修复 UI 中的合并冲突](merge_requests/resolve_conflicts.html) :直接从 GitLab UI 中使用 Git diff 工具 * [修复合并中的冲突](merge_requests/resolve_conflicts.html) :直接从网页中使用 Git diff 工具
* [审查应用程序](../../ci/review_apps/index.html) :按分支实时预览合并请求中建议的更改结果 * [审查应用程序](../../ci/review_apps/index.html) :按分支实时预览合并请求中建议的更改结果
* [标签](labels.html) :按标签整理问题并合并请求 * [标签](labels.html) :按标签整理问题并合并请求
* [时间跟踪](time_tracking.html) :跟踪估计在完成问题或合并请求上花费的时间和时间 * [时间跟踪](time_tracking.html) :跟踪估计在完成问题或合并请求上花费的时间和时间
......
...@@ -172,6 +172,25 @@ ...@@ -172,6 +172,25 @@
<ul class="articles">
<li class="chapter " data-level="1.3.1" data-path="docs/046.html">
<a href="docs/046.html">
子组织
</a>
</li>
</ul>
</li> </li>
......
此差异已折叠。
此差异已折叠。
# Contribution Analytics
> 原文:[https://docs.gitlab.com/ee/user/group/contribution_analytics/](https://docs.gitlab.com/ee/user/group/contribution_analytics/)
* [Overview](#overview)
* [Use cases](#use-cases)
* [Using Contribution Analytics](#using-contribution-analytics)
* [Changing the period time](#changing-the-period-time)
* [Sorting by different factors](#sorting-by-different-factors)
# Contribution Analytics[](#contribution-analytics-starter "Permalink")
版本历史
*[GitLab Starter](https://about.gitlab.com/pricing/) 8.3 中引入.
* 在 GitLab 12.2 中针对子组进行了[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/3090) .
## Overview[](#overview "Permalink")
借助 Contribution Analytics,您可以大致了解小组中的以下活动:
* Issues
* 合并要求
* 推送事件
要查看贡献分析,请转至小组的" **分析">"贡献分析"**页面.
## Use cases[](#use-cases "Permalink")
* 分析您的团队在一段时间内的贡献,并为杰出贡献者提供奖金.
* 与可以从其他支持中受益的小组成员一起确定改进的机会.
## Using Contribution Analytics[](#using-contribution-analytics "Permalink")
以下是三个主要的条形图,它们说明了每个组成员的贡献数量:
* 推送事件
* 合并要求
* 已解决的问题
将鼠标悬停在每个栏上可以显示特定组成员的事件数.
[![Contribution analytics bar graphs](img/52f1314a06269a0dc317f758c8e8cdab.png)](img/group_stats_graph.png)
## Changing the period time[](#changing-the-period-time "Permalink")
您可以从以下三个期间中选择:
* 上周(默认)
* 上个月
* 最近三个月
从日历下拉列表中选择所需的时间段.
[![Contribution analytics choose period](img/0bc8de7b7d20af897fb8b38bb48663e8.png)](img/group_stats_cal.png)
## Sorting by different factors[](#sorting-by-different-factors "Permalink")
每个小组成员的贡献也以表格形式显示. 单击列标题以按该列对表进行排序:
* 成员名字
* 推送事件数
* 未解决的问题数
* 已解决的问题数
* 已打开的 MR 数
* 合并的 MR 数
* 总捐款数
[![Contribution analytics contributions table](img/0a64287e1feef55413a5a906d02ec8ea.png)](img/group_stats_table.png)
\ No newline at end of file
# Custom group-level project templates
> 原文:[https://docs.gitlab.com/ee/user/group/custom_project_templates.html](https://docs.gitlab.com/ee/user/group/custom_project_templates.html)
# Custom group-level project templates[](#custom-group-level-project-templates-premium "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6861) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.6.
创建新[项目时](../project/index.html) ,基于自定义项目模板创建它是一个方便的选择.
用户可以在组的**"设置">"常规">"自定义项目模板"**下配置一个用作模板源的 GitLab 组.
**注意:** GitLab 管理员可以[为整个 GitLab 实例设置项目模板](../admin_area/custom_project_templates.html) .
在本部分中,您可以配置所有自定义项目模板的来源组. 如果用户有权访问组命名空间下的每个项目,则它们将对用户可用. 例如,组中的每个公共项目将对每个登录用户可用.
但是,仅当用户是项目成员时,私人项目才可用.
**注意:**只能将直接子组设置为模板源. 不能使用所选模板源的嵌套子组项目.
复制到每个新项目的存储库和数据库信息与使用[GitLab 的项目导入/导出导出](../project/settings/import_export.html)的数据相同.
\ No newline at end of file
# Epics
> 原文:[https://docs.gitlab.com/ee/user/group/epics/](https://docs.gitlab.com/ee/user/group/epics/)
* [Use cases](#use-cases)
* [Manage epics](#manage-epics)
* [Relationships between epics and issues](#relationships-between-epics-and-issues)
* [Issue health status in Epic tree](#issue-health-status-in-epic-tree-ultimate)
* [Disable Issue health status in Epic tree](#disable-issue-health-status-in-epic-tree)
* [Multi-level child epics](#multi-level-child-epics-ultimate)
* [Start date and due date](#start-date-and-due-date)
* [From milestones](#from-milestones)
* [Inherited](#inherited)
* [Roadmap in epics](#roadmap-in-epics)
* [Permissions](#permissions)
* [Thread](#thread)
* [Comment or start a thread](#comment-or-start-a-thread)
* [Activity sort order](#activity-sort-order)
* [Award emoji](#award-emoji)
* [Notifications](#notifications)
# Epics[](#epics-premium "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2 中引入.
* 单级史诗在 12.8 [中移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) [GitLab Premium](https://about.gitlab.com/pricing/) .
Epics 通过跟踪跨项目和里程碑共享主题的问题组,使您可以更有效,更轻松地管理项目组合.
[![epics list view](img/bad7cd1d32a4bbf53fc1d27dcb3dd211.png)](img/epics_list_view_v12.5.png)
## Use cases[](#use-cases "Permalink")
* 假设您的团队正在研究一项大型功能,其中涉及在一个[小组](../index.html)内不同项目中创建的不同问题的多个讨论. 借助 Epics,您可以跟踪所有有助于该单一功能的相关活动.
* 跟踪何时针对该组问题开始工作,以及何时结束目标工作.
* 深入讨论和协作功能思想和范围.
## Manage epics[](#manage-epics "Permalink")
要了解您可以使用史诗功能,请参阅[管理史诗](manage_epics.html) . 可能的动作包括:
* [Create an epic](manage_epics.html#create-an-epic)
* [Bulk-edit epics](../bulk_editing/index.html#bulk-edit-epics)
* [Delete an epic](manage_epics.html#delete-an-epic)
* [Close an epic](manage_epics.html#close-an-epic)
* [Reopen a closed epic](manage_epics.html#reopen-a-closed-epic)
* [Go to an epic from an issue](manage_epics.html#go-to-an-epic-from-an-issue)
* [Search for an epic from epics list page](manage_epics.html#search-for-an-epic-from-epics-list-page)
* [Make an epic confidential](manage_epics.html#make-an-epic-confidential)
* [Manage issues assigned to an epic](manage_epics.html#manage-issues-assigned-to-an-epic)
* [Manage multi-level child epics](manage_epics.html#manage-multi-level-child-epics-ultimate)
## Relationships between epics and issues[](#relationships-between-epics-and-issues "Permalink")
史诗与问题之间的可能关系是:
* 史诗是一个或多个问题的父代.
* 史诗是一个或多个子史诗的父代. 有关详细信息,请参见[多级子史诗](#multi-level-child-epics-ultimate) .
图 TD Parent_epic-> Issue1 Parent_epic-> Child_epic Child_epic-> Issue2
请参阅[管理分配给史诗](manage_epics.html#manage-issues-assigned-to-an-epic)的问题以获取将事件添加到史诗,重新排序问题,在史诗之间移动问题或将问题升级到史诗的步骤.
## Issue health status in Epic tree[](#issue-health-status-in-epic-tree-ultimate "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/199184) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10.
您可以通过在问题上设置红色,琥珀色或绿色的[健康状态](../../project/issues/index.html#health-status-ultimate)来报告并快速响应单个问题和史诗的[健康](../../project/issues/index.html#health-status-ultimate) ,该状态将显示在史诗树上.
### Disable Issue health status in Epic tree[](#disable-issue-health-status-in-epic-tree "Permalink")
此功能带有默认情况下启用的功能标志. 有关禁用它的步骤,请参阅[禁用问题运行状况](../../project/issues/index.html#disable-issue-health-status) .
## Multi-level child epics[](#multi-level-child-epics-ultimate "Permalink")
在 GitLab Ultimate 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/8333) .
属于父史诗组的一个组或子组的任何史诗都可以添加. 新的儿童史诗出现在" **史诗和问题"**选项卡中史诗列表的顶部.
当您添加已链接到父级史诗的史诗时,到其当前父级的链接将被删除.
An epic can have multiple child epics up to the maximum depth of five.
请参阅[管理多级子级史诗](manage_epics.html#manage-multi-level-child-epics-ultimate) ,以了解创建,移动,重新排序或删除子[级史诗](manage_epics.html#manage-multi-level-child-epics-ultimate)的步骤.
## Start date and due date[](#start-date-and-due-date "Permalink")
要设置史诗的**开始日期****截止日期** ,请选择以下选项之一:
* **固定** :输入固定值.
* **从里程碑** :从当前分配给史诗问题的里程碑继承动态值. 请注意,GitLab 12.5 用**Inherited**替换了此选项.
* **继承** :从史诗的问题,子史诗和里程碑继承动态值(在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7332) ,以代替**From 里程碑** ).
### From milestones[](#from-milestones "Permalink")
> 在 GitLab 12.5 中由**Inherited** [取代](https://gitlab.com/gitlab-org/gitlab/-/issues/7332) .
如果您选择" **从里程碑**开始"作为开始日期,则 GitLab 会自动将日期设置为当前分配给添加到史诗中的问题的所有里程碑中最早的开始日期. 同样,如果您选择" **从里程碑** "作为截止日期,则 GitLab 会将其设置为当前分配给这些问题的所有里程碑中的最新截止日期.
这些是动态日期,如果发生以下任何情况,将重新计算这些日期:
* 将里程碑重新分配给这些问题.
* 里程碑日期更改.
* 从史诗中添加或删除问题.
### Inherited[](#inherited "Permalink")
在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7332)以替换**From 里程碑** .
如果选择:
* GitLab **继承**了开始日期,它将扫描所有子史诗和分配给该史诗的问题,并将开始日期设置为与找到的最早开始日期或里程碑相匹配.
* GitLab **继承**了截止日期,它将设置截止日期以匹配在其子史诗和问题中发现的最新截止日期或里程碑.
这些是动态日期,如果发生以下任何情况,则重新计算:
* 儿童史诗的日期发生了变化.
* 将里程碑重新分配给问题.
* 里程碑的日期会更改.
* 问题被添加到史诗中或从史诗中删除.
由于史诗的日期可以从其子级继承日期,因此开始日期和到期日期从底部传播到顶部. 如果最低级别的子级史诗的开始日期发生更改(成为其父级史诗最早的开始日期),则父级史诗的开始日期将反映该更改,并将向上传播到顶部的史诗级.
## Roadmap in epics[](#roadmap-in-epics "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7327) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.10.
如果你的史诗包含一个或多个[孩子史诗](#multi-level-child-epics-ultimate)其中有一个[开始或到期日](#start-date-and-due-date) ,一个[路线图,](../roadmap/index.html)孩子史诗的观点是父史诗中列出.
[![Child epics roadmap](img/35e89eba4dfc37f409cb295b0c8b13d1.png)](img/epic_view_roadmap_v12_9.png)
## Permissions[](#permissions "Permalink")
如果您有权查看史诗,并且有权查看已添加到该史诗的问题,则可以在史诗问题列表中查看该问题.
如果您有权编辑史诗并且有权编辑问题,则可以将问题添加到史诗中或从史诗中删除.
请注意,对于给定的组,所有项目的可见性必须与该组相同,或限制较少. 这意味着,如果您有权访问某个小组的史诗,那么您已经可以访问该小组的项目.
您也可以查阅[组权限表](../../permissions.html#group-members-permissions) .
## Thread[](#thread "Permalink")
* 评论:通过在该史诗中的评论中发布评论来协作. 这些文本字段也完全支持[GitLab Flavored Markdown](../../markdown.html#gitlab-flavored-markdown-gfm) .
## Comment or start a thread[](#comment-or-start-a-thread "Permalink")
写下评论后,您可以:
* 点击**评论** ,您的评论将被发布.
* 单击" **开始主题"** ,您将在该史诗般的讨论中开始一个主题.
### Activity sort order[](#activity-sort-order "Permalink")
[Introduced](https://https://gitlab.com/gitlab-org/gitlab/-/issues/214364) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
您可以颠倒默认顺序,并与按顶部的最新项目排序的活动供稿进行交互. 您的首选项通过本地存储保存,并自动应用于您查看的每个问题.
要更改活动排序顺序,请单击**最旧的第一个**下拉菜单,然后选择最旧或最新的项目以首先显示.
[![Issue activity sort order dropdown button](img/806d03909b4b194f095b4c69e175868d.png)](img/epic_activity_sort_order_v13_2.png)
## Award emoji[](#award-emoji "Permalink")
您可以为该史诗或其评论[授予表情符号](../../award_emojis.html) .
## Notifications[](#notifications "Permalink")
您可以[打开通知](../../profile/notifications.html)[通知](../../profile/notifications.html)史诗事件.
\ No newline at end of file
# Manage epics
> 原文:[https://docs.gitlab.com/ee/user/group/epics/manage_epics.html](https://docs.gitlab.com/ee/user/group/epics/manage_epics.html)
* [Create an epic](#create-an-epic)
* [Create an epic from the epic list](#create-an-epic-from-the-epic-list)
* [Access the New Epic form](#access-the-new-epic-form)
* [Elements of the New Epic form](#elements-of-the-new-epic-form)
* [Edit an epic](#edit-an-epic)
* [Bulk-edit epics](#bulk-edit-epics)
* [Delete an epic](#delete-an-epic)
* [Close an epic](#close-an-epic)
* [Reopen a closed epic](#reopen-a-closed-epic)
* [Go to an epic from an issue](#go-to-an-epic-from-an-issue)
* [Search for an epic from epics list page](#search-for-an-epic-from-epics-list-page)
* [Make an epic confidential](#make-an-epic-confidential)
* [Disable confidential epics](#disable-confidential-epics-premium-only)
* [Manage issues assigned to an epic](#manage-issues-assigned-to-an-epic)
* [Add an issue to an epic](#add-an-issue-to-an-epic)
* [Add an existing issue to an epic](#add-an-existing-issue-to-an-epic)
* [Create an issue from an epic](#create-an-issue-from-an-epic)
* [Remove an issue from an epic](#remove-an-issue-from-an-epic)
* [Reorder issues assigned to an epic](#reorder-issues-assigned-to-an-epic)
* [Move issues between epics](#move-issues-between-epics-ultimate)
* [Promote an issue to an epic](#promote-an-issue-to-an-epic)
* [Manage multi-level child epics](#manage-multi-level-child-epics-ultimate)
* [Add a child epic to an epic](#add-a-child-epic-to-an-epic)
* [Move child epics between epics](#move-child-epics-between-epics)
* [Reorder child epics assigned to an epic](#reorder-child-epics-assigned-to-an-epic)
* [Remove a child epic from a parent epic](#remove-a-child-epic-from-a-parent-epic)
# Manage epics[](#manage-epics-premium "Permalink")
该页面收集了有关[史诗](index.html)或与[史诗](index.html)有关的所有操作的说明.
## Create an epic[](#create-an-epic "Permalink")
每个组中都有史诗的分页列表,您可以从中创建新的史诗. 史诗列表还包括所选组中所有子组的史诗. 在您的论坛页面中:
### Create an epic from the epic list[](#create-an-epic-from-the-epic-list "Permalink")
要从史诗列表中创建史诗,请分组:
1.**史诗** .
2. Click **新史诗**.
3. 输入描述性标题.
4. Click **创造史诗**.
### Access the New Epic form[](#access-the-new-epic-form "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/211533) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2.
有两种方法可以进入"新史诗"表格并在您所在的小组中创建史诗:
* 在您小组的史诗中,点击**新建史诗** .
* 在任何地方的顶部菜单中,单击**加号** ( ) **>新史诗** .
[![New epic from an open epic](img/4c0cef07da8190af4f517bd8d336cb5b.png)](img/new_epic_from_groups_v13.2.png)
### Elements of the New Epic form[](#elements-of-the-new-epic-form "Permalink")
在创建新的史诗时,您可以填写以下字段:
* Title
* Description
* 保密性复选框
* Labels
* 开始日期
* 截止日期
[![New epic form](img/a48fc7b7ef95b54bd7ec66c17cad7dbb.png)](img/new_epic_form_v13.2.png)
## Edit an epic[](#edit-an-epic "Permalink")
创建史诗之后,可以编辑更改以下详细信息:
* Title
* Description
* 开始日期
* 截止日期
* Labels
编辑史诗的标题或说明:
1. 点击**修改标题和说明** 按钮.
2. 进行更改.
3. Click **保存更改**.
要编辑史诗的开始日期,截止日期或标签,请执行以下操作:
1. 单击史诗侧边栏中每个部分旁边的" **编辑"** .
2. 选择日期或标签为您的史诗.
## Bulk-edit epics[](#bulk-edit-epics "Permalink")
您可以一次编辑多个史诗. 要了解操作方法,请访问[批量编辑问题,史诗和在组级别合并请求](../bulk_editing/index.html#bulk-edit-epics) .
## Delete an epic[](#delete-an-epic "Permalink")
**注意:**要删除史诗,您需要成为组/子组的[所有者](../../permissions.html#group-members-permissions) .
编辑史诗的描述时,单击" **删除"**按钮以删除史诗. 出现一个模态来确认您的动作.
删除史诗会从系统中与其关联的史诗中释放所有现有问题.
## Close an epic[](#close-an-epic "Permalink")
每当您决定不再需要该史诗时,请通过以下方法关闭该史诗:
* 单击**关闭史诗**按钮.
[![close epic - button](img/dce9a8c36e06896553bd80f313c3a756.png)](img/button_close_epic.png)
* 使用[快速动作](../../project/quick_actions.html) .
## Reopen a closed epic[](#reopen-a-closed-epic "Permalink")
您可以重新打开因以下原因而关闭的史诗:
* 单击**重新打开史诗**按钮.
[![reopen epic - button](img/ed7d654fa8271709dfa6c567b48c5de6.png)](img/button_reopen_epic.png)
* 使用[快速动作](../../project/quick_actions.html) .
## Go to an epic from an issue[](#go-to-an-epic-from-an-issue "Permalink")
如果问题属于史诗,则可以使用问题侧栏中的链接导航到包含该史诗.
[![containing epic](img/8edd1cbf476ddc76f3df25fdeff8b55c.png)](img/containing_epic.png)
## Search for an epic from epics list page[](#search-for-an-epic-from-epics-list-page "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.5 中引入.
* [已移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) GitLab 12.8 中的[Premium](https://about.gitlab.com/pricing/)层.
您可以根据以下参数,使用过滤的搜索栏(类似于"问题和合并请求"的搜索栏)从史诗列表中搜索史诗:
* 标题或说明
* 作者名称/用户名
* Labels
[![epics search](img/c77b45147112088b7940cb4ebcc5f4a6.png)](img/epics_search.png)
要进行搜索,请转到史诗列表,然后单击" **搜索或过滤结果** "字段. 它将显示一个下拉菜单,您可以从中添加一个作者. 您也可以输入纯文本以按史诗标题或描述进行搜索. 完成后,按键盘上的`Enter`键过滤列表.
您还可以按以下方式对史诗列表进行排序:
* 创建日期
* 最近更新时间
* 开始日期
* 截止日期
每个选项都包含一个按钮,可以在**升序****降序**之间切换顺序. 无论您浏览史诗,包括" [路线图"](../roadmap/index.html) ,都可以保存和使用排序选项和顺序.
[![epics sort](img/57b0d20488fb6cdd9ed2e8f573fcb7bb.png)](img/epics_sort.png)
## Make an epic confidential[](#make-an-epic-confidential "Permalink")
版本历史
*[GitLab Premium](https://about.gitlab.com/pricing/) 13.0 中在功能标志后面[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/213068) ,默认情况下禁用.
*[GitLab Premium](https://about.gitlab.com/pricing/) 13.2 中[默认启用](https://gitlab.com/gitlab-org/gitlab/-/issues/224513) .
创建史诗时,可以选中**"将此史诗设为机密"**复选框,使其成为机密文件.
### Disable confidential epics[](#disable-confidential-epics-premium-only "Permalink")
机密史诗功能部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的自我管理实例禁用它.
禁用它:
```
Feature.disable(:confidential_epics)
```
## Manage issues assigned to an epic[](#manage-issues-assigned-to-an-epic "Permalink")
### Add an issue to an epic[](#add-an-issue-to-an-epic "Permalink")
您可以将现有问题添加到史诗中,也可以创建一个自动添加到史诗中的新问题.
#### Add an existing issue to an epic[](#add-an-existing-issue-to-an-epic "Permalink")
属于史诗组或史诗子组中任何项目的现有问题都可以添加到史诗中. 新添加的问题显示在" **史诗和问题"**选项卡中问题列表的顶部.
史诗包含一个问题列表,一个问题最多可以与一个史诗相关联. 当您添加已链接到史诗的问题时,该问题会自动与其当前父级取消链接.
要将问题添加到史诗中:
1. 点击**添加**下拉按钮.
2. Click **添加问题**.
3. 使用以下两种方法之一确定要添加的问题:
* 粘贴问题的链接.
* 通过输入问题标题的一部分来搜索所需的问题,然后选择所需的匹配项(在[GitLab 12.5 中](https://gitlab.com/gitlab-org/gitlab/-/issues/9126)引入).
如果要添加多个问题,请按`空格键` ,然后重复此步骤.
4. Click **Add**.
#### Create an issue from an epic[](#create-an-issue-from-an-epic "Permalink")
在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/5419) .
从史诗中创建问题使您可以将注意力集中在史诗的更广泛的上下文上,同时将工作划分成较小的部分.
要从史诗中创建问题:
1. 在史诗页面上的" **史诗和问题"下** ,点击**添加**下拉按钮,然后选择**创建新问题** .
2.**标题下** ,输入新期刊的标题.
3.**项目**下拉列表中,选择应在其中创建问题的项目.
4. Click **创建问题**.
### Remove an issue from an epic[](#remove-an-issue-from-an-epic "Permalink")
在史诗的详细信息页面上时,可以从史诗中删除问题. 从史诗中删除问题后,该问题将不再与此史诗相关联.
要从史诗中删除问题:
1. 点击**删除** ( )按钮旁边要删除的问题. 出现**删除问题**警告.
2. Click **Remove**.
[![List of issues assigned to an epic](img/8c47dc71d95554edf7da34adb5acc575.png)](img/issue_list_v13_1.png)
### Reorder issues assigned to an epic[](#reorder-issues-assigned-to-an-epic "Permalink")
在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9367) .
新问题出现在" **史诗和问题"**选项卡中的列表顶部. 您可以通过拖动来重新排列问题列表.
要重新分配分配给史诗的问题:
1. 转到" **史诗和问题"**标签.
2. 将问题拖到所需的顺序.
### Move issues between epics[](#move-issues-between-epics-ultimate "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33039) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0.
新问题出现在" **史诗和问题"**选项卡中的列表顶部. 您可以将问题从一部史诗转移到另一部史诗.
要将问题移至另一个史诗:
1. 转到" **史诗和问题"**标签.
2. 将问题拖到所需的父级史诗中.
### Promote an issue to an epic[](#promote-an-issue-to-an-epic "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/3777) .
* 在 12.8 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) [GitLab Premium](https://about.gitlab.com/pricing/) .
如果您具有关闭问题并在直接父组中创建史诗的必要[权限](../../permissions.html) ,则可以使用`/promote` [快速操作](../../project/quick_actions.html#quick-actions-for-issues-merge-requests-and-epics)将问题升级为史诗. 仅可以促进小组项目中的问题. 尝试提出机密问题时,将显示警告. 向史诗宣传机密问题将使与该问题相关的所有信息公开,因为史诗对小组成员是公开的.
执行快速操作时:
* 在与问题项目所在的组中创建一个史诗.
* 通知该问题的订户该史诗已创建.
以下问题元数据将被复制到史诗中:
* 标题,描述,活动/评论主题.
* Upvotes/downvotes.
* Participants.
* Group labels that the issue already has.
## Manage multi-level child epics[](#manage-multi-level-child-epics-ultimate "Permalink")
### Add a child epic to an epic[](#add-a-child-epic-to-an-epic "Permalink")
要将儿童史诗添加到史诗中:
1. 点击**添加**下拉按钮.
2. Click **添加史诗**.
3. 使用以下两种方法之一确定要添加的史诗:
* 粘贴史诗的链接.
* 通过输入史诗标题的一部分来搜索所需的问题,然后选择所需的匹配项(在[GitLab 12.5 中](https://gitlab.com/gitlab-org/gitlab/-/issues/9126)引入).
如果要添加多个史诗,请按`空格键`并重复此步骤.
4. Click **Add**.
### Move child epics between epics[](#move-child-epics-between-epics "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33039) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0.
新的儿童史诗出现在" **史诗和问题"**选项卡中的列表顶部. 您可以将儿童史诗从一个史诗转移到另一个史诗. 当您添加已链接到父级史诗的史诗时,到其当前父级的链接将被删除. 问题和儿童史诗不能混在一起.
要将儿童史诗移至另一史诗:
1. 转到" **史诗和问题"**标签.
2. 将史诗拖到所需的父史诗中.
### Reorder child epics assigned to an epic[](#reorder-child-epics-assigned-to-an-epic "Permalink")
在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9367) .
新的儿童史诗出现在" **史诗和问题"**选项卡中的列表顶部. 您可以对子史诗列表进行重新排序.
要重新分配分配给史诗的子史诗:
1. 转到" **史诗和问题"**标签.
2. 将史诗拖到所需的顺序.
### Remove a child epic from a parent epic[](#remove-a-child-epic-from-a-parent-epic "Permalink")
要从父级史诗中删除子级史诗:
1. 单击父级史诗列表中的`x`按钮.
2.**删除史诗**警告消息,请单击**删除** .
\ No newline at end of file
> 原文:[https://docs.gitlab.com/ee/user/group/dependency_proxy/](https://docs.gitlab.com/ee/user/group/dependency_proxy/)
\ No newline at end of file
# Group Import/Export
> 原文:[https://docs.gitlab.com/ee/user/group/settings/import_export.html](https://docs.gitlab.com/ee/user/group/settings/import_export.html)
* [Important Notes](#important-notes)
* [Exported Contents](#exported-contents)
* [Exporting a Group](#exporting-a-group)
* [Between CE and EE](#between-ce-and-ee)
* [Importing the group](#importing-the-group)
* [Version history](#version-history)
* [Rate Limits](#rate-limits)
# Group Import/Export[](#group-importexport "Permalink")
版本历史
* 在 GitLab 13.0 中作为实验功能[引入](https://gitlab.com/groups/gitlab-org/-/epics/2888) . 在将来的版本中可能会更改.
可以将在任何 GitLab 实例或 GitLab.com 上运行的现有组及其所有相关数据导出,并移至新的 GitLab 实例.
如果启用了组导入选项,则会显示**GitLab 导入/导出**按钮.
也可以看看:
* [Group Import/Export API](../../../api/group_import_export.html)
* [Project Import/Export](../../project/settings/import_export.html)
* [Project Import/Export API](../../../api/project_import_export.html)
要启用 GitLab 导入/导出:
1. 导航 **管理区>** **设置>可见性和访问控制** .
2. 滚动到**导入源**
3. 启用所需的**导入源**
## Important Notes[](#important-notes "Permalink")
请注意以下几点:
* 导出存储在一个临时[共享目录中](../../../development/shared_files.html) ,并由特定工作人员每 24 小时删除一次.
* 要保留导入项目中的组级关系,请首先运行"组导入/导出",以允许将项目导入所需的组结构中.
* 除非导入到父组,否则将为导入的组提供`private`可见性级别.
* 如果导入父组,则除非另有限制,否则子组将继承相同级别的可见性.
* 若要保留成员列表及其对导入组的各自权限,请查看这些组中的用户. 在导入所需的组之前,请确保这些用户存在.
### Exported Contents[](#exported-contents "Permalink")
将导出以下项目:
* Milestones
* Labels
* 董事会和董事会名单
* Badges
* 子组(包括所有上述数据)
* Epics
* Events
以下项目将不会导出:
* Projects
* 跑步者令牌
* SAML 发现令牌
**注意:**有关在组导出中[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/group/import_export.yml)的特定数据的更多详细信息,请参阅[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/group/import_export.yml)文件.
## Exporting a Group[](#exporting-a-group "Permalink")
1. 导航到您的论坛的主页.
2. 请点击 侧栏中的**设置** .
3. 在" **高级"**部分中,单击" **导出组"**按钮.
[![Export group panel](img/222aa4a1e09c2312446d0aa324c6f193.png)](img/export_panel_v13_0.png)
4. 生成导出后,您应该会收到一封电子邮件,其中包含指向压缩的 tar 存档中[导出内容](#exported-contents)的链接,其中的内容为 JSON 格式.
5. 或者,您可以返回项目设置,然后点击**下载导出**从那里下载文件,或者点击**重新**生成导出来生成一个新文件.
**注意:**可以由管理员设置最大导入文件大小,默认为 50MB. 作为管理员,您可以修改最大导入文件大小. 为此,请在" [应用程序设置" API](../../../api/settings.html#change-application-settings)或" [管理界面"中](../../admin_area/settings/account_and_limit_settings.html)使用`max_import_size`选项.
### Between CE and EE[](#between-ce-and-ee "Permalink")
您可以将组从[Community Edition](https://about.gitlab.com/install/ce-or-ee/)导出[到 Enterprise Edition](https://about.gitlab.com/install/ce-or-ee/) ,反之亦然.
如果要将组从企业版导出到社区版,则可能会丢失仅保留在企业版中的数据. 有关更多信息,请参阅[从 EE 降级为 CE](../../../README.html) .
## Importing the group[](#importing-the-group "Permalink")
1. 通过顶部导航栏中的`+`按钮或现有组页面上的" **新建子组"**按钮导航到" **新建**组"页面.
[![Navigation paths to create a new group](img/fad2df1fa4371b39b3ea1032a8ad236c.png)](img/new_group_navigation_v13_1.png)
2. 在"新建组"页面上,选择" **导入组"**选项卡.
[![Fill in group details](img/d15d948fc7d1b6e5c8dabacbe7c2fcc9.png)](img/import_panel_v13_1.png)
3. 输入您的群组名称.
4. 接受或修改关联的组 URL.
5. Click **选择文件**
6. 在" [导出组"](#exporting-a-group)部分中选择您导出的文件.
7. 单击**导入组**开始导入. 您新导入的组页面将很快出现.
## Version history[](#version-history "Permalink")
GitLab 可以导入从其他 GitLab 部署导出的捆绑软件. 此功能仅限于之前的两个 GitLab [次要](../../../policy/maintenance.html#versioning)发行版,这与我们的[安全发布](../../../policy/maintenance.html#security-releases)流程类似.
例如:
| 当前版本 | 可以导入从 |
| --- | --- |
| 13.0 | 13.0, 12.10, 12.9 |
| 13.1 | 13.1, 13.0, 12.10 |
## Rate Limits[](#rate-limits "Permalink")
为了避免滥用,用户的速率仅限于:
| 请求类型 | Limit |
| --- | --- |
| Export | 每 5 分钟 30 个小组 |
| 下载导出 | 每 10 分钟每组 10 次下载 |
| Import | 每 5 分钟 30 个小组 |
\ No newline at end of file
# Insights
> 原文:[https://docs.gitlab.com/ee/user/group/insights/](https://docs.gitlab.com/ee/user/group/insights/)
* [View your group’s Insights](#view-your-groups-insights)
* [Configure your Insights](#configure-your-insights)
* [Permissions](#permissions)
# Insights[](#insights-ultimate "Permalink")
[Introduced](https://gitlab.com/groups/gitlab-org/-/epics/725) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0.
配置对您的团队重要的洞察力,以探索数据,例如分类诊断,在给定时间段内创建/关闭的问题,合并请求的平均时间等.
[![Insights example stacked bar chart](img/9f4a21c247f193621ddd2f709c4536d7.png)](img/insights_example_stacked_bar_chart.png)
## View your group’s Insights[](#view-your-groups-insights "Permalink")
您可以通过点击左侧边栏中的**Analytics(分析)> Insights**链接来访问组的 Insights:
[![Insights sidebar link](img/098a5864447e44da06b72051af59b294.png)](img/insights_sidebar_link_v12_8.png)
## Configure your Insights[](#configure-your-insights "Permalink")
导航到组的**"设置">"常规"** ,展开" **Insights"** ,然后选择包含`.gitlab/insights.yml`配置文件的项目:
[![group insights configuration](img/6e3e1e9c7013cd330bcb6380ef19ddf9.png)](img/insights_group_configuration.png)
如果未设置任何配置,将使用[默认配置文件](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/fixtures/insights/default.yml) .
有关`.gitlab/insights.yml`配置文件的更多详细信息,请参见[Project 的 Insights 文档](../../project/insights/index.html) .
## Permissions[](#permissions "Permalink")
如果您有权查看组,则可以查看其见解.
**注意:**您无法访问的问题或合并请求(因为您无法访问它们所属的项目,或者因为它们是机密的)会从 Insights 图表中过滤掉.
您也可以查阅[组权限表](../../permissions.html#group-members-permissions) .
\ No newline at end of file
# Issues Analytics
> 原文:[https://docs.gitlab.com/ee/user/group/issues_analytics/](https://docs.gitlab.com/ee/user/group/issues_analytics/)
* [Drill into the information](#drill-into-the-information)
# Issues Analytics[](#issues-analytics-premium "Permalink")
版本历史
*[GitLab Premium](https://about.gitlab.com/pricing/) 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7478) .
* 在项目级别的[GitLab Premium](https://about.gitlab.com/pricing/) 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/196561) .
问题分析是一个条形图,用于说明每月创建的问题数. 默认时间跨度为 13 个月,其中包括当月以及之前的 12 个月.
要访问图表,请导航至您的组或项目侧边栏,然后选择 **分析>问题分析** .
将鼠标悬停在每个栏上可以查看总数.
要缩小图中包含的问题的范围,请在" **搜索或过滤结果..."**字段中输入您的条件. 可以在以下列表中输入条件或从菜单中选择条件:
* Author
* Assignee
* Milestone
* Label
* 我的反应
* Weight
您可以通过设置 URL 参数来更改显示的总月数. 例如, `https://gitlab.com/groups/gitlab-org/-/issues_analytics?months_back=15` //gitlab.com/groups/gitlab-org/-/issues_analytics?months_back `https://gitlab.com/groups/gitlab-org/-/issues_analytics?months_back=15` 15 显示 GitLab.org 组中图表的总计 15 个月.
[![Issues created per month](img/7a1046341466c144b96bc573f0a16114.png)](img/issues_created_per_month_v12_8.png)
## Drill into the information[](#drill-into-the-information "Permalink")
在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/196547) .
您可以通过浏览图表下方的表格来检查各个问题的详细信息.
该图表显示基于全局页面筛选器的前 100 个问题.
[![Issues table](img/c07889c4060a55eccd0e5dde9cb54f74.png)](img/issues_table_v13_1.png)
\ No newline at end of file
# Iterations
> 原文:[https://docs.gitlab.com/ee/user/group/iterations/](https://docs.gitlab.com/ee/user/group/iterations/)
* [View the iterations list](#view-the-iterations-list)
* [Create an iteration](#create-an-iteration)
* [Edit an iteration](#edit-an-iteration)
* [Enable Iterations](#enable-iterations-core-only)
# Iterations[](#iterations-starter "Permalink")
版本历史
*[GitLab Starter](https://about.gitlab.com/pricing/) 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214713) .
* 它部署在功能标记后面,默认情况下处于禁用状态.
* 在 GitLab.com 上已禁用.
* 可以按组启用或禁用
* 不建议将其用于生产.
* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-iterations-core-only) .
迭代是跟踪一段时间内问题的一种方法. 这使团队可以跟踪速度和波动性指标. 迭代可与[里程碑](../../project/milestones/index.html)一起使用,以在不同时间段内进行跟踪.
例如,您可以使用:
* 计划递增的里程碑,跨越 8 到 12 周.
* Sprint 的迭代,历时 2 周.
在 GitLab 中,迭代类似于里程碑,但有一些区别:
* 迭代仅适用于组.
* 一组一次只能有一个活动的迭代.
* 迭代需要开始日期和结束日期.
* 迭代日期范围不能重叠.
## View the iterations list[](#view-the-iterations-list "Permalink")
要查看迭代列表,请分组访问 **问题>迭代** . 从那里您可以创建一个新的迭代或单击一个迭代以获得更详细的视图.
## Create an iteration[](#create-an-iteration "Permalink")
**注意:**您需要具有开发人员[权限](../../permissions.html)或更高[权限](../../permissions.html)才能创建迭代.
要创建迭代:
1. 在一个小组中,转到 **问题>迭代** .
2. Click **新迭代**.
3. 输入标题,描述(可选),开始日期和截止日期.
4. 单击**创建迭代** . 将打开"迭代详细信息"页面.
## Edit an iteration[](#edit-an-iteration "Permalink")
版本历史
*[GitLab Starter](https://about.gitlab.com/pricing/) 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/218277) .
**注意:**您需要开发者[权限](../../permissions.html)或更高[权限](../../permissions.html)才能编辑迭代.
要编辑迭代,请点击三点菜单( )> **编辑迭代** .
## Enable Iterations[](#enable-iterations-core-only "Permalink")
GitLab 迭代功能正在开发中,尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它. `:group_iterations`可以按组启用或禁用.
要启用它:
```
# Instance-wide
Feature.enable(:group_iterations)
# or by group
Feature.enable(:group_iterations, Group.find(<group id>))
```
禁用它:
```
# Instance-wide
Feature.disable(:group_iterations)
# or by group
Feature.disable(:group_iterations, Group.find(<group id>))
```
\ No newline at end of file
# Public access
> 原文:[https://docs.gitlab.com/ee/public_access/public_access.html](https://docs.gitlab.com/ee/public_access/public_access.html)
* [Visibility of projects](#visibility-of-projects)
* [Public projects](#public-projects)
* [Internal projects](#internal-projects)
* [Private projects](#private-projects)
* [How to change project visibility](#how-to-change-project-visibility)
* [Visibility of groups](#visibility-of-groups)
* [Visibility of users](#visibility-of-users)
* [Visibility of pages](#visibility-of-pages)
* [Restricting the use of public or internal projects](#restricting-the-use-of-public-or-internal-projects)
* [Reducing visibility](#reducing-visibility)
# Public access[](#public-access "Permalink")
GitLab 允许[所有者](../user/permissions.html)将项目的可见性设置为**public****internal****private** . 这些可见性级别会影响谁可以在公共访问目录(GitLab 实例下的`/public` )中查看项目,例如[https://gitlab.com/public](https://gitlab.com/public)
## Visibility of projects[](#visibility-of-projects "Permalink")
### Public projects[](#public-projects "Permalink")
可以克隆公共项目, **而无需**通过 HTTPS **进行任何**身份验证.
它们将在所有用户的公共访问目录( `/public` )中列出.
**任何登录的用户**都将对存储库具有[来宾权限](../user/permissions.html) .
### Internal projects[](#internal-projects "Permalink")
任何登录用户都可以克隆内部项目.
它们也将列在公共访问目录( `/public` )中,但仅适用于登录用户.
任何登录的用户都将对存储库具有[来宾权限](../user/permissions.html) .
**注意:**从 2019 年 7 月开始,GitLab.com 上的新项目,组和摘要的`` `Internal`可见性''设置被禁用. 使用" `Internal`可见性"设置的现有项目,组和摘录保留此设置. 您可以在[相关问题中](https://gitlab.com/gitlab-org/gitlab/-/issues/12388)阅读有关更改的更多信息.
### Private projects[](#private-projects "Permalink")
私人项目只能由项目成员(来宾除外)克隆和查看.
它们将仅出现在项目成员的公共访问目录( `/public` )中.
### How to change project visibility[](#how-to-change-project-visibility "Permalink")
1. 转到项目的**"设置"** .
2. 将**可见性级别**更改为公共,内部或私有.
## Visibility of groups[](#visibility-of-groups "Permalink")
**注意:** [从](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) GitLab 8.6 [开始](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) ,组的可见性已更改,并且可以与项目相同的方式进行配置. 在以前的版本中,组页面始终对所有用户可见.
与项目一样,可以设置组的可见性来决定匿名用户,所有登录用户还是仅显式组成员可以查看它. 应用程序设置级别对可见性级别的限制也适用于组,因此,如果将其设置为内部,则匿名用户的浏览页面将为空. 现在,组页面上有一个可见性级别图标.
管理员用户不能创建具有比直接父组更高的可见性级别的子组或项目.
## Visibility of users[](#visibility-of-users "Permalink")
无论您是否登录,位于`/username`的用户公共页面始终可见.
当访问用户的公共页面时,您只能看到您有权访问的项目.
如果公共级别受到限制,则用户配置文件仅对登录用户可见.
## Visibility of pages[](#visibility-of-pages "Permalink")
默认情况下,以下目录对未经身份验证的用户可见:
* 公共访问( `/public` ).
* 探索( `/explore` ).
* 帮助( `/help` ).
但是,如果`/public`目录的访问级别受到限制,则这些目录仅对登录用户可见.
## Restricting the use of public or internal projects[](#restricting-the-use-of-public-or-internal-projects "Permalink")
您可以限制用户在创建项目或代码段时对可见性级别的使用. 这有助于防止用户意外公开其存储库. 受限的可见性设置不适用于管理员用户.
有关详细信息,请参阅[受限可见性级别](../user/admin_area/settings/visibility_and_access_controls.html#restricted-visibility-levels) .
## Reducing visibility[](#reducing-visibility "Permalink")
在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33358) .
降低项目的可见性级别将删除该项目与任何分叉项目之间的派生关系. 这是一种潜在的破坏性操作,需要先确认才能保存.
[![Project visibility change confirmation](img/17abb300a15db5073a41bf8a13e53bc7.png)](img/project_visibility_confirmation_v12_6.png)
\ No newline at end of file
此差异已折叠。
# SCIM provisioning using SAML SSO for GitLab.com groups
> 原文:[https://docs.gitlab.com/ee/user/group/saml_sso/scim_setup.html](https://docs.gitlab.com/ee/user/group/saml_sso/scim_setup.html)
* [Features](#features)
* [Requirements](#requirements)
* [GitLab configuration](#gitlab-configuration)
* [Identity Provider configuration](#identity-provider-configuration)
* [Azure configuration steps](#azure-configuration-steps)
* [Configure attribute mapping](#configure-attribute-mapping)
* [Okta configuration steps](#okta-configuration-steps)
* [Okta Known Issues](#okta-known-issues)
* [User access and linking setup](#user-access-and-linking-setup)
* [Blocking access](#blocking-access)
* [Troubleshooting](#troubleshooting)
* [Azure](#azure)
* [How do I verify my SCIM configuration is correct?](#how-do-i-verify-my-scim-configuration-is-correct)
* [Testing Azure connection: invalid credentials](#testing-azure-connection-invalid-credentials)
* [Azure: (Field) can’t be blank sync error](#azure-field-cant-be-blank-sync-error)
* [How do I diagnose why a user is unable to sign in](#how-do-i-diagnose-why-a-user-is-unable-to-sign-in)
* [How do I verify user’s SAML NameId matches the SCIM externalId](#how-do-i-verify-users-saml-nameid-matches-the-scim-externalid)
* [Update or fix mismatched SCIM externalId and SAML NameId](#update-or-fix-mismatched-scim-externalid-and-saml-nameid)
* [I need to change my SCIM app](#i-need-to-change-my-scim-app)
# SCIM provisioning using SAML SSO for GitLab.com groups[](#scim-provisioning-using-saml-sso-for-gitlabcom-groups-silver-only "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9388) in [GitLab.com Silver](https://about.gitlab.com/pricing/) 11.10.
跨域身份管理系统(SCIM)是一种开放标准,可实现用户自动配置. 当为 GitLab 组配置 SCIM 时,该组的成员资格将在 GitLab 和身份提供者之间同步.
GitLab 的[SCIM API](../../../api/scim.html)实现[了 RFC7644 协议的](https://tools.ietf.org/html/rfc7644)一部分.
## Features[](#features "Permalink")
当前,可以执行以下操作:
* 建立使用者
* 更新用户(仅限 Azure)
* 停用用户
支持以下身份提供者:
* Azure
* Okta
## Requirements[](#requirements "Permalink")
* 必须配置[组单一登录](index.html) .
## GitLab configuration[](#gitlab-configuration "Permalink")
配置[组单一登录后](index.html) ,我们可以:
1. 导航到该组,然后单击**管理> SAML SSO** .
2. 单击**生成 SCIM 令牌**按钮.
3. 保存令牌和 URL,以便可以在下一步中使用它们.
[![SCIM token configuration](img/c187de65e481b5598b110fee5310776c.png)](img/scim_token.png)
## Identity Provider configuration[](#identity-provider-configuration "Permalink")
* [Azure](#azure-configuration-steps)
* [Okta](#okta-configuration-steps)
### Azure configuration steps[](#azure-configuration-steps "Permalink")
现在需要为 SCIM 设置在[Azure 的](https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-single-sign-on-non-gallery-applications) [单点登录](index.html)安装过程中创建的 SAML 应用程序.
1. 检查您的 GitLab SAML 应用程序的配置,并确保**名称标识符值** (NameID)指向`user.objectid`或另一个唯一标识符. 这将与 GitLab 上使用的`extern_uid`匹配.
[![Name identifier value mapping](img/fe827d4bc97b90c3a250af05fd988fc4.png)](img/scim_name_identifier_mapping.png)
2. 通过遵循针对 Azure [支持](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#provisioning-users-and-groups-to-applications-that-support-scim)的 SCIM 安装文档[中支持 SCIM 的应用程序](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#provisioning-users-and-groups-to-applications-that-support-scim)[供应用户和组,来](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#provisioning-users-and-groups-to-applications-that-support-scim)设置自动供应和管理凭据.
During this configuration, note the following:
* `Tenant URL``secret token`是在[上一步中](#gitlab-configuration)检索到的.
* 如果 GitLab 的可用性有任何问题或类似错误,则通知电子邮件集将获得这些信息.
* 建议设置通知电子邮件并选中**发生故障时发送电子邮件通知**复选框.
* 对于映射,我们将仅启用"将`Synchronize Azure Active Directory Users to AppName`启用状态.
然后,您可以通过单击" **测试连接"****测试连接** . 如果连接成功,请确保在继续操作之前保存配置. 请参阅下面的[疑难解答](#troubleshooting) .
#### Configure attribute mapping[](#configure-attribute-mapping "Permalink")
1. 单击"将`Synchronize Azure Active Directory Users to AppName`以配置属性映射.
2. 单击`mail`映射旁边的**删除** .
3.`userPrincipalName`映射到`emails[type eq "work"].value`并将其**Matching 优先级**更改为`2` .
4. Map `mailNickname` to `userName`.
5. 确定 GitLab 如何唯一标识用户.
* 除非用户已经为您的组链接了 SAML,否则请使用`objectId` .
* 如果已经有链接 SAML 的用户,则使用[SAML 配置中](#azure)的" `Name ID`值. 使用其他值可能会导致用户重复并阻止用户访问 GitLab 组.
6. 创建一个新的映射:
1. 单击**添加新映射** .
2. 组:
* 上面确定的唯一标识符的**Source 属性** ,通常是`objectId` .
* **目标属性**`externalId` .
* **使用此属性****对象匹配**`Yes` .
* **匹配优先级**`1` .
7. 单击`userPrincipalName`映射,然后**使用此属性****Match 对象**更改为`No`
8. 保存您的更改. 作为参考,您可以[在故障排除参考中](../../../administration/troubleshooting/group_saml_scim.html#azure-active-directory)查看[示例配置](../../../administration/troubleshooting/group_saml_scim.html#azure-active-directory) .
**注意:**如果您使用**除** `objectId` **之外**的唯一标识符,请确保将其映射到`externalId` .
9. 在映射列表下,单击**显示高级选项>编辑 AppName 的属性列表** .
10. 确保`id`是主要字段和必填字段,并且还需要`externalId` .
**注意:** `username`既不是主要`username`也不是必需的,因为我们尚不支持 GitLab SCIM 上的该字段.
11. 保存所有屏幕,然后在**Provisioning**步骤中将`Provisioning Status`设置为`On` .
[![Provisioning status toggle switch](img/4c6172d095020a91bcf8d48c85ee4d1d.png)](img/scim_provisioning_status.png)
**注意:**您可以通过选择`Scope`来控制实际同步的内容. 例如, `Sync only assigned users and groups`将仅同步分配给应用程序的`Users and groups` ( `Users and groups` ),否则,它将同步整个 Active Directory.
一旦启用,同步细节的任何错误都出现在**供应**屏幕的底部,有一个链接到审计日志在一起.
**警告:**同步后,将映射到`id``externalId`的字段更改可能会导致配置错误,用户重复,并阻止现有用户访问 GitLab 组.
### Okta configuration steps[](#okta-configuration-steps "Permalink")
现在需要为 SCIM 设置在[Okta 的](https://developer.okta.com/docs/guides/build-sso-integration/saml2/overview/) [单点登录](index.html#okta-setup-notes)安装过程中创建的 SAML 应用程序. 在继续之前,请确保完成[GitLab 配置](#gitlab-configuration)过程.
1. 登录到 Okta.
2. 如果您在右上角看到一个**管理**按钮,请单击该按钮. 这将确保您位于"管理"区域.
**提示:**如果您在使用开发者控制台,点击**开发者控制台**顶部栏并选择**经典的 UI.** 否则,您可能看不到以下步骤中描述的按钮:
3. 在" **应用程序"**选项卡中,单击" **添加应用程序"** .
4. Search for **GitLab**, find and click on the ‘GitLab’ application.
5. 在 GitLab 应用程序概述页面上,单击**添加** .
6. 在" **应用程序可见性"下,**选中两个复选框. 当前,GitLab 应用程序不支持 SAML 身份验证,因此不应向用户显示该图标.
7. 单击**"完成"**以完成添加应用程序.
8.**供应**标签中,点击**配置 API 集成** .
9. Select **启用 API 集成**.
* 对于**基本 URL,**输入从 GitLab SCIM 配置页面获得的 URL.
* 对于**API 令牌,**输入从 GitLab SCIM 配置页面获得的 SCIM 令牌.
10. 点击"测试 API 凭据"以验证配置.
11. 单击**保存**以应用设置.
12. After saving the API integration details, new settings tabs will appear on the left. Choose **到应用**.
13. Click **Edit**.
14. 选中"为**创建用户****停用用户** **启用** "复选框.
15. Click **Save**.
16. 在" **分配"**选项卡中分配用户. 分配的用户将在您的 GitLab 组中创建和管理.
#### Okta Known Issues[](#okta-known-issues "Permalink")
Okta GitLab 应用程序当前仅支持 SCIM. 继续使用单独的 Okta [SAML SSO](index.html)配置以及上述新的 SCIM 应用程序.
## User access and linking setup[](#user-access-and-linking-setup "Permalink")
只要已经配置了[Group SAML](index.html) ,就可以在启用同步之前,在激活同步之前,现有的 GitLab.com 用户可以通过以下方式之一链接到其帐户:
* 通过更新其 GitLab.com 用户帐户中的*主要*电子邮件地址以匹配其身份提供商的用户个人资料电子邮件地址.
* 通过执行以下步骤:
1. 如果需要,登录到 GitLab.com.
2. 在身份提供商的仪表板上单击 GitLab 应用程序,或访问**GitLab 单一登录 URL** .
3. 单击**授权**按钮.
后续访问中的新用户和现有用户可以通过身份提供商的仪表板或直接访问链接来访问组.
有关角色信息,请参阅[组 SAML 页面](index.html#user-access-and-management)
### Blocking access[](#blocking-access "Permalink")
要取消对该组的访问,我们建议从身份提供商或特定应用程序的用户列表中删除该用户.
在下一次同步时,将取消提供该用户,这意味着该用户将从组中删除. 除非使用[组托管帐户,](group_managed_accounts.html)否则不会删除该用户帐户.
## Troubleshooting[](#troubleshooting "Permalink")
本节包含可能遇到的问题的可能解决方案.
### Azure[](#azure "Permalink")
#### How do I verify my SCIM configuration is correct?[](#how-do-i-verify-my-scim-configuration-is-correct "Permalink")
查看以下内容:
* 确保`id`的 SCIM 值与`NameId`的 SAML 值匹配.
* 确保`externalId`的 SCIM 值与`NameId`的 SAML 值匹配.
查看以下 SCIM 参数以获取合理的值:
* `userName`
* `displayName`
* `emails[type eq "work"].value`
#### Testing Azure connection: invalid credentials[](#testing-azure-connection-invalid-credentials "Permalink")
测试连接时,您可能会遇到错误: **您似乎输入了无效的凭据.** **请确认您使用的管理帐户信息正确** . 如果`Tenant URL``secret token`正确,请检查您的组路径中是否包含可能被视为无效 JSON 原语的字符(例如`.` ). 从组路径中删除此类字符通常可以解决该错误.
#### Azure: (Field) can’t be blank sync error[](#azure-field-cant-be-blank-sync-error "Permalink")
在检查供应的审核日志时,有时您会看到错误`Namespace can't be blank, Name can't be blank, and User can't be blank.`
这可能是由于没有为所有要映射的用户提供所有必填字段(例如名字和姓氏).
作为解决方法,请尝试其他映射:
1. 请按照上面的 Azure 映射说明进行操作.
2. 删除`name.formatted`目标属性条目.
3.`displayName`源属性更改为具有`name.formatted`目标属性.
#### How do I diagnose why a user is unable to sign in[](#how-do-i-diagnose-why-a-user-is-unable-to-sign-in "Permalink")
每当`id``externalId`更改时,SCIM 都会更新 GitLab 存储的**Identity**`extern_uid` )值. 除非 GitLab 标识( `extern_uid` )值与 SAML 发送的`NameId`匹配,否则用户将无法登录.
SCIM 还将使用此值来匹配`id`上的用户,并且只要`id``externalId`值发生更改,SCIM 就会更新此值.
将此 SCIM `id`和 SCIM `externalId`配置为与 SAML `NameId`相同的值很重要. 可以使用[调试工具](./index.html#saml-debugging-tools)跟踪 SAML 响应,并且可以根据我们的[SAML 故障排除文档](./index.html#troubleshooting)检查任何错误.
#### How do I verify user’s SAML NameId matches the SCIM externalId[](#how-do-i-verify-users-saml-nameid-matches-the-scim-externalid "Permalink")
组所有者可以在组 SAML SSO 设置页面中查看用户列表和为每个用户存储的`externalId` .
另外,在[SCIM API](../../../api/scim.html#get-a-list-of-saml-users)可用于手动检索`externalId` ,我们已经存储了用户,也被称为`external_uid``NameId` .
例如:
```
curl 'https://example.gitlab.com/api/scim/v2/groups/GROUP_NAME/Users?startIndex=1"' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
要查看它与作为 SAML NameId 返回的值的比较,可以让用户使用[SAML Tracer](index.html#saml-debugging-tools) .
#### Update or fix mismatched SCIM externalId and SAML NameId[](#update-or-fix-mismatched-scim-externalid-and-saml-nameid "Permalink")
无论是更改值还是需要映射到其他字段,请确保`id``externalId``NameId`都映射到同一字段.
如果 GitLab 的`externalId`与 SAML NameId 不匹配,则需要对其进行更新才能使用户登录.理想情况下,将身份标识提供者配置为进行此类更新,但是在某些情况下,它可能无法这样做. ,例如在查找用户时由于 ID 更改而失败.
如果您修改 SCIM 身份提供程序使用的字段,请务必谨慎,通常为`id``externalId` . 我们使用这些 ID 查找用户. 如果身份提供者不知道这些字段的当前值,则该提供者可以创建重复的用户.
如果用户的`externalId`不正确,并且也与 SAML NameID 不匹配,则可以通过以下方式解决该问题:
* 您可以根据[" SAML 身份验证失败:用户已被使用"](./index.html#message-saml-authentication-failed-user-has-already-been-taken)部分,使用户取消链接并重新链接自己.
* 通过在启用预配置的同时从 SAML 应用中删除所有用户,可以同时取消所有用户的链接.
* 您可以使用[SCIM API](../../../api/scim.html#update-a-single-saml-user)手动更正为用户存储的`externalId`以匹配 SAML `NameId` . 要查找用户,您需要知道与`NameId`以及当前`externalId`匹配的`NameId` .
然后可以发出手动 SCIM#update 请求,例如:
```
curl --verbose --request PATCH 'https://gitlab.com/api/scim/v2/groups/YOUR_GROUP/Users/OLD_EXTERNAL_UID' --data '{ "Operations": [{"op":"Replace","path":"externalId","value":"NEW_EXTERNAL_UID"}] }' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
重要的是不要将这些值更新为不正确的值,因为这将导致用户无法登录.也不要将值分配给错误的用户,这也很重要,因为这将导致用户登录到错误的帐户.
#### I need to change my SCIM app[](#i-need-to-change-my-scim-app "Permalink")
各个用户可以按照[" SAML 身份验证失败:用户已被使用"](./index.html#i-need-to-change-my-saml-app)部分中的说明进行操作.
或者,可以从 SCIM 应用程序中删除用户,这将取消所有已删除用户的链接. 然后可以为新的 SCIM 应用打开同步,以[链接现有用户](#user-access-and-linking-setup) .
\ No newline at end of file
# Subgroups # 子组织[](#子组织 "Permalink")
> 原文:[https://docs.gitlab.com/ee/user/group/subgroups/](https://docs.gitlab.com/ee/user/group/subgroups/) 我们支持多达 20 个级别的子组织,也称为嵌套结构或层次结构。
* [Overview](#overview) 通过子组织中您可以:
* [Creating a subgroup](#creating-a-subgroup)
* [Membership](#membership)
* [Overriding the ancestor group membership](#overriding-the-ancestor-group-membership)
* [Mentioning subgroups](#mentioning-subgroups)
* [Limitations](#limitations)
# Subgroups[](#subgroups "Permalink") * **独立的子组织.** 由于每个组都有自己的可见性级别,因此您可以在同一保护范围内创建不同子组织以满足您不同的使用目的;
* **组织大型项目** 对于大型项目,子组织可能会更容易分隔源代码的权限
* **使管理人员和控制可见性变得更加容易** 根据人们的组织[成员身份](#成员身份)赋予他们不同的[权限](../../permissions.html#group-members-permissions)
在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/2772) . 有关组织和项目中允许的权限的更多信息,请参考[可见性级别](../../../development/permissions.html#general-permissions)
GitLab 支持多达 20 个级别的子组,也称为嵌套组或层次结构组. 组的级别. ## 概览[](#概览 "Permalink")
通过使用子组,您可以执行以下操作: 一个组织中可以有许多子组织,且每个组织只能有一个直接父组, 它类似于目录或嵌套项目列表:
* **独立的内部/外部组织.** 由于每个组都有自己的可见性级别,因此您可以在同一保护范围内为不同目的托管组.
* **组织大型项目.** 对于大型项目,子组可能会更容易分隔部分源代码的权限.
* **使管理人员和控制可见性变得更加容易.** 根据人们的组[成员身份,](#membership)赋予他们不同的[权限](../../permissions.html#group-members-permissions) .
有关组和项目中允许的权限的更多信息,请参见[可见性级别](../../../development/permissions.html#general-permissions) .
## Overview[](#overview "Permalink")
一个组中可以有许多子组,而同一组中只能有一个直接父组. 它类似于目录行为或嵌套项目列表:
* 第一组 * 第一组
* 1.1 组 * 1.1 组
* 1.2 组 * 1.2 组
* 1.2.1 组 * 1.2.1 组
* 1.2.2 组 * 1.2.2 组
* 组 1.2.2.1 * 1.2.2.1组
在一个真实的示例中,设想维护一个 GNU / Linux 发行版,其中第一个组是发行版的名称,随后的组按如下所示拆分: 假设维护一个 GNU / Linux 发行版,其中第一个子组织是发行版的名称,随后的子组织则按如下所示拆分:
* Organization Group - GNU/Linux distro * Organization Group - GNU/Linux distro
* 类别子组-包 * 类别子组-包
...@@ -48,102 +35,55 @@ GitLab 支持多达 20 个级别的子组,也称为嵌套组或层次结构组 ...@@ -48,102 +35,55 @@ GitLab 支持多达 20 个级别的子组,也称为嵌套组或层次结构组
* 类别子组-红外线工具 * 类别子组-红外线工具
* (项目)Ansible 剧本 * (项目)Ansible 剧本
Another example of GitLab as a company would be the following: 当执行诸如在子组织之间转移或导入项目的操作时,其行为与在`group/project`级别执行这些操作时的行为相同。
* 组织组-GitLab
* 类别子组-市场营销
* (项目)设计
* (项目)一般
* 类别子组-软件
* (项目)GitLab CE
* (项目)GitLab EE
* (项目)Omnibus GitLab
* (项目)GitLab Runner
* (项目)GitLab Pages 守护程序
* 类别子组-红外线工具
* (项目)厨师食谱
* 类别子组-执行团队
* * *
当执行诸如在子组之间转移或导入项目的操作时,其行为与在`group/project`级别执行这些操作时的行为相同.
## Creating a subgroup[](#creating-a-subgroup "Permalink")
要创建子组,您必须是该组的所有者或维护者,具体取决于该组的设置.
默认情况下,在以下位置创建的组: ## 新建一个子组织[](#新建一个子组织 "Permalink")
* GitLab 12.2 或更高版本允许所有者和维护者创建子组. 要在组织中创建子组织,您必须是该组织的所有者或维护者,具体取决于该组织的设置(默认情况下,允许所有者和维护者创建子组)。
* GitLab 12.1 或更早版本仅允许所有者创建子组.
此设置可以是所有者或管理员的任何组. 有关权限的更多信息,请检查[权限表](../../permissions.html#group-members-permissions) 。有关不允许用作组名的单词列表,请参见[保留名称](../../reserved_names.html) .
有关更多信息,请检查[权限表](../../permissions.html#group-members-permissions) . 有关不允许用作组名的单词列表,请参见[保留名称](../../reserved_names.html) . 如果用户明确地作为所有者(或维护者,如果启用了此设置)被添加到父组织中,则用户始终可以创建子组,即使管理员在其组织设置中禁用了组创建也是如此。
如果将子组明确地作为所有者(或维护者,如果启用了此设置)添加到直接父组,则用户始终可以创建子组,即使管理员在其设置中禁用了组创建也是如此. 您可以通过以下操作创建一个子组织:
要创建一个子组: 1. 在组织详情页中,展开右上角**新建项目**旁的下拉按钮,选择**新建子组织** ,然后单击 **新建子组**按钮;
1. 在组的仪表板中,展开" **新建项目**拆分"按钮,选择" **新建子组"** ,然后单击" **新建子组"**按钮.
[![Subgroups page](img/c3c27ff673c33bcd50004c2adb617d5f.png)](img/create_subgroup_button.png) [![Subgroups page](img/c3c27ff673c33bcd50004c2adb617d5f.png)](img/create_subgroup_button.png)
2. 像平常一样创建一个新组. 请注意,直接父组名称空间在" **组路径"**下是固定的. 可见性级别可以与直接父组不同. 2. 像平常一样直接创建一个新组织。 需要注意的是,父组织名称空间在 **组路径**下是不可修改的,但 可见性级别可以与父组织不同;
[![Subgroups page](img/7fb24fed9f39dcdabb530523bcb8dc08.png)](img/create_new_group.png) [![Subgroups page](img/7fb24fed9f39dcdabb530523bcb8dc08.png)](img/create_new_group.png)
3. 单击**创建组**按钮,您将被带到新组的仪表板页面. 3. 单击**创建组织**按钮
按照相同的过程创建任何后续组.
## Membership[](#membership "Permalink")
将成员添加到子组时,它们将从父组继承成员资格和权限级别. 如果您是其父级成员之一,则该模型允许访问嵌套组.
在亚组可以用乔布斯的管道[运动员](../../../ci/runners/README.html)注册到父组(S). 这意味着为父组配置的机密可用于子组作业. ## 成员身份[](#成员身份 "Permalink")
此外,属于子组的项目的维护者可以查看注册到父组的 Runner 的详细信息. 将成员添加到子组织时,它们将从父组织继承成员资格和权限级别。如果您是其父组织成员之一,则您可以被允许访问该组织下所有的子组织。
成员的组权限只能由所有者更改,并且只能在添加成员的组的" **成员"**页面上进行. 成员的组权限只能由所有者更改,您可以通过查看组织的**组织设置-组织成员设置**页面来确定成员是否从父组织继承了权限。
您可以通过查看组的" **成员"**页面来确定成员是否从父组继承了权限.
[![Group members page](img/e18ff80d06980688066f9ec9404bd2da.png)](img/group_members.png) [![Group members page](img/e18ff80d06980688066f9ec9404bd2da.png)](img/group_members.png)
从上图可以得出以下几点 从上图我们可以了解到
* 有 5 位成员可以访问第`four`组. * 有 5 位成员可以访问第`four`组.
* User0 是一个 Reporter,已从组`four`的层次结构上方的组`one`继承了其权限. * User0 是一个 Reporter,已从组`four`的层次结构上方的组`one`继承了该权限
* 用户 1 是一个开发并已继承组他们的权限`one/two`其是组的层级以上`four` . * User1 是一个开发者,已从组`one/two`的层次结构上方的组`two`继承了该权限
* 用户 2 是一个开发并已继承组他们的权限`one/two/three`这是组的层级以上`four` . * User2 是一个开发者,已从组`one/two/three`的层次结构上方的组`three`继承了该权限
* 对于 User3,没有任何父组的指示,因此它们属于`four`组,即我们正在检查的组. * 对于 User3,没有任何父组织的指示,因此它属于`four`
* 管理员是**所有**子组的所有者和成员,因此,与 User3 一样,没有任何祖先组的迹象. * 管理员是**所有**子组织的所有者和成员,与 User3 一样也没有任何父组织的指示
[](https://gitlab.com/gitlab-org/gitlab/-/issues/21727) GitLab 12.6 中,您可以使用右侧的下拉列表过滤此列表: 您可以使用右侧的下拉列表过滤此列表:
[![Group members filter](img/8215c374294289cd2bd24399439403fd.png)](img/group_members_filter_v12_6.png) [![Group members filter](img/8215c374294289cd2bd24399439403fd.png)](img/group_members_filter_v12_6.png)
* **仅显示直接成员**仅显示 Administrator 和 User3,因为这是属于`four`组的唯一用户,这是我们正在检查的用户. * **仅显示直接成员**仅显示 Administrator 和 User3,因为这是属于`four`组的唯一用户
* **仅显示继承的成员将**显示 User0,User1 和 User2,无论层次结构上方的哪个组都是继承权限的来源. * **仅显示继承的成员**将显示 User0,User1 和 User2,无论层次结构上方的哪个组都可以作为继承权限的来源
### Overriding the ancestor group membership[](#overriding-the-ancestor-group-membership "Permalink")
**注意:**您必须是网上论坛的所有者,才能向其中添加成员.**注意:**子组中的用户权限不能低于其任何祖先组中的权限. 因此,您不能针对子组的祖先组减少用户的权限.
要覆盖用户的祖先组(他们被添加到的第一个组)的成员资格,请将该用户再次以更高的权限集添加到新的子组中. ## 提及子组织[](#提及子组织 "Permalink")
例如,如果首先使用具有开发者权限将 User0 添加到组`group-1/group-1-1` ,则它们将在组`group-1/group-1-1`每个其他子`group-1/group-1-1`继承这些权限. 要为他们提供维护者访问`group-1/group-1-1/group1-1-1` ,您可以将他们再次添加为该维护者. 从该组中删除它们,权限将回退到祖先组的权限. 在Issue,提交和合并请求中提及组织( `@group` )将通知该组的所有成员。当有了子组织后,如果您想拆分组织的结构,将有更精细的支持。提及方式与以前一样,您可以选择要通知的人群.
## Mentioning subgroups[](#mentioning-subgroups "Permalink")
在问题,提交和合并请求中提及组( `@group` )将通知该组的所有成员. 现在有了子组,如果您想拆分组的结构,将有更精细的支持. 提及方式与以前一样,您可以选择要通知的人群.
[![Mentioning subgroups](img/0d1089161431c5f21751458027d84535.png)](img/mention_subgroups.png) [![Mentioning subgroups](img/0d1089161431c5f21751458027d84535.png)](img/mention_subgroups.png)
## Limitations[](#limitations "Permalink")
以下是您无法对子组进行操作的列表:
* [GitLab 页面](../../project/pages/index.html)支持在一个子组下托管的项目,但不支持子组网站下的项目. 这意味着,尽管您可以在子组下拥有项目网站,但是只有最高级别的组才支持[组网站](../../project/pages/getting_started_part_one.html#gitlab-pages-default-domain-names) .
* 不能与作为该项目所属组的祖先的组共享项目.这意味着您只能在沿层次结构走时共享. 例如, `group/subgroup01/project` **不能**`group`共享,但是可以与`group/subgroup02``group/subgroup01/subgroup03`共享.
\ No newline at end of file
# Roadmap
> 原文:[https://docs.gitlab.com/ee/user/group/roadmap/](https://docs.gitlab.com/ee/user/group/roadmap/)
* [Timeline duration](#timeline-duration)
* [Quarters](#quarters)
* [Months](#months)
* [Weeks](#weeks)
* [Roadmap timeline bar](#roadmap-timeline-bar)
# Roadmap[](#roadmap-premium "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.5 中引入.
*[GitLab 12.9 中](https://gitlab.com/gitlab-org/gitlab/-/issues/198062) ,路线图已移至高级层.
*[GitLab 12.9](https://gitlab.com/gitlab-org/gitlab/-/issues/5164)及更高版本中,史诗条显示史诗的标题,进度和完成的重量百分比.
* 里程碑出现在[GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/6802)及更高版本的路线图中.
*[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29641)删除的路线图中可见的里程碑的功能标志.
*[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/214375)和更高版本中,该路线图还显示了组中项目的里程碑.
*[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/212494)和更高版本中,里程碑栏可以折叠和展开.
可以以时间轴(即甘特图)的形式显示包含开始日期或截止日期的组中的史诗和里程碑. "路线图"页面显示了一个组,一个子组或一个组中的一个项目的史诗和里程碑.
在史诗栏上,您可以看到每个史诗的标题,进度和完成的重量百分比. 当您将鼠标悬停在史诗栏上时,将显示一个弹出框,其中包含史诗的标题,开始日期,到期日和完成的权重.
您可以展开包含子级史诗的史诗,以在路线图中显示其子级史诗. 您可以单击人字形( )旁边的史诗标题,以展开和折叠子史诗.
在里程碑栏的顶部,您可以看到其标题. 当您将鼠标悬停在里程碑栏或标题上时,将显示一个带有其标题,开始日期和截止日期的弹出窗口. 您也可以点击 V 形符号( )旁边的" **里程碑"**标题以切换里程碑栏的列表.
[![roadmap view](img/b44c56313892b2d78da86b3f64519a98.png)](img/roadmap_view_v13_2.png)
下拉菜单允许您仅显示打开或关闭的史诗. 默认情况下,显示所有史诗.
[![epics state dropdown](img/9fa8173be554c09a1397ae7e064f24e5.png)](img/epics_state_dropdown_v12_10.png)
您可以通过以下方式在"路线图"视图中对史诗进行排序:
* 创建日期
* 最近更新时间
* 开始日期
* 截止日期
每个选项都包含一个按钮,可在**升序****降序**之间切换排序顺序. 浏览史诗(包括[史诗列表视图)](../epics/index.html)时,排序选项和顺序仍然存在.
路线图也可以[在史诗内部可视化](../epics/index.html#roadmap-in-epics) .
## Timeline duration[](#timeline-duration "Permalink")
版本历史
*[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.0 中引入.
*[GitLab 12.9 中](https://gitlab.com/gitlab-org/gitlab/-/issues/198062) ,时间轴已移至高级层.
路线图支持以下日期范围:
* Quarters
* 月(默认)
* Weeks
### Quarters[](#quarters "Permalink")
[![roadmap date range in quarters](img/ecb561241f5fcf0f0695ee4e29069b11.png)](img/roadmap_timeline_quarters.png)
在" **季度"**预设中,路线图显示史诗和里程碑,其开始或到期日期**在**过去的季度,当前季度和接下来的四个季度**之内****经过**过去的季度,当前季度和接下来的四个季度,其中**今天**由时间轴中的垂直红线显示. 时间轴标题上季度名称下方的子标题代表季度的月份.
### Months[](#months "Permalink")
[![roadmap date range in months](img/e255c03f63cd814a974b54b2a9eb6b02.png)](img/roadmap_timeline_months.png)
在" **月份"**预设中,路线图显示史诗和里程碑,这些史诗和里程碑的开始或到期日期**在**过去一个月,当前月份以及接下来的五个月**之内****经历**过去或六个月,其中**今天**由时间轴中的垂直红线显示. 时间轴标题上月份名称下方的子标题表示一周中开始日期(星期日)的日期. 默认情况下选择此预设.
### Weeks[](#weeks "Permalink")
[![roadmap date range in weeks](img/26b5d3ef6b515c199d6c860ac62a4671.png)](img/roadmap_timeline_weeks.png)
在" **周"**预设中,路线图显示史诗和里程碑,这些史诗和里程碑的开始日期或到期日期**在**过去一周,当前星期和接下来的四个星期**之内****经过**过去一周,当前星期和接下来的四个星期,其中**今天**由时间轴中的垂直红线显示. 时间轴标题上星期名称下方的子标题代表星期几.
## Roadmap timeline bar[](#roadmap-timeline-bar "Permalink")
时间线栏根据史诗或里程碑的开始日期和到期日期指示其大概位置.
\ No newline at end of file
# Projects # 项目[](#项目 "Permalink")
> 原文:[https://docs.gitlab.com/ee/user/project/](https://docs.gitlab.com/ee/user/project/) 您可以创建用于托管代码库的项目,可以通过项目进行 Issue 管理,进行代码协作,并使用内置的 CI / CD 持续构建,测试和部署应用程序。
* [Project features](#project-features) 您可以设置您的项目为[公开](../../public_access/public_access.html)[私有](../../public_access/public_access.html),我们也不限制您创建的私有项目数量。
* [Project integrations](#project-integrations)
* [New project](#new-project) ## 项目功能[](#项目功能 "Permalink")
* [Fork a project](#fork-a-project)
* [Star a project](#star-a-project) 创建项目时,您可以使用众多功能:
* [Explore projects](#explore-projects)
* [Project settings](#project-settings) **代码仓库:**
* [Import or export a project](#import-or-export-a-project)
* [Remove a project](#remove-a-project) * [Issue](issues/index.html) :与您的团队讨论问题内的实现
* [Delayed removal](#delayed-removal-premium) * [看板](issue_board.html) :组织工作流程并确定其优先级
* [CI/CD for external repositories](#cicd-for-external-repositories-premium) * [代码仓库](repository/index.html) :将代码托管在完全集成的平台中
* [Project members](#project-members)
* [Project activity](#project-activity)
* [Leave a project](#leave-a-project)
* [Project’s landing page](#projects-landing-page)
* [Redirects when changing repository paths](#redirects-when-changing-repository-paths)
* [Use your project as a Go package](#use-your-project-as-a-go-package)
* [Disable Go module features for private projects](#disable-go-module-features-for-private-projects)
* [Authenticate Go requests](#authenticate-go-requests)
* [Authenticate Git fetches](#authenticate-git-fetches)
* [Access project page with project ID](#access-project-page-with-project-id)
* [Project aliases](#project-aliases-premium-only)
* [Project APIs](#project-apis)
# Projects[](#projects "Permalink")
在 GitLab 中,您可以创建用于托管代码库的项目,将其用作问题跟踪器,在代码上进行协作,并使用内置的 GitLab CI / CD 持续构建,测试和部署应用程序.
您可以[选择](../../public_access/public_access.html)公开,内部或私有[使用](../../public_access/public_access.html)您的项目. GitLab 不限制您创建的私人项目的数量.
## Project features[](#project-features "Permalink")
在 GitLab 中创建项目时,您将可以使用大量[功能](https://about.gitlab.com/features/)
**Repositories:**
* [问题跟踪器](issues/index.html) :与您的团队讨论问题内的实现
* [发行板](issue_board.html) :组织工作流程并确定其优先级
* [多个发行板](issue_board.html#multiple-issue-boards) :允许您的团队为同一项目创建自己的工作流(发行板)
* [存储库](repository/index.html) :将代码托管在完全集成的平台中
* [分支](repository/branches/index.html) :使用 Git 分支策略在代码上进行协作 * [分支](repository/branches/index.html) :使用 Git 分支策略在代码上进行协作
* [受保护的分支机构](protected_branches.html) :防止协作者弄乱历史记录或在未经审查的情况下推送代码 * [受保护的分支机构](protected_branches.html) :防止协作者弄乱历史记录或在未经审查的情况下推送代码
* [受保护的标签](protected_tags.html) :控制谁有权创建标签,并防止意外更新或删除 * [受保护的标签](protected_tags.html) :控制谁有权创建标签,并防止意外更新或删除
* [储存库镜​​](repository/repository_mirroring.html) * [储存库镜像](repository/repository_mirroring.html)
* [签署提交](gpg_signed_commits/index.html) :使用 GPG 签署您的提交 * [签署提交](gpg_signed_commits/index.html) :使用 GPG 签署您的提交
* [部署令牌](deploy_tokens/index.html) :管理基于项目的部署令牌,这些令牌允许永久访问存储库和 Container Registry. * [部署令牌](deploy_tokens/index.html) :管理基于项目的部署令牌,这些令牌允许永久访问存储库和 Container Registry.
* [Web IDE](web_ide/index.html) * [Web IDE](web_ide/index.html)
**发出和合并请求:** **Release 及合并请求:**
* [问题跟踪器](issues/index.html) :与您的团队讨论问题内的实现 * [Issue](issues/index.html) :与您的团队讨论问题内的实现
* [发行板](issue_board.html) :组织工作流程并确定其优先级 * [发行板](issue_board.html) :组织工作流程并确定其优先级
* [多个发行板](issue_board.html#multiple-issue-boards) :允许您的团队为同一项目创建自己的工作流(发行板)
* [合并请求](merge_requests/index.html) :应用您的分支策略并获得团队的审查 * [合并请求](merge_requests/index.html) :应用您的分支策略并获得团队的审查
* [合并请求批准](merge_requests/merge_request_approvals.html) :实施更改之前[请求批准](merge_requests/merge_request_approvals.html) * [合并请求批准](merge_requests/merge_request_approvals.html) :实施更改之前[请求批准](merge_requests/merge_request_approvals.html)
* [修复 UI 中的合并冲突](merge_requests/resolve_conflicts.html) :直接从 GitLab UI 中使用 Git diff 工具 * [修复合并中的冲突](merge_requests/resolve_conflicts.html) :直接从网页中使用 Git diff 工具
* [审查应用程序](../../ci/review_apps/index.html) :按分支实时预览合并请求中建议的更改结果 * [审查应用程序](../../ci/review_apps/index.html) :按分支实时预览合并请求中建议的更改结果
* [标签](labels.html) :按标签整理问题并合并请求 * [标签](labels.html) :按标签整理问题并合并请求
* [时间跟踪](time_tracking.html) :跟踪估计在完成问题或合并请求上花费的时间和时间 * [时间跟踪](time_tracking.html) :跟踪估计在完成问题或合并请求上花费的时间和时间
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册