Coverage for ocp_resources/pipelineruns.py: 0%

19 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-30 10:48 +0200

1# API reference: https://tekton.dev/docs/pipelines/pipelineruns/ 

2 

3from ocp_resources.resource import MissingRequiredArgumentError, NamespacedResource 

4 

5 

6class PipelineRun(NamespacedResource): 

7 api_group = NamespacedResource.ApiGroup.TEKTON_DEV 

8 

9 def __init__( 

10 self, 

11 pipelineref=None, 

12 params=None, 

13 service_account_name=None, 

14 **kwargs, 

15 ): 

16 """ 

17 Args: 

18 pipelineref (str): Mandatory: Base pipeline to run pipelineruns 

19 params (dict): Optional params to add during triggering a run. 

20 params can be set/changed based on pipelineref. 

21 example : params={"param_name1":"param_value1", "param_name2":"param_value2"} 

22 service_account_name (str): Optional to provide service account 

23 """ 

24 super().__init__(**kwargs) 

25 self.pipelineref = pipelineref 

26 self.params = params 

27 self.service_account_name = service_account_name 

28 

29 def to_dict(self) -> None: 

30 super().to_dict() 

31 if not self.kind_dict and not self.yaml_file: 

32 if not self.pipelineref: 

33 raise MissingRequiredArgumentError(argument="pipelineref") 

34 self.res["spec"] = {} 

35 self.res["spec"]["pipelineref"] = {"name": self.pipelineref} 

36 

37 if self.params: 

38 self.res["spec"]["params"] = [ 

39 {"name": params_name, "value": params_value} for params_name, params_value in self.params.items() 

40 ] 

41 

42 if self.service_account_name: 

43 self.res["spec"]["serviceAccountName"] = self.service_account_name