我已经通过管理员界面向我的 gitlab-ce 添加了一个松弛服务模板。一切正常。我激活了“默认激活”。因此,所有项目现在都将通知推送到主渠道。这些很多。
更改服务模板配置不会被项目继承。因此有效地使我无法通过管理 UI 恢复设置。
那么,我该如何禁用所有项目的 slack 服务集成,以免因为通用渠道被 gitlab 淹没而让我们所有人发疯?
接下来是问题 40921:
允许将服务模板应用于所有项目
有时用户希望在所有 GitLab 项目中应用与 JIRA 相同的集成,目前模板是通过 UI 实现此目的的唯一方法,但项目集成模板仅适用于在其之后创建的项目。
唯一的解决方法:
我也有这个问题。一种解决方法是像这样修补数据库:
sudo gitlab-rails dbconsole UPDATE services SET properties = replace(properties, 'http://someoldurl.com', 'https://somenewurl.com');
(适应您的松弛设置:这只是一个示例)
按照@VonC 的建议深入 psql 并破解我的方法,我终于运行以下命令来禁用相关服务的活动标志(在我们的例子中是松弛和最重要的):
sudo gitlab-rails dbconsole
UPDATE "services" SET active = FALSE WHERE type LIKE 'SlackService' AND active = TRUE;
UPDATE "services" SET active = FALSE WHERE type LIKE 'SlackSlashCommandsService' AND active = TRUE;
UPDATE "services" SET active = FALSE WHERE type LIKE 'MattermostService' AND active = TRUE;
UPDATE "services" SET active = FALSE WHERE type LIKE 'MattermostSlashCommandsService' AND active = TRUE;