Add get_params and get_params_list to Job
authorSteve Lounsbury <steve.lounsbury@gmail.com>
Thu, 2 May 2013 15:56:06 +0000 (11:56 -0400)
committerSteve Lounsbury <steve.lounsbury@gmail.com>
Thu, 2 May 2013 15:56:06 +0000 (11:56 -0400)
jenkinsapi/job.py

index 341721d..e361376 100644 (file)
@@ -413,3 +413,29 @@ class Job(JenkinsBase):
             pass
         return True
 
+    def get_params(self):
+        """
+        Get the parameters for this job. Format varies by parameter type. Here
+        is an example string parameter:
+            {
+                'type': 'StringParameterDefinition',
+                'description': 'Parameter description',
+                'defaultParameterValue': {'value': 'default value'},
+                'name': 'FOO_BAR'
+            }
+        """
+        for action in self._data['actions']:
+            try:
+                for param in action['parameterDefinitions']:
+                    yield param
+            except KeyError:
+                continue
+
+    def get_params_list(self):
+        """
+        Gets the list of parameter names for this job.
+        """
+        params = []
+        for param in self.get_params():
+            params.append(param['name'])
+        return params