dug 0.1.0.alpha2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +35 -13
- data/lib/dug/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d92695864762a5b6667cb71be82f5655118bed7
|
4
|
+
data.tar.gz: 03a4ae0c0d2ebc6b2622a84ce2b9bc2d3ae0500e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec5f7374bf6513f68903ccef656b0d1825cf6c8df350c20396bf89b4e4bfbb49e508b9789100a52d8ad99004b9191aaa56521eb90d5d327500f6c3443ecefb3b
|
7
|
+
data.tar.gz: ca0c3d4b18afa6c6d76a9b9641143f402f71abd963c0fb463e0d3c664d8e977967fc9486e09c5b9c4e56095abb647ae7d441ace680321ff56279602e64c7f59c
|
data/README.md
CHANGED
@@ -6,13 +6,14 @@
|
|
6
6
|
|
7
7
|
Created out of frustration. _"[D]amn yo[u], [G]mail!"_
|
8
8
|
|
9
|
-
**Dug is a simple, configurable gem to organize your GitHub notification emails
|
10
|
-
ways Gmail can't and in an easier-to-
|
11
|
-
Gmail API to do all the things that
|
12
|
-
|
13
|
-
|
14
|
-
"Commented", etc.
|
9
|
+
**Dug is a simple, configurable gem to organize your GitHub notification emails
|
10
|
+
in ways Gmail can't and in an easier-to-maintain way than large, slow Google
|
11
|
+
Apps Scripts.** It interacts with Google's Gmail API to do all the things that
|
12
|
+
people usually do with Gmail filters (label by organization name, repository
|
13
|
+
name) as well as parse GitHub's custom X headers to label your messages with
|
14
|
+
things like "Mentioned by name", "Assigned to me", "Commented", etc.
|
15
15
|
|
16
|
+
![](http://screenshots.chrisarcand.com/permxqkc5.jpg)
|
16
17
|
|
17
18
|
## Quick Installation
|
18
19
|
|
@@ -23,13 +24,13 @@ whatever).
|
|
23
24
|
|
24
25
|
Basic installation steps:
|
25
26
|
|
26
|
-
1. Install Dug
|
27
|
+
1. **Install Dug**
|
27
28
|
|
28
29
|
```
|
29
30
|
$ gem install dug
|
30
31
|
```
|
31
32
|
|
32
|
-
2. Create a YAML Rule file
|
33
|
+
2. **Create a YAML Rule file.** Example (`dug_rules.yml`):
|
33
34
|
|
34
35
|
```
|
35
36
|
---
|
@@ -63,12 +64,24 @@ Basic installation steps:
|
|
63
64
|
* Label notifications with `Team mention` if a team I am a part of is mentioned in it.
|
64
65
|
* Label notifications with `Assigned to me` if the Issue/PR is assigned to me.
|
65
66
|
|
66
|
-
3.
|
67
|
+
3. **Configure Gmail.** In Gmail...
|
67
68
|
|
68
|
-
|
69
|
+
* Create the label "GitHub" and then "Unprocessed" nested underneath it (will show up as "GitHub/Unprocessed").
|
70
|
+
* Create all of the labels in the preceding step if you don't have them already.
|
71
|
+
* Set up the following filters:
|
72
|
+
```
|
73
|
+
Matches: from:(notifications@github.com)
|
74
|
+
Do this: Apply label "GitHub/Unprocessed"
|
75
|
+
|
76
|
+
# This filter is optional but highly recommended.
|
77
|
+
Matches: from:(notifications@github.com) -{cc: youremail@example.non}
|
78
|
+
Do this: Skip Inbox
|
79
|
+
```
|
80
|
+
|
81
|
+
4. **Create a project in the [Google Developers Console](https://console.developers.google.com)** to authenticate to the
|
69
82
|
Gmail API via OAuth 2.0. If you need help, detailed instructions are included further in this document.
|
70
83
|
|
71
|
-
5. Create a script
|
84
|
+
5. **Create a runner script.** Example (`script.rb`; fill in your OAuth credentials):
|
72
85
|
|
73
86
|
```ruby
|
74
87
|
require 'dug'
|
@@ -85,7 +98,7 @@ Basic installation steps:
|
|
85
98
|
Dug::Runner.run
|
86
99
|
```
|
87
100
|
|
88
|
-
6. Run the script and watch your notifications get organized! The first time your run this you will be given a link to
|
101
|
+
6. **Run the script** and watch your notifications get organized! The first time your run this you will be given a link to
|
89
102
|
visit in your browser to sign in to Gmail verify via a one time token.
|
90
103
|
|
91
104
|
```
|
@@ -96,7 +109,10 @@ Basic installation steps:
|
|
96
109
|
just write a loop in your script `loop do; Dug::Runner.run; sleep 60; end`. How you run it is completely up to you,
|
97
110
|
and really doesn't matter.
|
98
111
|
|
99
|
-
|
112
|
+
Woo, you're done! Now organizing GitHub notifications, after you subscribe to something on GitHub, is as easy as making
|
113
|
+
a label and adding it to your rules YAML.
|
114
|
+
|
115
|
+
**For more help, see verbose instructions below.**
|
100
116
|
|
101
117
|
## Verbose Installation/Usage
|
102
118
|
|
@@ -171,6 +187,12 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
171
187
|
`rake test` to run the tests. You can also run `bin/console` for an interactive
|
172
188
|
prompt that will allow you to experiment.
|
173
189
|
|
190
|
+
## TODO
|
191
|
+
* Add option to parse message body for labelling
|
192
|
+
* Add more built-in reasons such as "Closed" statuses
|
193
|
+
* The Google Auth Library has an API for Redis that could be supported easily.
|
194
|
+
* Moar tests, plz
|
195
|
+
|
174
196
|
## Contributing
|
175
197
|
|
176
198
|
Bug reports and pull requests are welcome on GitHub at https://github.com/chrisarcand/dug.
|
data/lib/dug/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Arcand
|
@@ -106,9 +106,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
106
|
version: '0'
|
107
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- - "
|
109
|
+
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
111
|
+
version: '0'
|
112
112
|
requirements: []
|
113
113
|
rubyforge_project:
|
114
114
|
rubygems_version: 2.5.1
|