Class: Serverspec::Type::JenkinsJob
- Inherits:
-
JenkinsBase
- Object
- Base
- ApiBase
- JenkinsBase
- Serverspec::Type::JenkinsJob
- Defined in:
- lib/serverspec_extra_types/types/jenkins_job.rb
Instance Method Summary collapse
- #directory? ⇒ Boolean
- #folder? ⇒ Boolean
- #freestyle? ⇒ Boolean
- #freestyle_project? ⇒ Boolean
- #has_description?(desc) ⇒ Boolean
- #has_display_name?(text) ⇒ Boolean
- #has_empty_job_list? ⇒ Boolean
- #has_full_display_name?(text) ⇒ Boolean
- #has_full_name?(text) ⇒ Boolean
- #has_job?(_job) ⇒ Boolean
- #has_job_count?(count) ⇒ Boolean
- #has_job_type?(type) ⇒ Boolean
- #has_name?(text) ⇒ Boolean
- #has_project_type?(type) ⇒ Boolean
-
#initialize(name = nil, options = {}) ⇒ JenkinsJob
constructor
A new instance of JenkinsJob.
- #inspection ⇒ Object
- #length ⇒ Object
- #maven? ⇒ Boolean
- #maven_project? ⇒ Boolean
- #multibranch? ⇒ Boolean
- #multibranch_project? ⇒ Boolean
- #pipeline? ⇒ Boolean
- #pipeline_project? ⇒ Boolean
- #url ⇒ Object
Methods inherited from JenkinsBase
Methods inherited from ApiBase
Constructor Details
#initialize(name = nil, options = {}) ⇒ JenkinsJob
Returns a new instance of JenkinsJob.
11 12 13 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 11 def initialize(name = nil, = {}) super(name, ) end |
Instance Method Details
#directory? ⇒ Boolean
34 35 36 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 34 def directory? inspection['_class'] == 'com.cloudbees.hudson.plugins.folder.Folder' end |
#folder? ⇒ Boolean
78 79 80 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 78 def folder? directory? end |
#freestyle? ⇒ Boolean
46 47 48 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 46 def freestyle? inspection['_class'] == 'hudson.model.FreeStyleProject' end |
#freestyle_project? ⇒ Boolean
50 51 52 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 50 def freestyle_project? freestyle? end |
#has_description?(desc) ⇒ Boolean
86 87 88 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 86 def has_description?(desc) inspection['description'] == desc end |
#has_display_name?(text) ⇒ Boolean
102 103 104 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 102 def has_display_name?(text) inspection['displayName'] == text end |
#has_empty_job_list? ⇒ Boolean
110 111 112 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 110 def has_empty_job_list? inspection['jobs'].empty? end |
#has_full_display_name?(text) ⇒ Boolean
106 107 108 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 106 def has_full_display_name?(text) inspection['fullDisplayName'] == text end |
#has_full_name?(text) ⇒ Boolean
90 91 92 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 90 def has_full_name?(text) inspection['fullName'] == text end |
#has_job?(_job) ⇒ Boolean
94 95 96 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 94 def has_job?(_job) inspection['jobs'].find { |job| job['name'] == _job } end |
#has_job_count?(count) ⇒ Boolean
98 99 100 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 98 def has_job_count?(count) inspection['jobs'].length == count end |
#has_job_type?(type) ⇒ Boolean
70 71 72 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 70 def has_job_type?(type) inspection['_class'] == type end |
#has_name?(text) ⇒ Boolean
82 83 84 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 82 def has_name?(text) inspection['name'] == text end |
#has_project_type?(type) ⇒ Boolean
74 75 76 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 74 def has_project_type?(type) has_job_type?(type) end |
#inspection ⇒ Object
15 16 17 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 15 def inspection @inspection ||= ::MultiJson.load(get_inspection.stdout) end |
#length ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 24 def length if inspection.is_a? String inspection.length elsif inspection.is_a? Array inspection.length else 1 end end |
#maven? ⇒ Boolean
54 55 56 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 54 def maven? inspection['_class'] == 'hudson.maven.MavenModuleSet' end |
#maven_project? ⇒ Boolean
58 59 60 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 58 def maven_project? maven? end |
#multibranch? ⇒ Boolean
38 39 40 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 38 def multibranch? inspection['_class'] == 'org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject' end |
#multibranch_project? ⇒ Boolean
42 43 44 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 42 def multibranch_project? multibranch? end |
#pipeline? ⇒ Boolean
62 63 64 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 62 def pipeline? inspection['_class'] == 'org.jenkinsci.plugins.workflow.job.WorkflowJob' end |
#pipeline_project? ⇒ Boolean
66 67 68 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 66 def pipeline_project? pipeline? end |
#url ⇒ Object
19 20 21 22 |
# File 'lib/serverspec_extra_types/types/jenkins_job.rb', line 19 def url jobname = @name.gsub('/', '/job/') "#{@url_base}/job/#{jobname}/api/json" end |