Code Search Results - Fetch Code Search Results

Предоставляет набор результатов для текста поиска.

POST https://almsearch.dev.azure.com/{organization}/{project}/_apis/search/codesearchresults?api-version=7.1

Параметры URI

Имя В Обязательно Тип Описание
organization
path True

string

Имя организации Azure DevOps.

project
path

string

Идентификатор проекта или имя проекта

api-version
query True

string

Используемая версия API. Для использования этой версии API необходимо задать значение "7.1".

Текст запроса

Имя Тип Описание
$orderBy

SortOption[]

Параметры сортировки результатов поиска. Если задано значение NULL, результаты будут возвращены по релевантности. Если указано несколько вариантов сортировки, результаты сортируются в порядке, указанном в OrderBy.

$skip

integer (int32)

Количество пропущенных результатов.

$top

integer (int32)

Количество возвращаемых результатов.

filters

object

Примененные фильтры. Задайте для него значение NULL, если не применяются фильтры.

includeFacets

boolean

Флаг, чтобы выбрать аспект в результате. Поведение по умолчанию — false.

includeSnippet

boolean

Флаг, чтобы выбрать включение соответствующего фрагмента кода в результат. Поведение по умолчанию — false.

searchText

string

Текст поиска.

Ответы

Имя Тип Описание
200 OK

CodeSearchResponse

успешная операция

Безопасность

oauth2

Тип: oauth2
Flow: accessCode
URL-адрес авторизации: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL-адрес токена: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

Области

Имя Описание
vso.code Предоставляет возможность читать исходный код и метаданные о фиксациях, изменениях, ветвях и других артефактах управления версиями. Кроме того, предоставляет возможность искать код и получать уведомления о событиях управления версиями с помощью перехватчиков служб.

Примеры

Образец запроса

POST https://almsearch.dev.azure.com/fabrikam/_apis/search/codesearchresults?api-version=7.1

{
  "searchText": "CodeSearchController",
  "$skip": 0,
  "$top": 1,
  "filters": {
    "Project": [
      "MyFirstProject"
    ],
    "Repository": [
      "MyFirstProject"
    ],
    "Path": [
      "/"
    ],
    "Branch": [
      "master"
    ],
    "CodeElement": [
      "def",
      "class"
    ]
  },
  "$orderBy": [
    {
      "field": "filename",
      "sortOrder": "ASC"
    }
  ],
  "includeFacets": true
}

Пример ответа

{
  "count": 1,
  "results": [
    {
      "fileName": "CodeSearchController.cs",
      "path": "/CodeSearchController.cs",
      "matches": {
        "content": [
          {
            "charOffset": 1187,
            "length": 20
          },
          {
            "charOffset": 1395,
            "length": 20
          },
          {
            "charOffset": 1686,
            "length": 20
          }
        ],
        "fileName": [
          {
            "charOffset": 0,
            "length": -1
          }
        ]
      },
      "collection": {
        "name": "DefaultCollection"
      },
      "project": {
        "name": "MyFirstProject",
        "id": "00000000-0000-0000-0000-000000000000"
      },
      "repository": {
        "name": "MyFirstProject",
        "id": "c1548045-29f6-4354-8114-55ef058be1a3",
        "type": "git"
      },
      "versions": [
        {
          "branchName": "master",
          "changeId": "47e1cc8877baea4b7bb33af803d6cc697914f88b"
        }
      ],
      "contentId": "004898f1ad91c9c2a0f492f2d1174468bc3c84ef"
    }
  ],
  "infoCode": 0,
  "facets": {
    "Project": [
      {
        "name": "MyFirstProject",
        "id": "MyFirstProject",
        "resultCount": 1
      }
    ],
    "Repository": [
      {
        "name": "MyFirstProject",
        "id": "MyFirstProject",
        "resultCount": 1
      }
    ],
    "CodeElement": [
      {
        "name": "Class",
        "id": "class",
        "resultCount": 1
      },
      {
        "name": "Comment",
        "id": "comment",
        "resultCount": 1
      },
      {
        "name": "Definition",
        "id": "def",
        "resultCount": 1
      }
    ]
  }
}

Определения

Имя Описание
CodeResult

Определяет результат кода, содержащий сведения о поисковых файлах и его метаданных.

CodeSearchRequest

Определяет запрос поиска кода.

CodeSearchResponse

Определяет элемент ответа поиска кода.

Collection

Определяет сведения о коллекции.

Project

Определяет сведения о проекте.

Repository

Определяет сведения о репозитории.

SortOption

Определяет, как сортировать результат.

Version

Описание сведений, относящихся к версии файла результата.

VersionControlType

Тип элемента управления версиями файла результатов.

CodeResult

Определяет результат кода, содержащий сведения о поисковых файлах и его метаданных.

Имя Тип Описание
collection

Collection

Коллекция результирующих файлов.

contentId

string

ContentId файла результатов.

fileName

string

Имя файла результата.

matches

object

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

path

string

Путь к файлу результата.

project

Project

Проект файла результата.

repository

Repository

Репозиторий результирующий файл.

versions

Version[]

Версии файла результатов.

CodeSearchRequest

Определяет запрос поиска кода.

Имя Тип Описание
$orderBy

SortOption[]

Параметры сортировки результатов поиска. Если задано значение NULL, результаты будут возвращены по релевантности. Если указано несколько вариантов сортировки, результаты сортируются в порядке, указанном в OrderBy.

$skip

integer (int32)

Количество пропущенных результатов.

$top

integer (int32)

Количество возвращаемых результатов.

filters

object

Примененные фильтры. Задайте для него значение NULL, если не применяются фильтры.

includeFacets

boolean

Флаг, чтобы выбрать аспект в результате. Поведение по умолчанию — false.

includeSnippet

boolean

Флаг, чтобы выбрать включение соответствующего фрагмента кода в результат. Поведение по умолчанию — false.

searchText

string

Текст поиска.

CodeSearchResponse

Определяет элемент ответа поиска кода.

Имя Тип Описание
count

integer (int32)

Общее количество сопоставленных файлов.

facets

object

Словарь, в котором хранится массив объектов Filter по каждому аспекту.

infoCode

integer (int32)

Числовый код, указывающий любую дополнительную информацию: 0 – ОК, 1 . Учетная запись переиндексирована, 2 - Индексирование учетной записи не запущено, 3 - Недопустимый запрос, 4 - Запрос подстановочного знака префикса не поддерживается, 5 - MultiWords с аспектом кода, 6 - учетная запись подключена, 7 - учетная запись подключена или повторно выполнена повторно, 8 - Максимальное значение, сокращенное до максимально допустимого 9 - Ветви индексируются, 10 . Аспекты не включены, 11 — рабочие элементы недоступны, 19 — запросы фраз с фильтрами типов кода не поддерживаются, 20 — запросы подстановочных знаков с фильтрами типов кода не поддерживаются. Любой другой код информации используется для внутренней цели.

results

CodeResult[]

Список сопоставленных файлов.

Collection

Определяет сведения о коллекции.

Имя Тип Описание
name

string

Имя коллекции.

Project

Определяет сведения о проекте.

Имя Тип Описание
id

string (uuid)

Идентификатор проекта.

name

string

Имя проекта.

Repository

Определяет сведения о репозитории.

Имя Тип Описание
id

string

Идентификатор репозитория.

name

string

Имя репозитория.

type

VersionControlType

Тип элемента управления версиями файла результатов.

SortOption

Определяет, как сортировать результат.

Имя Тип Описание
field

string

Имя поля, для которого необходимо выполнить сортировку.

sortOrder

string

Порядок (ASC/DESC), в котором должны быть отсортированы результаты.

Version

Описание сведений, относящихся к версии файла результата.

Имя Тип Описание
branchName

string

Имя ветви.

changeId

string

ChangeId в данной ветви, связанной с этим совпадением.

VersionControlType

Тип элемента управления версиями файла результатов.

Значение Описание
git
tfvc
custom

Для внутреннего использования.