Showing posts with label VSTS. Show all posts
Showing posts with label VSTS. Show all posts

Friday, September 21, 2018

VSTS (Azure DevOps) tricks. Как посмотреть мои комиты за месяц?


Вопрос


Есть способ в VSTS сделать query и вытащить мои комиты за месяц?

Ответ


В VSTS (Azure DevOps) API есть поддержка работы с Git.
В PowerShell это можно сделать так.
Результат будет выглядеть так.


Monday, April 10, 2017

Миграция репозиториев из GitLab в VSTS

В VSTS есть возможность импортировать Git репозиторий прямо из веб-интерфейса


Однако, если не хочется делать это вручную - можно воспользоваться моим скриптом :)
https://github.com/DeV1L/gitlab-vsts-importer

Написан под задачу миграции из GitLab, но при необходимости, легко переделать под GitHub.
Инструкция в описании.

Friday, December 9, 2016

VSTS tricks. Как изменить 100500 Build Definitions за один раз

Вопрос


Допустим Вы хотите изменить какой-то общий параметр сразу во всех Build Definitions. Например, путь для выгрузки артефактов.


Как это сделать? Ни экспорта/импорта, ни PowerShell модулей в 2016 году для VSTS не существует. Но зато есть REST API.

Ответ


И так, чтобы получить доступ к API необходимо сгенерировать Personal access token.
Переходим в VSTS в раздел Account -> Security -> Personal access tokens -> Add


Задаём название, срок действия, нажимаем "Create Token".


Теперь приступаем к скрипту на PowerShel.
Сначала зададим основные параметры

$PAT - Только что сгенерированный токен
$Instance, $Project - URL Вашего VSTS и название проекта, подробнее здесь.
$Version - Актуальная версия API

Далее сформируем HTTP Get запрос для получения списка ID всех Build Definitions.

В ответ мы получим JSON с которым довольно удобно работать в PowerShell.
Так можно получить все ID.

$BuildDefinitionsIDs = $BuildDefinitionsList.value.id

Далее сделаем цикл, который будет проходить по всем  Build Definitions, выгружать описание в JSON и заменять необходимые параметры.
Тут логично ограничиться работой с JSON, но в моём случае старый адрес \\KR-VSOBUILD01 присутствует в самых разных шагах билда. Поэтому мне проще сохранить его описание в файл, произвести замену при помощи -Replace и потом прочитать из файла.


В выводе скрипта - результат для каждой Build Definitions


Скрипт целиком

Wednesday, October 19, 2016

VSTS tricks. Как передать переменную из одного шага в другой

Вопрос

Как в Visual Studio Team Services передать переменную (например результат выполнения скрипта) из одного шага (задачи) билда/релиза в другой?

Ответ

Чтобы переменная была доступна между шагами (задачами) её необходимо определить специальным образом.
Выглядит это так: ##vso[task.setvariable]value

Пример

Определяем переменную
$Value = "ALL GLORY TO THE VSTS!"
Write-Host "##vso[task.setvariable variable=Testenv1;]$Value"


Читаем переменную
$MyVar = (Get-ChildItem Env:Testenv1).Value
Write-Verbose "My variable is $MyVar" -Verbose