Aklapper has uploaded a new change for review.
https://gerrit.wikimedia.org/r/233219
Change subject: [WIP] Phabricator project creation/changes log email for Phab
admins
......................................................................
[WIP] Phabricator project creation/changes log email for Phab admins
Bug: T85183
Change-Id: Ib7d9ec92c04012c8ad8821c2a5fba151613f822c
---
M manifests/role/phabricator.pp
A modules/phabricator/templates/project_changes.sh.erb
2 files changed, 97 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/19/233219/1
diff --git a/manifests/role/phabricator.pp b/manifests/role/phabricator.pp
index ee1a04c..1b8967f 100644
--- a/manifests/role/phabricator.pp
+++ b/manifests/role/phabricator.pp
@@ -162,6 +162,14 @@
sndr_address => '[email protected]',
monthday => '1',
}
+
+ # project changes mail (T85183)
+ phabricator::logmail {'projectchanges':
+ script_name => 'project_changes.sh',
+ rcpt_address => '[email protected]',
+ sndr_address => '[email protected]',
+ monthday => [1, 8, 15, 22, 29],
+ }
}
# phabricator instance on wmflabs at phab-0[1-9].wmflabs.org
diff --git a/modules/phabricator/templates/project_changes.sh.erb
b/modules/phabricator/templates/project_changes.sh.erb
new file mode 100644
index 0000000..645bd53
--- /dev/null
+++ b/modules/phabricator/templates/project_changes.sh.erb
@@ -0,0 +1,89 @@
+#!/bin/bash
+# send project changes in Phabricator for the last week
+# to aklapper
+# per T85183
+# ! this file is managed by puppet !
+# ./modules/phabricator/templates/<%= @script_name %>.erb
+
+declare rcpt_address='<%= @rcpt_address %>'
+declare sndr_address='<%= @sndr_address %>'
+
+declare sql_host='<%= @mysql_host %>'
+declare sql_user='<%=
scope.lookupvar('passwords::mysql::phabricator::metrics_user') %>'
+declare sql_name='phabricator_project'
+declare sql_pass='<%=
scope.lookupvar('passwords::mysql::phabricator::metrics_pass') %>'
+
+#echo "result_creations_and_name_changes"
+result_creations_and_name_changes=$(MYSQL_PWD=${sql_pass} /usr/bin/mysql -h
$sql_host -u $sql_user $sql_name << END
+
+SELECT oldValue, newValue
+ FROM project_transaction
+ WHERE transactionType = "project:name"
+ AND dateModified > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK));
+
+END
+)
+
+#echo "result_color_changes"
+result_color_changes=$(MYSQL_PWD=${sql_pass} /usr/bin/mysql -h $sql_host
-u$sql_user $sql_name << END
+
+SELECT project_transaction.oldValue, project_transaction.newValue, project.name
+ FROM project_transaction
+ JOIN project
+ WHERE project_transaction.transactionType = "project:color"
+ AND project_transaction.objectPHID = project.phid
+ AND project_transaction.dateModified > UNIX_TIMESTAMP(DATE_SUB(NOW(),
INTERVAL 1 WEEK));
+
+END
+)
+
+#echo "result_policy_locking_archiving_changes"
+result_policy_locking_archiving_changes=$(MYSQL_PWD=${sql_pass} /usr/bin/mysql
-h $sql_host -u$sql_user $sql_name << END
+
+SELECT project_transaction.oldValue, project_transaction.newValue,
+ project_transaction.transactionType, project.name
+ FROM project_transaction
+ JOIN project
+ WHERE (project_transaction.transactionType = "core:join-policy"
+ OR project_transaction.transactionType = "core:edit-policy"
+ OR project_transaction.transactionType = "core:view-policy"
+ OR project_transaction.transactionType = "project:locked"
+ OR project_transaction.transactionType = "project:status")
+ AND project_transaction.objectPHID = project.phid
+ AND project_transaction.dateModified > UNIX_TIMESTAMP(DATE_SUB(NOW(),
INTERVAL 1 WEEK));
+
+END
+)
+
+
+creations_and_name_changes=$(echo $result_creations_and_name_changes)
+color_changes=$(echo $result_color_changes)
+policy_locking_archiving_changes=$(echo
$result_policy_locking_archiving_changes)
+
+
+# the actual email
+cat <<EOF | /usr/bin/mail -r "${sndr_address}" -s "Phabricator weekly project
changes" ${rcpt_address}
+
+Hi Phabricator admin,
+
+this is your automatic weekly Phabricator project changes mail.
+
+
+PROJECT CREATIONS AND PROJECT NAME CHANGES:
+${creations_and_name_changes}
+
+
+PROJECT COLOR CHANGES:
+${color_changes}
+
+
+PROJECT POLICY/LOCKING/ARCHIVING CHANGES:
+${policy_locking_archiving_changes}
+
+
+
+Yours sincerely,
+Fab Rick Aytor
+
+(via $(basename $0) on $(hostname) at $(date))
+EOF
--
To view, visit https://gerrit.wikimedia.org/r/233219
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib7d9ec92c04012c8ad8821c2a5fba151613f822c
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Aklapper <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits