如何禁用一种类型的所有服务集成

时间:2019-03-15 15:12:04

标签: gitlab slack gitlab-ce

我已通过管理员界面在gitlab-ce中添加了一个松弛服务模板。一切正常。我激活了“默认情况下处于活动状态”。 结果, all 项目现在将通知推送到主通道中。这些是 lot

更改服务模板配置不会被项目继承。因此有效地使我无法通过管理界面还原设置。

那么,在通用渠道刚刚被gitlab淹没之前,我如何才能禁用所有项目的slack服务集成?

2 个答案:

答案 0 :(得分:1)

后跟issue 40921

  

允许将服务模板应用于所有项目

     

有时用户希望在所有GitLab项目中应用与JIRA相同的集成,当前模板是通过UI进行此操作的唯一方法,但是项目集成模板仅适用于在其后创建的项目。< / strong>

仅解决方法:

  

我也遇到了这个问题。一种解决方法是像这样修补数据库:

sudo gitlab-rails dbconsole
UPDATE services SET properties = replace(properties, 'http://someoldurl.com', 'https://somenewurl.com');

(以适应您的松弛设置:这只是一个示例)

答案 1 :(得分:1)

按照@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;