jenkinsapi-0.2.16/ 0000755 0001750 0001750 00000000000 12262651621 012214 5 ustar ahs3 ahs3 jenkinsapi-0.2.16/circle.yaml 0000644 0001750 0001750 00000000520 12262651567 014347 0 ustar ahs3 ahs3 ## Custom test configuration for CircleCI
machine:
timezone:
Europe/London # Set the timezone
## Customize dependencies
dependencies:
post:
- python setup.py test --dry-run
- easy_install coverage
## Customize test commands
test:
override:
- nosetests jenkinsapi_tests --with-coverage --cover-html --with-xunit
jenkinsapi-0.2.16/examples/ 0000755 0001750 0001750 00000000000 12262651567 014043 5 ustar ahs3 ahs3 jenkinsapi-0.2.16/examples/how_to/ 0000755 0001750 0001750 00000000000 12262651567 015342 5 ustar ahs3 ahs3 jenkinsapi-0.2.16/examples/how_to/query_a_build.py 0000644 0001750 0001750 00000001523 12262651567 020541 0 ustar ahs3 ahs3 from jenkinsapi.view import View
from jenkinsapi.jenkins import Jenkins
J = Jenkins('http://localhost:8080')
print J.items()
j = J['foo']
j = J.get_job("foo")
b = j.get_last_build()
print b
mjn = b.get_master_job_name()
print(mjn)
EMPTY_JOB_CONFIG = '''\
false
true
false
false
false
false
'''
new_job = J.create_job(name='foo_job', config=EMPTY_JOB_CONFIG)
jenkinsapi-0.2.16/examples/how_to/create_a_job.py 0000644 0001750 0001750 00000000530 12262651567 020307 0 ustar ahs3 ahs3 import logging
logging.basicConfig()
from jenkinsapi.jenkins import Jenkins
from pkg_resources import resource_string
J = Jenkins('http://localhost:8080')
jobName = 'foo_job2'
xml = resource_string('examples', 'addjob.xml')
print xml
j = J.create_job(jobname=jobName, config=xml)
j2 = J[jobName]
print j
# Delete job
J.delete_job(jobName)
jenkinsapi-0.2.16/examples/how_to/get_config.py 0000644 0001750 0001750 00000000350 12262651567 020016 0 ustar ahs3 ahs3 """
An example of how to use JenkinsAPI to fetch the config XML of a job.
"""
from jenkinsapi.jenkins import Jenkins
J = Jenkins('http://localhost:8080')
jobName = 'create_fwrgmkbbzk'
config = J[jobName].get_config()
print config
jenkinsapi-0.2.16/examples/how_to/search_artifacts.py 0000644 0001750 0001750 00000000422 12262651567 021217 0 ustar ahs3 ahs3 from jenkinsapi.api import search_artifacts
jenkinsurl = "http://localhost:8080/jenkins"
jobid = "test1"
artifact_ids = ["test1.txt", "test2.txt"] # I need a build that contains all of these
result = search_artifacts(jenkinsurl, jobid, artifact_ids)
print((repr(result)))
jenkinsapi-0.2.16/examples/how_to/create_views.py 0000644 0001750 0001750 00000002315 12262651567 020375 0 ustar ahs3 ahs3 import logging
from jenkinsapi.view import View
from jenkinsapi.jenkins import Jenkins
log_level = getattr(logging, 'DEBUG')
logging.basicConfig(level=log_level)
logger = logging.getLogger()
jenkins_url = "http://192.168.1.64:8080/"
#jenkins_url = "http://localhost:7080/"
api = Jenkins(jenkins_url)
# Create ListView in main view
logger.info('Attempting to create new view')
test_view_name = 'SimpleListView'
new_view = api.views.create(test_view_name)
logger.info('new_view is %s' % new_view)
if new_view is None:
logger.error('View was not created')
else:
logger.info('View has been created')
logger.info('Attempting to create view that already exists')
if not api.views.create(test_view_name):
logger.info('View was not created')
else:
logger.error('View has been created')
logger.info('Attempting to delete view that already exists')
del api.views[test_view_name]
if test_view_name in api.views:
logger.error('View was not deleted')
else:
logger.info('View has been deleted')
logger.info('Attempting to delete view that does not exist')
del api.views[test_view_name]
if not test_view_name in api.views:
logger.error('View has been deleted')
else:
logger.info('View was not deleted')
jenkinsapi-0.2.16/examples/how_to/create_nested_views.py 0000644 0001750 0001750 00000004062 12262651567 021740 0 ustar ahs3 ahs3 # This example requires NestedViews plugin to be installed in Jenkins
# You need to have at least one job in your Jenkins to see views
import logging
from pkg_resources import resource_string
from jenkinsapi.view import View
from jenkinsapi.views import Views
from jenkinsapi.jenkins import Jenkins
log_level = getattr(logging, 'DEBUG')
logging.basicConfig(level=log_level)
logger = logging.getLogger()
jenkins_url = "http://127.0.0.1:8080/"
api = Jenkins(jenkins_url)
jobName = 'foo_job2'
xml = resource_string('examples', 'addjob.xml')
j = api.create_job(jobname=jobName, config=xml)
# Create ListView in main view
logger.info('Attempting to create new nested view')
top_view = api.views.create('TopView', Views.NESTED_VIEW)
logger.info('top_view is %s' % top_view)
if top_view is None:
logger.error('View was not created')
else:
logger.info('View has been created')
print 'top_view.views=', top_view.views.keys()
logger.info('Attempting to create view inside nested view')
sub_view = top_view.views.create('SubView')
if sub_view is None:
logger.info('View was not created')
else:
logger.error('View has been created')
logger.info('Attempting to delete sub_view')
del top_view.views['SubView']
if 'SubView' in top_view.views:
logger.error('SubView was not deleted')
else:
logger.info('SubView has been deleted')
# Another way of creating sub view
# This way sub view will have jobs in it
logger.info('Attempting to create view with jobs inside nested view')
top_view.views['SubView'] = jobName
if 'SubView' not in top_view.views:
logger.error('View was not created')
else:
logger.info('View has been created')
logger.info('Attempting to delete sub_view')
del top_view.views['SubView']
if 'SubView' in top_view.views:
logger.error('SubView was not deleted')
else:
logger.info('SubView has been deleted')
logger.info('Attempting to delete top view')
del api.views['TopView']
if 'TopView' not in api.views:
logger.info('View has been deleted')
else:
logger.error('View was not deleted')
# Delete job that we created
api.delete_job(jobName)
jenkinsapi-0.2.16/examples/how_to/search_artifact_by_regexp.py 0000644 0001750 0001750 00000000434 12262651567 023103 0 ustar ahs3 ahs3 from jenkinsapi.api import search_artifact_by_regexp
import re
jenkinsurl = "http://localhost:8080/jenkins"
jobid = "test1"
artifact_regexp = re.compile("test1\.txt") # A file name I want.
result = search_artifact_by_regexp(jenkinsurl, jobid, artifact_regexp)
print((repr(result)))
jenkinsapi-0.2.16/examples/how_to/get_version_info_from_last_good_build.py 0000644 0001750 0001750 00000000634 12262651567 025513 0 ustar ahs3 ahs3 """
Extract version information from the latest build.
"""
from jenkinsapi.jenkins import Jenkins
def getSCMInfroFromLatestGoodBuild(url, jobName, username=None, password=None):
J = Jenkins(url, username, password)
job = J[jobName]
lgb = job.get_last_good_build()
return lgb.get_revision()
if __name__ == '__main__':
print getSCMInfroFromLatestGoodBuild('http://localhost:8080', 'fooJob')
jenkinsapi-0.2.16/examples/how_to/readme.rst 0000644 0001750 0001750 00000000200 12262651567 017321 0 ustar ahs3 ahs3 "How To..." examples
====================
This directory contains a set of examples or recipes for common tasks in
JenkinsAPI. jenkinsapi-0.2.16/examples/__init__.py 0000644 0001750 0001750 00000000000 12262651567 016142 0 ustar ahs3 ahs3 jenkinsapi-0.2.16/examples/low_level/ 0000755 0001750 0001750 00000000000 12262651567 016033 5 ustar ahs3 ahs3 jenkinsapi-0.2.16/examples/low_level/copy_a_job.py 0000644 0001750 0001750 00000001230 12262651567 020505 0 ustar ahs3 ahs3 """
A lower-level implementation of copying a job in Jenkins
"""
import requests
from jenkinsapi.jenkins import Jenkins
from pkg_resources import resource_string
from jenkinsapi_tests.test_utils.random_strings import random_string
J = Jenkins('http://localhost:8080')
jobName = random_string()
jobName2 = '%s_2' % jobName
url = 'http://localhost:8080/createItem?from=%s&name=%s&mode=copy' % (jobName, jobName2)
xml = resource_string('examples', 'addjob.xml')
j = J.create_job(jobname=jobName, config=xml)
h = {'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post(url, data='dysjsjsjs', headers=h)
print response.text.encode('UTF-8')
jenkinsapi-0.2.16/examples/low_level/create_a_view_low_level.py 0000644 0001750 0001750 00000001057 12262651567 023255 0 ustar ahs3 ahs3 """
A low level example:
This is how JenkinsAPI creates views
"""
import requests
import json
url = 'http://localhost:8080/createView'
str_view_name = "blahblah123"
params = {} # {'name': str_view_name}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
data = {
"name": str_view_name,
"mode": "hudson.model.ListView",
"Submit": "OK",
"json": json.dumps({"name": str_view_name, "mode": "hudson.model.ListView"})
}
# Try 1
result = requests.post(url, params=params, data=data, headers=headers)
print result.text.encode('UTF-8')
jenkinsapi-0.2.16/examples/low_level/login_with_auth.py 0000644 0001750 0001750 00000000316 12262651567 021571 0 ustar ahs3 ahs3 """
A lower level example of how we login with authentication
"""
from jenkinsapi import jenkins
J = jenkins.Jenkins("http://localhost:8080", username="sal", password="foobar")
J.poll()
print J.items()
jenkinsapi-0.2.16/examples/low_level/example_param_build.py 0000644 0001750 0001750 00000001006 12262651567 022374 0 ustar ahs3 ahs3 import json
import requests
def foo():
"""
A low level example of how JenkinsAPI runs a parameterized build
"""
toJson = {'parameter': [{'name': 'B', 'value': 'xyz'}]}
url = 'http://localhost:8080/job/ddd/build'
# url = 'http://localhost:8000'
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
form = {'json': json.dumps(toJson)}
response = requests.post(url, data=form, headers=headers)
print response.text.encode('UTF-8')
if __name__ == '__main__':
foo()
jenkinsapi-0.2.16/examples/low_level/readme.rst 0000644 0001750 0001750 00000000573 12262651567 020027 0 ustar ahs3 ahs3 Low-Level Examples
==================
These examoples are intended to explain how JenkinsAPI performs certain functions. While developing JenkinsAPI I created a number of small scripts like these in order to figure out the correct way to communicate. Ive retained a number of these as they provide some insights into how the various interfaces that Jenkins provides can be used. jenkinsapi-0.2.16/examples/addjob.xml 0000644 0001750 0001750 00000001016 12262651567 016006 0 ustar ahs3 ahs3
false
true
false
false
false
false
jenkinsapi-0.2.16/jenkins_build.sh 0000644 0001750 0001750 00000000742 12262651567 015404 0 ustar ahs3 ahs3 #! /bin/bash
if ! command -v virtualenv >/dev/null 2>&1; then
echo "You should install virtualenv, check http://www.virtualenv.org/"
exit 1
fi
virtualenv .
source bin/activate
python setup.py develop
easy_install nose
easy_install mock
easy_install requests
easy_install coverage
test -z "$WORKSPACE" && WORKSPACE="`pwd`"
nosetests jenkinsapi_tests --with-xunit --with-coverage --cover-html --cover-html-dir="$WORKSPACE/coverage_report" --cover-package=jenkinsapi --verbose
jenkinsapi-0.2.16/build.properties 0000644 0001750 0001750 00000000005 12262651567 015435 0 ustar ahs3 ahs3 build jenkinsapi-0.2.16/doc/ 0000755 0001750 0001750 00000000000 12262651567 012772 5 ustar ahs3 ahs3 jenkinsapi-0.2.16/doc/.gitignore 0000644 0001750 0001750 00000000043 12262651567 014757 0 ustar ahs3 ahs3 / html
/docs_html.zip
/html
/build
jenkinsapi-0.2.16/doc/build.properties 0000644 0001750 0001750 00000000117 12262651567 016206 0 ustar ahs3 ahs3 docs.zipfile.filename=docs_html.zip
docs.html.dir=html
docs.source.dir=source jenkinsapi-0.2.16/doc/build.xml 0000644 0001750 0001750 00000002356 12262651567 014621 0 ustar ahs3 ahs3