git_notified_on_trello 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +8 -8
- data/README.md +75 -22
- data/deploy.sh +43 -0
- data/docs/trello-get-oauth-url-wizard.sh +34 -0
- data/git_notified_on_trello.gemspec +4 -4
- data/lib/git_notified_on_trello.rb +1 -0
- data/lib/git_notified_on_trello/version.rb +1 -1
- data/spec/lib/git_notified_on_trello_spec.rb +6 -0
- metadata +15 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f179eca101f5089f27be964a69d56f54519be24f
|
4
|
+
data.tar.gz: 48854e79435d079fe6fc689334e8b9b1c6384ead
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbfedf4988898b7fdc1f85a9e68f95fa54e85de0b9bebb163ba114ae9afcaab897014fde11f9075d0a108d1755a7e0e4bcd1d6d22108fec3c7c3d3042ff69439
|
7
|
+
data.tar.gz: 4d12fd2ac71d5c9a832dac137e9bd92e1a51d35ae8edea6a71395ae6b633997e7116ccd8997113e12f5dbf29d9819fc6bf2c9317d5c1617825308719a690019e
|
data/.travis.yml
CHANGED
@@ -11,11 +11,11 @@ cache:
|
|
11
11
|
|
12
12
|
install: bundle install --jobs=3 --retry=3
|
13
13
|
|
14
|
-
deploy:
|
15
|
-
provider: rubygems
|
16
|
-
api_key: "38d57d2ad2520318f2155c1cc717925f"
|
17
|
-
gem:
|
18
|
-
master: git_notified_on_trello
|
19
|
-
on:
|
20
|
-
tags: true
|
21
|
-
branch: master
|
14
|
+
#deploy:
|
15
|
+
# provider: rubygems
|
16
|
+
# api_key: "38d57d2ad2520318f2155c1cc717925f"
|
17
|
+
# gem:
|
18
|
+
# master: git_notified_on_trello
|
19
|
+
# on:
|
20
|
+
# tags: true
|
21
|
+
# branch: master
|
data/README.md
CHANGED
@@ -4,36 +4,89 @@ git_notified_on_trello
|
|
4
4
|
Get notified of pushes to a Git Repo with updates to relevant Trello cards
|
5
5
|
|
6
6
|
|
7
|
-
Setup
|
8
|
-
-----
|
7
|
+
### Setup ###
|
9
8
|
|
10
|
-
|
11
|
-
-
|
9
|
+
To enable posting to Trello, you must get authorization to post on behalf of a user.
|
12
10
|
|
11
|
+
Trello makes this very easy.
|
13
12
|
|
14
|
-
|
13
|
+
You can read more on the [Trello API Documentation](https://trello.com/docs/) pages, but here's the quick-start:
|
14
|
+
|
15
|
+
|
16
|
+
1. Generate (or view it if you've already created one) your developer key [https://trello.com/1/appKey/generate](https://trello.com/1/appKey/generate)
|
17
|
+
|
18
|
+
2. Generate a consumer key / member token
|
19
|
+
- Replace YOUR_API_KEY with the key received above
|
20
|
+
- Replace YOUR_APP_NAME with the friendly name you'd like to display to users
|
21
|
+
- Modify *scope* and *expiration* for your needs
|
22
|
+
|
23
|
+
Template: https://trello.com/1/authorize?key=YOUR_API_KEY&name=YOUR_APP_NAME&response_type=token&scope=read,write,account&expiration=never
|
24
|
+
|
25
|
+
More information can be found on Trello [Getting a Token From a User](https://trello.com/docs/gettingstarted/index.html#getting-a-token-from-a-user)
|
26
|
+
|
27
|
+
|
28
|
+
Here's a wizard that'll walk you through generating the URL:
|
29
|
+
|
30
|
+
```bash
|
31
|
+
curl -sSfL https://raw.githubusercontent.com/smj10j/git_notified_on_trello/master/docs/trello-get-oauth-url-wizard.sh | /bin/bash
|
32
|
+
```
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
### Installation ###
|
38
|
+
|
39
|
+
```bash
|
40
|
+
gem install git_notified_on_trello
|
41
|
+
```
|
15
42
|
|
16
|
-
- provide example usage
|
17
|
-
- clean up and comment a bit
|
18
|
-
- package into a gem
|
19
|
-
- make idempotent
|
20
|
-
- make a plugin for jenkins
|
21
|
-
- send two separate messages
|
22
|
-
- on commit, as it does now
|
23
|
-
- on deploy
|
24
|
-
- style the comments with some fancy markdown
|
25
43
|
|
26
44
|
|
27
|
-
|
28
|
-
DEVELOPER_KEY="16f7525a7039ee80c23365e648b8a542" \
|
29
|
-
MEMBER_TOKEN="" \
|
30
|
-
./bin/gnot -a "Stephen Johnson" -b "feature-git-notified-on-trello" -c "3463457" -m " Is it useful?\n\nhttps://trello.com/c/hR3cSUiu/1189-git-trello-plugin \nLine break on the shell like a normal commit messages would be.\n\nLet's try some *markdown*\n-------------------------\n"
|
45
|
+
### Usage ###
|
31
46
|
|
32
47
|
|
48
|
+
#### As a gem within your project ####
|
33
49
|
|
50
|
+
```ruby
|
51
|
+
require 'git_notified_on_trello'
|
52
|
+
|
53
|
+
notifier = GitNotifiedOnTrello::Notifier.new(
|
54
|
+
:developer_public_key => <YOUR TRELLO DEV KEY>,
|
55
|
+
:member_token => <A TRELLO MEMBER TOKEN>,
|
56
|
+
:debug => true
|
57
|
+
)
|
58
|
+
notifier.notify(
|
59
|
+
"feature-git-notified-on-trello", // Branch
|
60
|
+
"b7cb566c2310697f401c51433dce6b6399429fdb", // Commit hash
|
61
|
+
"Stephen Johnson", // Commit author
|
62
|
+
"Updated the readme per https://trello.com/c/hR3cSUiu/1189-git-trello-plugin" // Commit message
|
63
|
+
)
|
64
|
+
```
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
#### On the command-line ####
|
69
|
+
|
70
|
+
```bash
|
71
|
+
DEVELOPER_KEY="<YOUR TRELLO DEV KEY>" \
|
72
|
+
MEMBER_TOKEN="<A TRELLO MEMBER TOKEN>" \
|
73
|
+
gnot \
|
74
|
+
-b "feature-git-notified-on-trello" \
|
75
|
+
-c "b7cb566c2310697f401c51433dce6b6399429fdb" \
|
76
|
+
-a "Stephen Johnson" \
|
77
|
+
-m "Updated the readme per https://trello.com/c/hR3cSUiu/1189-git-trello-plugin"
|
78
|
+
```
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
### TODO ###
|
34
84
|
|
35
|
-
|
36
|
-
|
85
|
+
- Clean up and comment a bit
|
86
|
+
- Make idempotent and add function to watch a git repo for commits
|
87
|
+
- Make a plugin for Jenkins
|
88
|
+
- Send two separate messages
|
89
|
+
- On commit, as it does now
|
90
|
+
- On deploy
|
91
|
+
- Add tests...
|
37
92
|
|
38
|
-
# If you'd like to use your own application, replace the above with this:
|
39
|
-
# https://trello.com/1/authorize?key=YOUR_API_KEY&name=YOUR_APP_NAME&response_type=token&scope=read,write,account&expiration=never
|
data/deploy.sh
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
VERSION_FILE="lib/git_notified_on_trello/version.rb"
|
4
|
+
|
5
|
+
# Extract the version into something we can work with
|
6
|
+
V=$(cat "$VERSION_FILE" | awk '/VERSION/ {print $3}' | tr -d '"')
|
7
|
+
VERSION=${V:0:1}
|
8
|
+
MAJOR=${V:2:1}
|
9
|
+
MINOR=${V:4:1}
|
10
|
+
|
11
|
+
# Do the version bump
|
12
|
+
if [[ $MINOR -lt 9 ]]; then
|
13
|
+
MINOR=$(( $MINOR + 1 ))
|
14
|
+
elif [[ $MAJOR -lt 9 ]]; then
|
15
|
+
MINOR=0
|
16
|
+
MAJOR=$(( $MAJOR + 1 ))
|
17
|
+
else
|
18
|
+
MINOR=0
|
19
|
+
MAJOR=0
|
20
|
+
VERSION=$(( $VERSION + 1 ))
|
21
|
+
fi
|
22
|
+
|
23
|
+
# Get the version back into a string
|
24
|
+
TAG="$VERSION.$MAJOR.$MINOR"
|
25
|
+
echo "Releasing gem with tag $TAG"
|
26
|
+
|
27
|
+
# Update the version file
|
28
|
+
sed -i 's/\(.*\)VERSION = .*/\1VERSION = "'$TAG'"/' "$VERSION_FILE"
|
29
|
+
|
30
|
+
# Commit the changes for the bump
|
31
|
+
git add $VERSION_FILE
|
32
|
+
git commit -m "Release $TAG"
|
33
|
+
git push
|
34
|
+
|
35
|
+
# Tag the release
|
36
|
+
git tag "$TAG"
|
37
|
+
git push --tags
|
38
|
+
|
39
|
+
# Make it so
|
40
|
+
rake release
|
41
|
+
|
42
|
+
|
43
|
+
echo "Done!"
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
echo -n "Press any key to open Trello. Log in if prompted, copy your developer API key, and return to this window."
|
4
|
+
read -e < /dev/tty
|
5
|
+
open https://trello.com/1/appKey/generate
|
6
|
+
|
7
|
+
echo -n "Paste your developer key: "
|
8
|
+
read -e developer_key < /dev/tty
|
9
|
+
|
10
|
+
echo -n "Friendly app name: "
|
11
|
+
read -e app_name < /dev/tty
|
12
|
+
|
13
|
+
echo -n "Scope (default: read,write,account): "
|
14
|
+
read -e scope < /dev/tty
|
15
|
+
|
16
|
+
echo -n "Expiration (default: never): "
|
17
|
+
read -e expiration < /dev/tty
|
18
|
+
|
19
|
+
url="https://trello.com/1/authorize?\
|
20
|
+
key=${developer_key}&\
|
21
|
+
name=$(echo $app_name | perl -lpe 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg')&\
|
22
|
+
response_type=token&\
|
23
|
+
scope=${scope:=read,write,account}&\
|
24
|
+
expiration=${expiration:=never}"
|
25
|
+
echo ""
|
26
|
+
echo "URL to direct users to when asking for authorization: $url"
|
27
|
+
echo ""
|
28
|
+
echo -n "Press any key to open the URL in your browser."
|
29
|
+
read -e < /dev/tty
|
30
|
+
open "$url"
|
31
|
+
|
32
|
+
echo ""
|
33
|
+
echo "Goodbye!"
|
34
|
+
echo ""
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Stephen Johnson"]
|
10
10
|
spec.email = ["steve@01j.me"]
|
11
11
|
spec.summary = %q{Get notified of pushes to a Git Repo with updates to relevant Trello cards}
|
12
|
-
spec.description = %q{Makes Trello more useful when managing software development teams}
|
12
|
+
spec.description = %q{Makes Trello more useful when managing software development teams by increasing two-way communication}
|
13
13
|
spec.homepage = "https://github.com/smj10j/git_notified_on_trello"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler", ">= 1.6.9"
|
22
|
-
spec.add_development_dependency "rake", "
|
23
|
-
spec.add_development_dependency "rspec", "
|
21
|
+
spec.add_development_dependency "bundler", ">= 1.6.9", "< 1.8.0"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
spec.add_development_dependency "rspec", "~> 3.1"
|
24
24
|
|
25
25
|
spec.add_runtime_dependency "ruby-trello", '~> 1.1.2'
|
26
26
|
spec.add_runtime_dependency "trollop", '~> 2.0'
|
@@ -1,8 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe GitNotifiedOnTrello do
|
4
|
+
|
4
5
|
it "expects the notifier instantiation to succeed" do
|
5
6
|
n = GitNotifiedOnTrello::Notifier.new
|
6
7
|
expect(n).to be_a GitNotifiedOnTrello::Notifier
|
7
8
|
end
|
9
|
+
|
10
|
+
it "must be defined" do
|
11
|
+
expect(GitNotifiedOnTrello::VERSION).to_not be_nil
|
12
|
+
end
|
13
|
+
|
8
14
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git_notified_on_trello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Johnson
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.6.9
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.8.0
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,32 +27,35 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 1.6.9
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.8.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rake
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
|
-
- - "
|
37
|
+
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
39
|
version: '10.0'
|
34
40
|
type: :development
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
|
-
- - "
|
44
|
+
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
46
|
version: '10.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rspec
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
|
-
- - "
|
51
|
+
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '3.1'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
|
-
- - "
|
58
|
+
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
60
|
version: '3.1'
|
55
61
|
- !ruby/object:Gem::Dependency
|
@@ -80,7 +86,8 @@ dependencies:
|
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
88
|
version: '2.0'
|
83
|
-
description: Makes Trello more useful when managing software development teams
|
89
|
+
description: Makes Trello more useful when managing software development teams by
|
90
|
+
increasing two-way communication
|
84
91
|
email:
|
85
92
|
- steve@01j.me
|
86
93
|
executables:
|
@@ -95,6 +102,8 @@ files:
|
|
95
102
|
- README.md
|
96
103
|
- Rakefile
|
97
104
|
- bin/gnot
|
105
|
+
- deploy.sh
|
106
|
+
- docs/trello-get-oauth-url-wizard.sh
|
98
107
|
- git_notified_on_trello.gemspec
|
99
108
|
- lib/git_notified_on_trello.rb
|
100
109
|
- lib/git_notified_on_trello/version.rb
|