-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.clj
116 lines (110 loc) · 5.52 KB
/
config.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
;; Copyright (c) 2022-2023 Bastien Guerry <[email protected]>
;; SPDX-License-Identifier: EPL-2.0
;; License-Filename: LICENSES/EPL-2.0.txt
(ns bzg.config)
(def defaults
{ ;; Default relative directory where to store the database
:db-dir ".db"
;; Default theme for the web interface
:theme "bulma"
;; UI accepted languages so far: en, fr
:lang "en"
;; Default log file name
:log-file "log.txt"
;; Where to store logs?
;; :file means to store in :log-file
;; :db means to store in the database
;; :mail means to enable sending emails on log errors
:log [:file :mail]
;; What reports should Woof watch?
;;
;; Available: :change :release :announcement :blog :bug :patch :request
;;
;; Each report entry is a map with
;; :subject-prefix : accepted subject prefixes
;; :subject-match : a string in the subject to trigger a report
;; :doc : the documentation for this report type
;; :display-newer-than : Don't display reports if older than (in days)
;; :display-max : Don't display more than X reports
;; :triggers : a map of possible "triggers", i.e. terms in the body
;; of an email that trigger a report update.
;;
;; :triggers is a map of:
;; :acked : array of terms to "ack" a report
;; :owned : array of terms to "own" (i.e. assign to yourself) a report
;; :closed : array of terms to "close" a report (fixed, done, canceled, etc.)
;;
;; TODO: You can help enhancing tests
:watch {:change {:subject-prefix ["CHANGE"]
:subject-match []
:doc ""
:display-newer-than 100
:triggers {:closed ["Canceled"]}}
:release {:subject-prefix ["RELEASE" "REL"]
:subject-match []
:doc ""
:triggers {:closed ["Canceled"]}}
:announcement {:subject-prefix ["ANNOUCEMENT" "ANN"]
:subject-match []
:doc ""
:triggers {:closed ["Canceled"]}
:display-max 20}
:blog {:subject-prefix ["BLOG" "TIP"]
:subject-match []
:doc ""
:triggers {:closed ["Canceled"]}
:display-max 20}
:bug {:subject-prefix ["BUG"]
:subject-match []
:doc ""
:triggers {:acked ["Approved" "Confirmed"]
:owned ["Handled"]
:closed ["Canceled" "Fixed"]}}
:patch {:subject-prefix ["PATCH"]
:subject-match []
:doc ""
:triggers {:acked ["Approved" "Reviewed"]
:owned ["Handled"]
:closed ["Canceled" "Applied"]}}
:request {:subject-prefix ["FP" "FR" "RFC" "RFE" "TASK" "POLL"]
:subject-match []
:doc ""
:triggers {:acked ["Approved"]
:owned ["Handled"]
:closed ["Canceled" "Done" "Closed"]}}}
;; A set of priority words that trigger a report update
;;
;; Note that "Un" "Not " "Non " "Non-" "Not-" are prefixes for
;; indicating opposite: Unimportant is the opposite of important.
;;
;; If you configure this, you need to
;; use "Un" "Not " "Non " "Non-" "Not-" as indicating opposite.
:priority-words-all #{"Important" "Not important" "Unimportant"
"Urgent" "Not urgent" "Non urgent" "Non-urgent"}
;; Default permissions for admins, maintainers and contributor.
:permissions
{:admin #{:add-admin :remove-admin
:add-feature :remove-feature
:remove-maintainer :undelete :unignore
:global-notifications}
:maintainer #{:maintenance :add-maintainer :delete :ignore
:change :release :announcement}
:contributor #{:notifications :home :support
:bug :patch :request :blog}}
;; Configuration triggers
:admin-report-triggers
{:notifications "Notifications" ; Receive email notifications?
:home "Home" ; Set your homepage
:support "Support" ; Set your support page
:add-maintainer "Add maintainer" ; Add maintainer [email protected]
:delete "Delete" ; Delete past reports from a user
:undelete "Undelete" ; Undelete past reports from a user
:ignore "Ignore" ; Ignore future reports from a user
:unignore "Unignore" ; Don't ignore reports from a user
:add-admin "Add admin" ; Add admin [email protected]
:remove-admin "Remove admin" ; Remove admin [email protected]
:remove-maintainer "Remove maintainer" ; Remove maintainer [email protected]
:maintenance "Maintenance" ; Put the application under maintenance
:global-notifications "Global notifications" ; Turn notifications globally on/off
}
})