-
Notifications
You must be signed in to change notification settings - Fork 62
/
config-sample.edn
147 lines (119 loc) · 4.79 KB
/
config-sample.edn
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
{:doc "Rename this file to config.edn and fill in the blanks. config.edn is
already .gitignored. If you don't configure a specific node, it will not
be enabled at runtime. All config is optional depending on what you want
your yetibot to be able to do, except for at least one of the chat
adapters (Slack, IRC, or Campfire)."
:yetibot
{
:logging {:log-level :debug}
:db {:doc "yetibot runs an in-memory Datomic database by default, which will
dissapear on shutdown. Point it to your own running transactor if
you'd like persistent history and other features (e.g. aliases,
statuses)."
:datomic-url "datomic:mem://yetibot"}
:adapters-doc
"yetibot can listen on multiple adapters. Current adapter types are: Slack,
Campfire and IRC.
:name is used as a uuid so it must be unique to this Yetibot. The uuid is
used by the API to post messages to the correct instance, and also used to
store room configuration for each adapter config. If you change it, all your
room configuration will be lost (unless you manually update the config with
the changed uuid).
Each config map must have:
- a :type key with value :slack or :irc
- a :name key with a unique value (i.e. uuid)"
:adapters
[{:name "company-slack" :type :slack :token "xoxb-4242424242424242"}
{:name "side-project-slack" :type :slack :token "xoxb-9999999999999999"}
{:name "freenode-irc" :type :irc :host "" :port "" :username "yetibot"
:rooms #{"#yetibot" "#clojure"}}]
:api
{
;; enable gif lookups with the `giphy` command
:giphy {:api-key "sdfsdfsfd"}
;; enables ebay searches with the `ebay` command
:ebay {:app-id ""}
;; `gh` command
:github {:doc ":endpoint is optional: only specify if using GitHub enterprise."
:token ""
:org ""
:endpoint ""}
;; `jira`
:jira {:domain ""
:user ""
:password ""
:default-issue-type-id "3",
:sub-task-issue-type-id "27",
:projects {"FOO" {:default-version-id "42"}}
:default-project-key "Optional"}
:s3 {:access-key ""
:secret-key ""}
}
:models
{
;; used to generate memes with the `meme` command
:imgflip {:username "" :password ""}
;; send and receive emails with `mail`
:mail {:host ""
:user ""
:pass ""
:from ""
:bcc ""}
;; stream tweets from followers and followed topics directly into chat, and
;; post tweets
:twitter {:consumer-key ""
:consumer-secret ""
:token ""
:secret ""
:doc ":search_lang uses ISO 639-1 code:
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes"
:search_lang "en"}
:jenkins
{:doc "Multiple Jenkins instances can be configured. They can also be
configured at runtime, which writes to this config file. Only one
`default-job` is supported—if multiple are specified, the first one
wins."
:cache-ttl 3600000
:instances {:inst-name {:uri ""
:doc "If your Jenkins doesn't require auth, set user
and api-key to some non-blank value in order
to pass the configuration check."
:user ""
:api-key ""}
:other-inst-name {:uri ""
:default-job ""
:user ""
:api-key ""}}}
}
:commands
{
:eval {:doc "Set of Strings: Campfire IDs or IRC users (which have ~
prefixes) of users who can use the yetibot `eval` command."
:privs #{"123", "~awesomeperson"}}
:features {:doc "Configure GitHub if you have your own fork of the yetibot
repo. This will allow opening feature requests on your
fork."
:github {:token ""
:user ""}}
:ssh {:doc "SSH servers are specified in groups so that multiple
servers which share usernames and keys don't need to
each specify duplicate config. Fill in your own
key-names below instead of `:server-a-host`. This is
the short name that the ssh command will refer to, e.g.:
`ssh server-a-host ls -al`."
:groups [{:key-file ""
:user ""
:servers {:server-a-host "" :server-b-host ""}}
{:key-file ""
:user ""
:servers {:server- ""}}]}
;; `weather` command
:weather {:wunderground-api-key ""
:default-zip ""}
;; `wolfram`
:wolfram {:app-id ""}
;; `wordnik` dictionary
:wordnik {:api-key ""}
}
}
}