forked from chris/tracker_github_hook
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME
More file actions
62 lines (45 loc) · 2.24 KB
/
README
File metadata and controls
62 lines (45 loc) · 2.24 KB
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
This app is a small server to serve as a GitHub Post-Receive hook to add
comments, and update state in Pivotal Tracker, similar to say the Lighthouse
service integration.
Also, many thanks to Alan Pinstein (apinstein) for his many contributions.
Configure your Tracker API key, and Project ID in a config.yml file placed in
the same directory as this app. It should look something like:
tracker_github_hook:
github_url: 'http://github.com/chris/tracker_github_hook'
tracker_api_token: a1230e72340e3babc96d5e2fab67c18d
tracker_project_id: 123
ref: refs/heads/master
The label ('tracker_github_hook' in this case) is arbitrary and not used, it's
just their to be a useful bit of info to humans/organize the nested settings,
and is not used. This setup allows you to have one service that supports
multiple Tracker/GitHub projects, just define one of the above blocks for each
one, and then anytime GitHub sends a push, the service will tease out which
GitHub repo it came from and correlate that to which Tracker project you've
assigned to that.
The "ref" field is also optional; it will tell the hook to ignore commits on
any branches other than the one listed. This is useful to prevent duplication
of comments being pushed into Tracker if you have multiple remote branches.
When you make commits to Git/GitHub, and want a comment and optionally a state
update made to a story in Tracker, add the following text to your commit
message:
[Story#####]
or
[Story##### state:finished]
where ##### is the story number (see the bottom of an expanded story in
Tracker for its ID).
A commit message can have more than one [Story####] block, but the entire
commit message will be added to both stories. The duplication is unfortunate
but better than the alternative of ignoring additional story references
altogether.
This project also requires the following rubygems:
- sinatra
- rest-client
- json
More information for, and thanks to:
Pivotal Tracker API: http://www.pivotaltracker.com/help/api
GitHub Post-Receive Hooks: http://github.com/guides/post-receive-hooks
Sinatra: http://sinatra.rubyforge.org/
RestClient: http://rubyforge.org/projects/rest-client/
TODO:
- cleanup, better testing
- support other story changes, like assigned user, etc.