From 369b4fb743a0116338f02fc9ef25d0486a8db59e Mon Sep 17 00:00:00 2001 From: leedongmyung Date: Thu, 21 Aug 2025 15:20:11 +0900 Subject: [PATCH] jenkins parameter update --- assets/pipeline-test2.yaml | 2 +- lib/oto/commands/jenkins/jenkins.dart | 82 +++++++++++++++------------ lib/oto/data/command_data.dart | 2 - lib/oto/data/command_data.g.dart | 2 - 4 files changed, 48 insertions(+), 40 deletions(-) diff --git a/assets/pipeline-test2.yaml b/assets/pipeline-test2.yaml index cffcabc..ee15870 100644 --- a/assets/pipeline-test2.yaml +++ b/assets/pipeline-test2.yaml @@ -47,5 +47,5 @@ commands: - command: FileWrite id: write param: - path: /Users/leedongmyung/works/oto_cli/assets/config.xml + path: /assets/config.xml content: \ No newline at end of file diff --git a/lib/oto/commands/jenkins/jenkins.dart b/lib/oto/commands/jenkins/jenkins.dart index 2d869bf..1f46144 100644 --- a/lib/oto/commands/jenkins/jenkins.dart +++ b/lib/oto/commands/jenkins/jenkins.dart @@ -9,45 +9,57 @@ class JenkinsParameterModify extends Command { Future execute(DataCommand command) async { var data = DataJenkinsParameterModify.fromJson(getParam(command)); - final document = xml.XmlDocument.parse(data.content!); - var project = document.findAllElements('project').first; - for( var child in project.children ) { - if(child is xml.XmlElement && child.localName == 'properties') { - var property = child.findAllElements('hudson.model.ParametersDefinitionProperty').first; - var definitions = property.findAllElements('parameterDefinitions').first.childElements; - for(var def in definitions) { - var paramName = def.getElement('name'); - if(paramName?.innerText == data.name) { - switch(def.localName) { - case 'hudson.model.BooleanParameterDefinition': - if(data.defaultValue != null) { - var defaultValue = def.getElement('defaultValue'); - defaultValue?.innerText = data.defaultValue; - } - break; - case 'hudson.model.ChoiceParameterDefinition': - if(data.value is List) { - var choices = def.getElement('choices'); - choices?.children.clear(); - var a = xml.XmlElement(xml.XmlName('a'), [xml.XmlAttribute(xml.XmlName('class'), 'string-array')]); - for(var item in data.value) { - a.children.add(xml.XmlElement(xml.XmlName('string'), [], [xml.XmlText(item)])); - } - choices?.children.add(a); - } - break; - case 'hudson.model.TextParameterDefinition': - break; - case 'hudson.model.StringParameterDefinition': - break; + var startId = ''; + var start = data.content?.indexOf(startId); + var end = + data.content?.indexOf(''); + var startParam = start! + startId.length; + var endParam = end!; + var paramContent = data.content?.substring(start + startId.length, end); + startId = '${data.name}'; + start = paramContent + ?.substring(0, paramContent.indexOf(startId)) + .lastIndexOf('<'); + var findContent = paramContent?.substring(start!); + end = findContent?.indexOf('>'); + var element = findContent?.substring(1, end! + 1); + startId = ' toJson() => _$DataSlackFileToJson(this); } - //Slack Build @JsonSerializable() class DataSlackBuild extends DataSlackSender { @@ -1227,7 +1226,6 @@ class DataJenkinsParameterModify extends DataParam { late String? content; late String? name; late dynamic value; - late dynamic defaultValue; late String? setContent; factory DataJenkinsParameterModify.fromJson(Map json) => diff --git a/lib/oto/data/command_data.g.dart b/lib/oto/data/command_data.g.dart index 670d2f6..61465ed 100644 --- a/lib/oto/data/command_data.g.dart +++ b/lib/oto/data/command_data.g.dart @@ -2102,7 +2102,6 @@ DataJenkinsParameterModify _$DataJenkinsParameterModifyFromJson( ..content = json['content'] as String? ..name = json['name'] as String? ..value = json['value'] - ..defaultValue = json['defaultValue'] ..setContent = json['setContent'] as String?; Map _$DataJenkinsParameterModifyToJson( @@ -2116,6 +2115,5 @@ Map _$DataJenkinsParameterModifyToJson( 'content': instance.content, 'name': instance.name, 'value': instance.value, - 'defaultValue': instance.defaultValue, 'setContent': instance.setContent, };