Updated prof_init hook args
This commit is contained in:
21
jenkins.py
21
jenkins.py
@@ -53,6 +53,7 @@ poll_fail_message = None
|
||||
job_list = None
|
||||
changes_list = None
|
||||
|
||||
|
||||
def _help():
|
||||
prof.win_show(win_tag, "Commands:")
|
||||
prof.win_show(win_tag, " /jenkins help - Show this help")
|
||||
@@ -67,6 +68,7 @@ def _help():
|
||||
prof.win_show(win_tag, " /jenkins notify on|off - Enable/disable build notifications")
|
||||
prof.win_show(win_tag, " /jenkins settings - Show current settings")
|
||||
|
||||
|
||||
def _settings():
|
||||
prof.win_show(win_tag, "Jenkins settings:")
|
||||
prof.win_show(win_tag, " Jenkins URL : " + jenkins_url)
|
||||
@@ -76,10 +78,12 @@ def _settings():
|
||||
prof.win_show(win_tag, " Notifications enabled : " + str(enable_notify))
|
||||
prof.win_show(win_tag, " Reminders enabled : " + str(enable_remind))
|
||||
|
||||
|
||||
def _safe_remove(jobname, state):
|
||||
if jobname in last_state[state]:
|
||||
last_state[state].remove(jobname)
|
||||
|
||||
|
||||
def _set_state(jobname, state):
|
||||
if not jobname in last_state[state]:
|
||||
_safe_remove(jobname, STATE_SUCCESS)
|
||||
@@ -94,6 +98,7 @@ def _set_state(jobname, state):
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def _open_job_url(url):
|
||||
savout = os.dup(1)
|
||||
saverr = os.dup(2)
|
||||
@@ -106,6 +111,7 @@ def _open_job_url(url):
|
||||
os.dup2(savout, 1)
|
||||
os.dup2(saverr, 2)
|
||||
|
||||
|
||||
class JobList():
|
||||
def __init__(self):
|
||||
self.jobs = []
|
||||
@@ -142,6 +148,7 @@ class JobList():
|
||||
count = count + 1
|
||||
return count
|
||||
|
||||
|
||||
class JobUpdates():
|
||||
def __init__(self):
|
||||
self.states = {}
|
||||
@@ -160,6 +167,7 @@ class JobUpdates():
|
||||
def get_in_state(self, state):
|
||||
return self.states[state]
|
||||
|
||||
|
||||
def _process_build(name, build, new_job_list, new_changes_list):
|
||||
if build.get_status() == STATE_FAILURE:
|
||||
new_job_list.add_job(name, build.get_number(), STATE_FAILURE)
|
||||
@@ -177,6 +185,7 @@ def _process_build(name, build, new_job_list, new_changes_list):
|
||||
if changed:
|
||||
new_changes_list.add_update(STATE_UNSTABLE, name, build.get_number())
|
||||
|
||||
|
||||
def _process_queued_or_running(name, job, new_job_list, new_changes_list):
|
||||
if job.is_queued():
|
||||
new_job_list.add_job(name, None, STATE_QUEUED)
|
||||
@@ -189,6 +198,7 @@ def _process_queued_or_running(name, job, new_job_list, new_changes_list):
|
||||
if changed:
|
||||
new_changes_list.add_update(STATE_RUNNING, name)
|
||||
|
||||
|
||||
def _jenkins_poll():
|
||||
global poll_fail
|
||||
global poll_fail_message
|
||||
@@ -229,6 +239,7 @@ def _jenkins_poll():
|
||||
job_list = new_job_list
|
||||
changes_list = new_changes_list
|
||||
|
||||
|
||||
def _prof_callback():
|
||||
global changes_list
|
||||
if poll_fail:
|
||||
@@ -269,9 +280,11 @@ def _prof_callback():
|
||||
|
||||
changes_list = None
|
||||
|
||||
|
||||
def _handle_input(win, line):
|
||||
pass
|
||||
|
||||
|
||||
def _list_jobs(jobs):
|
||||
for name, build_number, state in jobs:
|
||||
if state == STATE_SUCCESS:
|
||||
@@ -285,6 +298,7 @@ def _list_jobs(jobs):
|
||||
else:
|
||||
prof.win_show_themed(win_tag, None, None, "cyan", " " + name + " " + state)
|
||||
|
||||
|
||||
def _build_job(job):
|
||||
try:
|
||||
request = urllib2.Request(jenkins_url + "/job/" + job + "/build");
|
||||
@@ -299,6 +313,7 @@ def _build_job(job):
|
||||
else:
|
||||
prof.win_show(win_tag, "Build request sent for " + job)
|
||||
|
||||
|
||||
def _job_log(job):
|
||||
name = job[0]
|
||||
build_no = job[1]
|
||||
@@ -314,6 +329,7 @@ def _job_log(job):
|
||||
else:
|
||||
prof.win_show(win_tag, "No build found for " + name)
|
||||
|
||||
|
||||
def _cmd_jenkins(cmd=None, arg=None):
|
||||
global enable_remind
|
||||
global enable_notify
|
||||
@@ -411,6 +427,7 @@ def _cmd_jenkins(cmd=None, arg=None):
|
||||
else:
|
||||
prof.win_show(win_tag, "Unknown command.")
|
||||
|
||||
|
||||
def _remind():
|
||||
if enable_remind and job_list:
|
||||
notify_string = ""
|
||||
@@ -433,7 +450,8 @@ def _remind():
|
||||
if not notify_string == "":
|
||||
prof.notify(notify_string, 5000, "Jenkins")
|
||||
|
||||
def prof_init(version, status):
|
||||
|
||||
def prof_init(version, status, account_name, fulljid):
|
||||
last_state[STATE_SUCCESS] = []
|
||||
last_state[STATE_UNSTABLE] = []
|
||||
last_state[STATE_FAILURE] = []
|
||||
@@ -507,6 +525,7 @@ def prof_init(version, status):
|
||||
|
||||
prof.register_command("/jenkins", 0, 2, synopsis, description, args, examples, _cmd_jenkins)
|
||||
|
||||
|
||||
def prof_on_start():
|
||||
prof.win_create(win_tag, _handle_input)
|
||||
prof.win_show(win_tag, "Jenkins plugin started.")
|
||||
|
||||
Reference in New Issue
Block a user