Вы должны использовать Artifactory Jenkins Plugin . Он расширяет конвейерный DSL объектами, связанными с Artifactory, такими как, ну, Artifactory
: D
Вот пример из документации:
def server = Artifactory.server 'my-server-id'
def uploadSpec = """{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/"
}
]
}"""
server.upload spec: uploadSpec
DECLARE @xml as xml
DECLARE @path as varchar(max)
DECLARE @index int, @count int
SET @xml =
'<doc>
<a>1</a>
<b ba="1" bb="2" bc="3" />
<c bd="3"/>
</doc>'
SELECT @index = 1
SET @count = @xml.query('count(/doc/b/@*)').value('.','int')
WHILE @index <= @count
BEGIN
SELECT @xml.value('local-name((/doc/b/@*[sql:variable("@index")])[1])', 'varchar(max)')
SET @index = @index + 1
END
для элемента 'b'
это возвращается
Можно создать цикл для получения атрибутов для каждого элемента в xml.
BTW XML в Вашем образце должен быть закрыт в заключительном теге документа.
this:
declare @xml as xml
set @xml =
'<doc>
<a>1</a>
<b ba="1" bb="2" bc="3" />
<c bd="3"/>
</doc>'
select @xml.query('
for $attr in /doc/b/@*
return local-name($attr)')
returns:
ba bb bc