POST-запрос к Azure DevOps Rest API с Reactjs - PullRequest
0 голосов
/ 10 марта 2020

До сих пор я был в состоянии настроить метод в C#, который может жестко закодировать новый репозиторий в Azure DevOps, но моя реальная цель - создать пользовательский интерфейс, который позволяет пользователю указывать запрос тело, которое состоит из следующего:

name: 'nameOfRepository', project: {id: 'projectId'}

Пользователь заполнит первое поле ввода желаемым именем нового репозиторий. Во втором поле ввода должен использоваться запрос GET, который отображает все доступные проекты в вашей организации в раскрывающемся списке. Я также использую. NET Core 3.0 и считаю, что это, вероятно, должно быть сделано и с контроллером API, но я не уверен.

У меня мало опыта в React, и я понятия не имею, как и где я собираюсь указать тело запроса и личный токен доступа для создания хранилища. Буду признателен за объяснение того, как это работает, а также за решение, которое поможет мне в правильном направлении.

1 Ответ

0 голосов
/ 10 марта 2020

Azure Документация DevOps Rest API предоставит вам доступ к платформе. Если вы решили полностью развиваться в React js. Я хотел бы предложить взять стартовый набор, в основном он будет охватывать все ваши базовые настройки c для React.

Следуйте приведенным ниже инструкциям, чтобы получить представление о том, как можно добиться с помощью реакции js

  1. Необходимо настроить OAuth в azure deops. Ссылка ниже даст идею. На странице обратного вызова необходимо сохранить токен доступа store
    https://docs.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/oauth?view=azure-devops. Если у вас есть личный токен авторизации, это не требуется

  2. Получить весь список репозиториев, используя fetch или Ax ios Пример API с Ax ios:

    const headers = {
           'Content-Type': 'application/json',
            'Authorization': 'bearer token' or 'basic personalaccesstoken'
         }
    
    axios.get('https://dev.azure.com/{organization}/{project}/_apis/git/repositories', {
            headers: headers,
            params: {
            'api-version':'5.1'
          }
          })
          .then(function (response) {
            console.log(response);
          })
          .catch(function (error) {
            console.log(error);
          });
    
  3. Используйте форму реагирования для захвата входного значения и при отправке формы проверьте ее в хранилищах, если это новый вызов метода Ax ios или извлеките post для создания нового хранилища

Пример с Ax ios

  const headers = {
      'Content-Type': 'application/json',
      'Authorization': 'bearer token'
    }
    const data = {
    name: '' 
    parentRepository: {id: '', ....}
    project: {id: '', ...}
    }
     axios.post('https://dev.azure.com/{organization}/{project}/_apis/git/repositories', JSON.stringify(data), 
     {
            headers: headers,
            params: {
            'api-version':'5.1'
          }
          })
          .then(function (response) {
            console.log(response);
          })
          .catch(function (error) {
            console.log(error);
          });

Аналогично, вы можете получить доступ ко всей упомянутой API REST API документации Microsoft. ссылка

...