本文整理汇总了Python中jenkins.Jenkins.disable_node方法的典型用法代码示例。如果您正苦于以下问题:Python Jenkins.disable_node方法的具体用法?Python Jenkins.disable_node怎么用?Python Jenkins.disable_node使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jenkins.Jenkins
的用法示例。
在下文中一共展示了Jenkins.disable_node方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: JenkinsBot
# 需要导入模块: from jenkins import Jenkins [as 别名]
# 或者: from jenkins.Jenkins import disable_node [as 别名]
#.........这里部分代码省略.........
if len(args) < 1: # No node name
return 'Oops, I need the name of the node you want me to delete.'
self.connect_to_jenkins()
try:
self.jenkins.delete_node(args[0])
except JenkinsException as e:
return 'Oops, {0}'.format(e)
return 'Your node has been deleted.'
@botcmd(split_args_with=None)
def jenkins_enablenode(self, mess, args):
"""Enable a Jenkins Node.
Example: !jenkins enablenode runner-foo-laptop
"""
if len(args) < 1: # No node name
return 'Oops, I need the name of the node you want me to enable.'
self.connect_to_jenkins()
try:
self.jenkins.enable_node(args[0])
except JenkinsException as e:
return 'Oops, {0}'.format(e)
return 'Your node has been enabled.'
@botcmd(split_args_with=None)
def jenkins_disablenode(self, mess, args):
"""Disable a Jenkins Node.
Example: !jenkins disablenode runner-foo-laptop
"""
if len(args) < 1: # No node name
return 'Oops, I need the name of the node you want me to disable.'
self.connect_to_jenkins()
try:
self.jenkins.disable_node(args[0])
except JenkinsException as e:
return 'Oops, {0}'.format(e)
return 'Your node has been disabled.'
def search_job(self, search_term):
self.log.debug('Querying Jenkins for job "{0}"'.format(search_term))
return [job for job in self.jenkins.get_jobs(folder_depth=None)
if search_term.lower() == job['fullname'].lower()]
def format_running_jobs(self, jobs):
if len(jobs) == 0:
return 'No running jobs.'
jobs_info = [self.jenkins.get_job_info(job['name']) for job in jobs]
return '\n\n'.join(['%s (%s)\n%s' % (
job['name'],
job['lastBuild']['url'],
job['healthReport'][0]['description'])
for job in jobs_info]).strip()
@staticmethod
def format_jobs(jobs):
if len(jobs) == 0:
return 'No jobs found.'
max_length = max([len(job['fullname']) for job in jobs])
return '\n'.join(
['%s (%s)' % (job['fullname'].ljust(max_length), job['url'])
for job in jobs]).strip()
@staticmethod
def format_params(job):
"""Format job parameters."""
if len(job) == 0:
return 'This job is not parameterized.'
PARAM_TEMPLATE = Template("""{% for p in params %}Type: {{p.type}}
Description: {{p.description}}
Default Value: {{p.defaultParameterValue.value}}
Parameter Name: {{p.name}}
{% endfor %}""")
return PARAM_TEMPLATE.render({'params': job})
@staticmethod
def format_notification(body):
body['fullname'] = body.get('fullname', body['name'])
NOTIFICATION_TEMPLATE = Template("""Build #{{build.number}} \
{{build.status}} for Job {{fullname}} ({{build.full_url}})
{% if build.scm %}Based on {{build.scm.url}}/commit/{{build.scm.commit}} \
({{build.scm.branch}}){% endif %}""")
return NOTIFICATION_TEMPLATE.render(body)
@staticmethod
def build_parameters(params):
if len(params) > 0:
return {param.split(':')[0]: param.split(':')[1]
for param in params}
return {'': ''}