-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpivotal_pull_active.rb
executable file
·111 lines (102 loc) · 3.26 KB
/
pivotal_pull_active.rb
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
#!/usr/bin/env ruby -KU
require 'bundler/setup'
# require 'rubygems'
# require 'active_resource'
# require 'pp'
# require 'chronic'
require 'pivotal-tracker'
def initials(naam)
initialen = ""
naam.split.each {|woord|
initialen = initialen + woord[0]
}
initialen
end
@mystate = %w( started rejected )
@mydeadline = (Time.now).to_datetime
PivotalTracker::Client.token('[email protected]', 'qub0y?Qatar') # Automatically fetch API Token
@mystories = Array.new()
@myprojects = [781813] # take out FUEL 780227,786005,479975
@myprojects.each do |projectnummer|
@a_project = PivotalTracker::Project.find(projectnummer)
@thisprojectstories = @a_project.stories.all(:state => @mystate)
@thisprojectreleases = @a_project.stories.all(:type => 'release', :state => 'unstarted').find_all{|rel| rel.deadline < @mydeadline}
@mystories = @mystories + @thisprojectstories + @thisprojectreleases
if Time.now.hour < 17 && @thisprojectstories.count < 3
yourwish = "/usr/bin/osascript -e 'open location \"https://www.pivotaltracker.com/n/projects/" + projectnummer.to_s + "\" ' "
#puts yourwish
system(yourwish)
end
end
# if @mystories.size < 5
# require './pivotal_finished_reset.rb'
# @myprojects.each do |projectnummer|
# @a_project = PivotalTracker::Project.find(projectnummer)
# @mystories = @mystories + @a_project.stories.all(:state => @mystate)
# #pp @mystories
# end
@mystories.each do |verhaaltje|
begin
mijnstatus = verhaaltje.current_state
if mijnstatus == "started"
mijnstatus = "ztarted" # come on top in reverse sort
end
rescue
mijnstatus = "NO STATUS"
end
begin
mijnnaam = verhaaltje.name
rescue
mijnnaam = "NO STORY"
end
if mijnnaam == nil then
mijnnaam = "NO STORY"
end
eigenaar = verhaaltje.owned_by
if eigenaar == nil then
verhaaltje.owned_by = "Roland Siebelink"
eigenaar = "Roland Siebelink"
end
begin
mijntaak = "NO TASK"
verhaaltje.tasks.all.each do |taakje|
if !taakje.complete and mijntaak == "NO TASK"
mijntaak = taakje.description
end
end
rescue
mijntaak = "NO TASK"
end
begin
mijnetiket = Array(verhaaltje.labels.split(","))
rescue
mijnetiket = Array("NO LABEL")
end
#puts "Mijnetiket = #{mijnetiket}"
mijnprioriteit=""
begin
mijnetiket.each do |etiketje|
#puts "etiketje = #{etiketje}"
if etiketje[0] == "π"
# this is a priority label
mijnprioriteit = etiketje[1]
mijnetiket.delete[etiketje]
return
else
mijnprioriteit = " "
end
end
rescue
end
# # solving bug where previously started and now unscheduled stories still come out when querying "unstarted"
# unless mijnstatus == "unscheduled"
if mijntaak == "NO TASK"
#puts "#{mijnprioriteit}#{mijnstatus[0].upcase}-#{mijnnaam} +#{mijnetiket.first}"
puts "#{mijnnaam} \##{verhaaltje.id} +#{mijnetiket.first}"
#system("/usr/bin/osascript -e 'open location \"" + verhaaltje.url + "\" ' ")
else
# #puts "#{mijnnaam[0]}#{mijnstatus[0].upcase}#{mijnnaam[1..-1]}>>#{mijntaak} +#{mijnetiket} "
#puts "#{mijnprioriteit}#{mijnstatus[0].upcase}-#{mijnnaam}>>#{mijntaak} +#{mijnetiket.first}"
puts "#{mijnnaam} \##{verhaaltje.id}>>#{mijntaak} +#{mijnetiket.first}"
end
end