Я хочу создать файл Salesforce Dynami c package. xml. Я выполнил процесс, упомянутый в этом apexandbeyond.wordpress.com / 2017/03/15 / Dynami c -package- xml -generation / blog , это ни обновление, ни вставка данных в xml файл. Я пытаюсь пойти по следующему пути, но у меня не работает. Пожалуйста помоги мне с этим. Код ниже находится в l oop мне нужно динамически обновить xml файл. Здесь я получаю динамически измененный файл.
git diff-tree --no-commit-id --name-only --diff-filter = ACMRTUXB -t -r $ PREVRSA $ LCOMMIT | \ при чтении -r CFILE; do case "$ CFILE" в .cls ) TYPENAME = "ApexClass" ;; .component ) TYPENAME = "ApexComponent" ;; .page ) TYPENAME = "ApexPage" ;; *) TYPENAME = "UNKNOWN TYPE" ;;
esac
if [[ "$TYPENAME" != "UNKNOWN TYPE" ]]
then
echo $TYPENAME "," $ENTITY #example:(ApexClass,TestClass1
#example: ApexClass,Testclass2
#example: ApexPage,TestPage) # getting values Dynamically
xmlstarlet edit -L --subnode "/Package/types[name=$TYPENAME]" --type elem -n members -v
"$ENTITY" testpackage.xml > edipackage.xml
fi
done
echo Очистка пакета. xml
xmlstarlet ed -L -i / Package -t attr -n xmlns -v "http://soap.sforce.com/2006/04/metadata" тестовый пакет. xml> edipackage. xml
Исходный тестовый пакет. xml файл:
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>*</members>
<name>ApexComponent</name>
</types>
<types>
<members>*</members>
<name>ApexPage</name>
</types>
<version>48.0</version>
</Package>
Ожидаемый результат:
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>TestClass1</members>
<members>TestClass2</members>
<name>ApexClass</name>
</types>
<types>
<members>TestPage</members>
<name>ApexPage</name>
</types>
<version>48.0</version>
</Package>
Пожалуйста, помогите мне в этом.