Integration form part of DingTalk Robot Command
Problem to solve
Connect DingTalk user with Gitlab self-manage instance.
discussion with upstream https://gitlab.com/gitlab-org/gitlab/-/issues/354069
演示视频 https://drive.google.com/file/d/15tbFD0gPGntbjNQB4mJyEGDJsgC85X8o/view?usp=sharing
@lpeng1991 please confirm about the help text
in this tory
Task List
-
add feature flag ding_talk_integration
, enable it by default. -
add migration for Application_settings
model, add columnding_talk_enabled
,ding_talk_app_key
andding_talk_app_secret
-
add DingTalk integration settings
onAdmin General Settings
, only visible for self manage, invisible for saas -
add migration for Integrations::DingTalkTrackerData
as data field, which link toIntegrations::DingTalk
, also defineIntegrations::DingTalk
-
override Integration class method integration_names
, to add dingtalk inside -
override Gitlab::Integrations::StiType method namespaced_integrations
, to add dingtalk inside -
do not accept create dingtalk integration from rest api -
define property organization_id
inIntegrations::DingTalk
, definefields
method inside -
show Integrations::DingTalk
on integration list, only for self manage, invisible for saas -
add validation in Integrations::DingTalk
, onlyself manage and instance level
can be created, cannot updated when project & group level.
-
-
define api endpoint for receive dingtalk message -
check ding talk is enable or not in application setting -
check Integrations::DingTalk
is created on instance level -
check ChatName
mapping to specific dingtalk user id
-
由 毛超 编辑于