Browse Source

Merge branch 'omarsy-devel' into devel

Lauri Ojansivu 6 năm trước cách đây
mục cha
commit
d0731a4bf4
5 tập tin đã thay đổi với 21 bổ sung7 xóa
  1. 3 1
      Dockerfile
  2. 3 0
      docker-compose.yml
  3. 4 5
      server/notifications/outgoing.js
  4. 5 1
      snap-src/bin/config
  5. 6 0
      snap-src/bin/wekan-help

+ 3 - 1
Dockerfile

@@ -17,6 +17,7 @@ ARG MATOMO_DO_NOT_TRACK
 ARG MATOMO_WITH_USERNAME
 ARG BROWSER_POLICY_ENABLED
 ARG TRUSTED_URL
+ARG WEBHOOKS_ATTRIBUTES
 
 # Set the environment variables (defaults where required)
 # DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
@@ -36,7 +37,8 @@ ENV BUILD_DEPS="apt-utils gnupg gosu wget curl bzip2 build-essential python git
     MATOMO_DO_NOT_TRACK=true \
     MATOMO_WITH_USERNAME=false \
     BROWSER_POLICY_ENABLED=true \
-    TRUSTED_URL=""
+    TRUSTED_URL="" \
+    WEBHOOKS_ATTRIBUTES=""
 
 # Copy the app to the image
 COPY ${SRC_PATH} /home/wekan/app

+ 3 - 0
docker-compose.yml

@@ -60,6 +60,9 @@ services:
       - BROWSER_POLICY_ENABLED=true
       # When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
       - TRUSTED_URL=''
+      # What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
+      # example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
+      - WEBHOOKS_ATTRIBUTES=''
     depends_on:
       - wekandb
 

+ 4 - 5
server/notifications/outgoing.js

@@ -8,6 +8,8 @@ const postCatchError = Meteor.wrapAsync((url, options, resolve) => {
   });
 });
 
+const webhooksAtbts = ( (process.env.WEBHOOKS_ATTRIBUTES && process.env.WEBHOOKS_ATTRIBUTES.split(',') ) || ['cardId', 'listId', 'oldListId', 'boardId', 'comment', 'user', 'card', 'commentId']);
+
 Meteor.methods({
   outgoingWebhooks(integrations, description, params) {
     check(integrations, Array);
@@ -19,7 +21,7 @@ Meteor.methods({
       if (quoteParams[key]) quoteParams[key] = `"${params[key]}"`;
     });
 
-    const userId = (params.userId)?params.userId:integrations[0].userId;
+    const userId = (params.userId) ? params.userId : integrations[0].userId;
     const user = Users.findOne(userId);
     const text = `${params.user} ${TAPi18n.__(description, quoteParams, user.getLanguage())}\n${params.url}`;
 
@@ -29,10 +31,7 @@ Meteor.methods({
       text: `${text}`,
     };
 
-    [   'cardId', 'listId', 'oldListId',
-      'boardId', 'comment', 'user',
-      'card', 'commentId',
-    ].forEach((key) => {
+    webhooksAtbts.forEach((key) => {
       if (params[key]) value[key] = params[key];
     });
     value.description = description;

+ 5 - 1
snap-src/bin/config

@@ -3,7 +3,7 @@
 # All supported keys are defined here together with descriptions and default values
 
 # list of supported keys
-keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL"
+keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES"
 
 # default values
 DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
@@ -77,3 +77,7 @@ KEY_BROWSER_POLICY_ENABLED="browser-policy-enabled"
 DESCRIPTION_TRUSTED_URL="When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside."
 DEFAULT_TRUSTED_URL=""
 KEY_TRUSTED_URL="trusted-url"
+
+DESCRIPTION_WEBHOOKS_ATTRIBUTES="What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId ."
+DEFAULT_WEBHOOKS_ATTRIBUTES=""
+KEY_WEBHOOKS_ATTRIBUTES="webhooks-attributes"

+ 6 - 0
snap-src/bin/wekan-help

@@ -47,6 +47,12 @@ echo -e "\t$ snap set $SNAP_NAME TRUSTED_URL='https://example.com'"
 echo -e "\t-Disable the Trusted URL of Wekan:"
 echo -e "\t$ snap set $SNAP_NAME TRUSTED_URL=''"
 echo -e "\n"
+echo -e "What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId ."
+echo -e "To enable the Webhooks Attributes of Wekan:"
+echo -e "\t$ snap set $SNAP_NAME WEBHOOKS_ATTRIBUTES='cardId,listId,oldListId,boardId,comment,user,card,commentId'"
+echo -e "\t-Disable the Webhooks Attributest of Wekan to send all default ones:"
+echo -e "\t$ snap set $SNAP_NAME WEBHOOKS_ATTRIBUTES=''"
+echo -e "\n"
 # parse config file for supported settings keys
 echo -e "wekan supports settings keys"
 echo -e "values can be changed by calling\n$ snap set $SNAP_NAME <key name>='<key value>'"